https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111650
Bug ID: 111650
Summary: ICE in build_deref, at d/d-codegen.cc:1650
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: d
Assignee: ibuclaw at gdcproject dot org
Reporter: arsen at gcc dot gnu.org
Target Milestone: ---
Created attachment 56020
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56020&action=edit
reduced reproducer, reduced from btdu
the attached code, with gdc -c <file>, produces the following ICE:
~/gcc/d-ice$ /usr/x86_64-pc-linux-gnu/gcc-bin/14/gdc -c
reduced.reduced/btdu/sample.d
reduced.reduced/btdu/sample.d: In function ‘__lambda3’:
reduced.reduced/btdu/sample.d:12:22: internal compiler error: in build_deref,
at d/d-codegen.cc:1650
12 | Root result;
| ^
0x55e60d72b7b0 build_deref(tree_node*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/d-codegen.cc:1650
0x55e60df1a6c6 declare_local_var(VarDeclaration*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/decl.cc:1637
0x55e60df1a9fd DeclVisitor::visit(VarDeclaration*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/decl.cc:850
0x55e60defff7f DeclVisitor::build_dsymbol(Dsymbol*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/decl.cc:254
0x55e60defff7f build_decl_tree(Dsymbol*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/decl.cc:1092
0x55e60df39c39 ExprVisitor::visit(DeclarationExp*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/expr.cc:1946
0x55e60df20560 build_expr(Expression*, bool, bool)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/expr.cc:3025
0x55e60df21a8b build_expr_dtor(Expression*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/expr.cc:3048
0x55e60df29531 IRVisitor::visit(ExpStatement*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/toir.cc:1076
0x55e60df207ef IRVisitor::build_stmt(Statement*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/toir.cc:274
0x55e60df207ef IRVisitor::visit(CompoundStatement*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/toir.cc:1093
0x55e60df207ef IRVisitor::visit(CompoundStatement*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/toir.cc:1083
0x55e60df207ef IRVisitor::build_stmt(Statement*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/toir.cc:274
0x55e60df207ef IRVisitor::visit(CompoundStatement*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/toir.cc:1093
0x55e60df207ef IRVisitor::visit(CompoundStatement*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/toir.cc:1083
0x55e60df2088f IRVisitor::build_stmt(Statement*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/toir.cc:274
0x55e60df2088f build_function_body(FuncDeclaration*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/toir.cc:1505
0x55e60df1b271 DeclVisitor::visit(FuncDeclaration*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/decl.cc:1051
0x55e60defff7f DeclVisitor::build_dsymbol(Dsymbol*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/decl.cc:254
0x55e60defff7f build_decl_tree(Dsymbol*)
/usr/src/debug/sys-devel/gcc-14.0.0_pre20230924/gcc-14-20230924/gcc/d/decl.cc:1092
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://bugs.gentoo.org/> for instructions.
~/gcc/d-ice 1 $
testcase reduced from https://github.com/CyberShadow/btdu
it is possible the reduction went awry, but the backtrace is identical before
and after reduction, so I hope it still homes in on the same bug
I've very little experience with D, so, apologies for the lack of analysis or
additional information.