https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93046
Bug ID: 93046 Summary: [10 Regression] ICE in cp_gimplify_init_expr Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- g++-10.0.0-alpha20191222 snapshot (r279712) ICEs when compiling the following testcase, reduced from clang/testsuite/CodeGenCXX/cxx1z-copy-omission.cpp (and several others) from the clang 9.0.1 test suite: struct id { id (int); operator bool (); }; id o9 () { return id (1) ?: id (2); } % g++-10.0.0-alpha20191222 -c fxrshtnj.cpp fxrshtnj.cpp: In function 'id o9()': fxrshtnj.cpp:9:25: internal compiler error: Segmentation fault 9 | return id (1) ?: id (2); | ^ 0xf529d0 crash_signal /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/toplev.c:328 0x8939d8 cp_gimplify_init_expr /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/cp/cp-gimplify.c:531 0x8939d8 cp_gimplify_expr(tree_node**, gimple**, gimple**) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/cp/cp-gimplify.c:734 0xccb881 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/gimplify.c:13475 0xccfdf5 gimplify_stmt(tree_node**, gimple**) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/gimplify.c:6814 0xce205d gimplify_cond_expr /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/gimplify.c:4232 0xcccdb6 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/gimplify.c:13523 0xccfdf5 gimplify_stmt(tree_node**, gimple**) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/gimplify.c:6814 0xcd7815 gimplify_and_add(tree_node*, gimple**) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/gimplify.c:486 0xcd7815 gimplify_return_expr /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/gimplify.c:1659 0xccd4a9 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/gimplify.c:13827 0xce5243 gimplify_stmt(tree_node**, gimple**) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/gimplify.c:6814 0xce5243 gimplify_cleanup_point_expr /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/gimplify.c:6556 0xccc7c7 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/gimplify.c:13958 0xce47a4 gimplify_stmt(tree_node**, gimple**) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/gimplify.c:6814 0xce47a4 gimplify_body(tree_node*, bool) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/gimplify.c:14814 0xce4bec gimplify_function_tree(tree_node*) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/gimplify.c:14958 0xb350f2 cgraph_node::analyze() /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/cgraphunit.c:669 0xb379ee analyze_functions /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/cgraphunit.c:1212 0xb385e8 symbol_table::finalize_compilation_unit() /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191222/work/gcc-10-20191222/gcc/cgraphunit.c:2958 r279576 seems to be a possible culprit.