https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100556
Bug ID: 100556 Summary: ICE: in gimplify_expr, at gimplify.c:14868 Product: gcc Version: tree-ssa Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: cnsun at uwaterloo dot ca Target Milestone: --- $ gcc-trunk -v Using built-in specs. COLLECT_GCC=gcc-trunk COLLECT_LTO_WRAPPER=/scratch/software/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/configure --enable-languages=c,c++,lto --enable-checking-yes --enable-multiarch --prefix=/scratch/software/gcc-trunk --disable-bootstrap Thread model: posix Supported LTO compression algorithms: zlib gcc version 12.0.0 20210511 (experimental) [master revision :61d4686bb:71d38ec80008afdbb9a059253407d80598b765c0] (GCC) $ cat mutant.c f2() { return __transaction_atomic(f() == 0); } $ gcc-trunk -O0 mutant.c mutant.c:1:1: warning: return type defaults to ‘int’ [-Wimplicit-int] 1 | f2() { return __transaction_atomic(f() == 0); } | ^~ mutant.c: In function ‘f2’: mutant.c:1:36: warning: implicit declaration of function ‘f’; did you mean ‘f2’? [-Wimplicit-function-declaration] 1 | f2() { return __transaction_atomic(f() == 0); } | ^ | f2 mutant.c:1:15: error: ‘__transaction_atomic’ without transactional memory support enabled 1 | f2() { return __transaction_atomic(f() == 0); } | ^~~~~~~~~~~~~~~~~~~~ mutant.c:1:36: internal compiler error: in gimplify_expr, at gimplify.c:14868 1 | f2() { return __transaction_atomic(f() == 0); } | ^~~ 0x6daa38 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:14868 0xc24eb1 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:14838 0xc2531f gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:14388 0xc358b7 gimplify_modify_expr /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:5818 0xc25118 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:14083 0xc28a4a gimplify_stmt(tree_node**, gimple**) /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:6877 0xc2927e gimplify_bind_expr /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:1421 0xc254b3 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:14284 0xc28a4a gimplify_stmt(tree_node**, gimple**) /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:6877 0xc27bf8 gimplify_and_add(tree_node*, gimple**) /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:489 0xc27bf8 gimplify_and_return_first /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:501 0xc27bf8 gimplify_transaction /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:13703 0xc27bf8 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:14711 0xc358b7 gimplify_modify_expr /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:5818 0xc25118 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:14083 0xc28a4a gimplify_stmt(tree_node**, gimple**) /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:6877 0xc341ed gimplify_and_add(tree_node*, gimple**) /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:489 0xc341ed gimplify_return_expr /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:1671 0xc25dbf gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:14345 0xc28a4a gimplify_stmt(tree_node**, gimple**) /tmp/tmp.BriefQJ2R3-gcc-builder/gcc/gcc/gimplify.c:6877 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.