July 14, 2018
https://bugzilla.gdcproject.org/show_bug.cgi?id=298

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED

--- Comment #1 from Iain Buclaw <ibuclaw@gdcproject.org> ---
Full traceback.
---
bug298.d: In function ‘ProjectGenerator’:
bug298.d:19:24: internal compiler error: in add_expr, at tree.c:7454
     collectDependencies(targets[Package.init.name]);
                        ^
0x71dab3 inchash::add_expr(tree_node const*, inchash::hash&, unsigned int)
        ../../dev/gcc/tree.c:7454
0x104250c inchash::add_expr(tree_node const*, inchash::hash&, unsigned int)
        ../../dev/gcc/tree.c:7528
0x1042245 inchash::add_expr(tree_node const*, inchash::hash&, unsigned int)
        ../../dev/gcc/tree.c:7528
0x104250c inchash::add_expr(tree_node const*, inchash::hash&, unsigned int)
        ../../dev/gcc/tree.c:7528
0x1042245 inchash::add_expr(tree_node const*, inchash::hash&, unsigned int)
        ../../dev/gcc/tree.c:7528
0xaa6466 operand_equal_p(tree_node const*, tree_node const*, unsigned int)
        ../../dev/gcc/fold-const.c:2930
0xaa8b06 operand_equal_for_comparison_p
        ../../dev/gcc/fold-const.c:3537
0xab4ddd fold_ternary_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*, tree_node*)
        ../../dev/gcc/fold-const.c:11425
0xab5f4d fold_build3_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*, tree_node*)
        ../../dev/gcc/fold-const.c:12384
0xac0987 fold_unary_loc(unsigned int, tree_code, tree_node*, tree_node*)
        ../../dev/gcc/fold-const.c:7800
0xac2ad9 fold_build1_loc(unsigned int, tree_code, tree_node*, tree_node*)
        ../../dev/gcc/fold-const.c:12278
0x8f14e5 convert(tree_node*, tree_node*)
        ../../dev/gcc/d/d-convert.cc:283
0x8ee2fb d_build_call(TypeFunction*, tree_node*, tree_node*,
Array<Expression*>*)
        ../../dev/gcc/d/d-codegen.cc:1980
0x9057eb ExprVisitor::visit(CallExp*)
        ../../dev/gcc/d/expr.cc:1847
0x903114 build_expr(Expression*, bool)
        ../../dev/gcc/d/expr.cc:3091
0x9031d1 build_expr_dtor(Expression*)
        ../../dev/gcc/d/expr.cc:3113
0x911e21 IRVisitor::visit(ExpStatement*)
        ../../dev/gcc/d/toir.cc:1013
0x911b5c IRVisitor::build_stmt(Statement*)
        ../../dev/gcc/d/toir.cc:254
0x911b5c IRVisitor::visit(CompoundStatement*)
        ../../dev/gcc/d/toir.cc:1030
0x911b5c IRVisitor::build_stmt(Statement*)
        ../../dev/gcc/d/toir.cc:254
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

-- 
You are receiving this mail because:
You are watching all bug changes.
July 14, 2018
https://bugzilla.gdcproject.org/show_bug.cgi?id=298

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Hardware|x86_64                      |All
                 OS|Linux                       |All

--- Comment #2 from Iain Buclaw <ibuclaw@gdcproject.org> ---
The ICE occurs as we generate the following code:

   _aaGetRvalueX (targets, &_D12TypeInfo_Aya6__initZ, 16, &name (&{}))

The last parameter is a function call, and we erroneously attempt to use it as an lvalue.

ICE in question specifically does not like the double `&` when generating a hash for the expression `&name (&{})`

-- 
You are receiving this mail because:
You are watching all bug changes.