https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123419

            Bug ID: 123419
           Summary: d: internal compiler error: in visit, at
                    d/expr.cc:2224
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: d
          Assignee: ibuclaw at gdcproject dot org
          Reporter: ibuclaw at gcc dot gnu.org
  Target Milestone: ---

```
struct S {}

void foo(T)(T _) {}

void bar()
{   
    foo(__traits(initSymbol, S));
}
```

The var expression fails this assertion.

    gcc_assert (e->type->isConst ()
                && e->type->nextOf ()->ty == TY::Tvoid);

Backtrace:

0xc01154 ExprVisitor::visit(VarExp*)
        ../../gcc/d/expr.cc:2224
0xbfbf1e build_expr(Expression*, bool, bool)
        ../../gcc/d/expr.cc:3071
0xbe343b d_build_call(TypeFunction*, tree_node*, tree_node*,
Array<Expression*>*)
        ../../gcc/d/d-codegen.cc:2200
0xbfe122 ExprVisitor::visit(CallExp*)
        ../../gcc/d/expr.cc:1788
0xbfbf1e build_expr(Expression*, bool, bool)
        ../../gcc/d/expr.cc:3071
0xbfbfd7 build_expr_dtor(Expression*)
        ../../gcc/d/expr.cc:3094
0xc0c1b5 IRVisitor::visit(ExpStatement*)
        ../../gcc/d/toir.cc:1075
0xc0c131 IRVisitor::build_stmt(Statement*)
        ../../gcc/d/toir.cc:274
0xc0c131 IRVisitor::visit(CompoundStatement*)
        ../../gcc/d/toir.cc:1092
0xc0c131 IRVisitor::visit(CompoundStatement*)
        ../../gcc/d/toir.cc:1082
0xc0b51a IRVisitor::build_stmt(Statement*)
        ../../gcc/d/toir.cc:274
0xc0b51a build_function_body(FuncDeclaration*)
        ../../gcc/d/toir.cc:1504
0xbfaa54 DeclVisitor::visit(FuncDeclaration*)
        ../../gcc/d/decl.cc:1038
0xbf44b1 DeclVisitor::build_dsymbol(Dsymbol*)
        ../../gcc/d/decl.cc:253
0xbf44b1 build_decl_tree(Dsymbol*)
        ../../gcc/d/decl.cc:1079
0xc08c20 build_module_tree(Module*)
        ../../gcc/d/modules.cc:739
0xbf809b DeclVisitor::visit(Module*)
        ../../gcc/d/decl.cc:270
0xbf44b1 DeclVisitor::build_dsymbol(Dsymbol*)
        ../../gcc/d/decl.cc:253
0xbf44b1 build_decl_tree(Dsymbol*)
        ../../gcc/d/decl.cc:1079
0xbf02ac d_parse_file
        ../../gcc/d/d-lang.cc:1407

Reply via email to