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

            Bug ID: 101490
           Summary: ICE at convert_expr(tree_node*, Type*, Type*)
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: d
          Assignee: ibuclaw at gdcproject dot org
          Reporter: SztfG at yandex dot ru
  Target Milestone: ---

testcase:

import std.stdio;

struct test
{
  int[0] foo;
};

void main()
{
  test* t;
  auto a = cast(typeof((*t).foo)[0])t.foo;
  writeln(a);
}


/opt/wandbox/gdc-head/lib/gcc/x86_64-pc-linux-gnu/12.0.0/include/d/std/format.d:
In function 'formatValue':
/opt/wandbox/gdc-head/lib/gcc/x86_64-pc-linux-gnu/12.0.0/include/d/std/format.d:2605:23:
internal compiler error: Floating point exception
 2605 |     formatValue(w, obj[], f);
      |                       ^
0xc2df5f crash_signal
        ../../source/gcc/toplev.c:328
0x7b78c4 convert_expr(tree_node*, Type*, Type*)
        ../../source/gcc/d/d-convert.cc:476
0x7c9a5e ExprVisitor::visit(SliceExp*)
        ../../source/gcc/d/expr.cc:1382
0x7c74c0 build_expr(Expression*, bool, bool)
        ../../source/gcc/d/expr.cc:3129
0x7b60d1 d_build_call(TypeFunction*, tree_node*, tree_node*,
Array<Expression*>*)
        ../../source/gcc/d/d-codegen.cc:2042
0x7c8f34 ExprVisitor::visit(CallExp*)
        ../../source/gcc/d/expr.cc:1886
0x7c74c0 build_expr(Expression*, bool, bool)
        ../../source/gcc/d/expr.cc:3129
0x7c755b build_expr_dtor(Expression*)
        ../../source/gcc/d/expr.cc:3152
0x7d3cf1 IRVisitor::visit(ExpStatement*)
        ../../source/gcc/d/toir.cc:1120
0x7d37bf IRVisitor::build_stmt(Statement*)
        ../../source/gcc/d/toir.cc:274
0x7d37bf IRVisitor::visit(CompoundStatement*)
        ../../source/gcc/d/toir.cc:1137
0x7d37bf IRVisitor::visit(CompoundStatement*)
        ../../source/gcc/d/toir.cc:1127
0x7d2e12 IRVisitor::build_stmt(Statement*)
        ../../source/gcc/d/toir.cc:274
0x7d2e12 build_function_body(FuncDeclaration*)
        ../../source/gcc/d/toir.cc:1549
0x7c6623 DeclVisitor::visit(FuncDeclaration*)
        ../../source/gcc/d/decl.cc:945
0x7c5b2f DeclVisitor::build_dsymbol(Dsymbol*)
        ../../source/gcc/d/decl.cc:146
0x7c5b2f DeclVisitor::visit(TemplateInstance*)
        ../../source/gcc/d/decl.cc:341
0x7c5b2f DeclVisitor::visit(TemplateInstance*)
        ../../source/gcc/d/decl.cc:332
0x7c31d6 DeclVisitor::build_dsymbol(Dsymbol*)
        ../../source/gcc/d/decl.cc:146
0x7c31d6 build_decl_tree(Dsymbol*)
        ../../source/gcc/d/decl.cc:986
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.

Reply via email to