https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71606
Bug ID: 71606 Summary: ICE on -O2 and above on x86_64-linux-gnu (internal compiler error: in get_expr_operands, at tree-ssa-operands.c:882) Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: chengniansun at gmail dot com Target Milestone: --- This is a regression. gcc-4.8 also crashes. $: gcc-trunk -v Using built-in specs. COLLECT_GCC=gcc-trunk COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-source-trunk/configure --enable-languages=c,c++,lto --prefix=/usr/local/gcc-trunk --disable-bootstrap Thread model: posix gcc version 7.0.0 20160621 (experimental) [trunk revision 237628] (GCC) $: $: gcc-trunk -O2 small.c unhandled expression in get_expr_operands(): <save_expr 0x7fe5fd8c1220 type <complex_type 0x7fe5fd7aef18 complex double type <real_type 0x7fe5fd7ae5e8 double DF size <integer_cst 0x7fe5fd790ca8 constant 64> unit size <integer_cst 0x7fe5fd790cc0 constant 8> align 64 symtab 0 alias set -1 canonical type 0x7fe5fd7ae5e8 precision 64 pointer_to_this <pointer_type 0x7fe5fd7ae7e0>> DC size <integer_cst 0x7fe5fd790cf0 constant 128> unit size <integer_cst 0x7fe5fd790d08 constant 16> align 64 symtab 0 alias set -1 canonical type 0x7fe5fd7aef18> side-effects arg 0 <ssa_name 0x7fe5fd799900 type <complex_type 0x7fe5fd7aef18 complex double> visiteddef_stmt a.0_1 = a; version 1>> small.c: In function ‘main’: small.c:5:3: internal compiler error: in get_expr_operands, at tree-ssa-operands.c:882 fn1 (a); ^~~~~~~ 0xd40154 get_expr_operands ../../gcc-source-trunk/gcc/tree-ssa-operands.c:882 0xd3f81f get_expr_operands ../../gcc-source-trunk/gcc/tree-ssa-operands.c:769 0xd40939 parse_ssa_operands ../../gcc-source-trunk/gcc/tree-ssa-operands.c:932 0xd422ca build_ssa_operands ../../gcc-source-trunk/gcc/tree-ssa-operands.c:947 0xd422ca update_stmt_operands(function*, gimple*) ../../gcc-source-trunk/gcc/tree-ssa-operands.c:1081 0x926466 update_stmt_if_modified ../../gcc-source-trunk/gcc/gimple-ssa.h:185 0x926466 update_modified_stmt ../../gcc-source-trunk/gcc/gimple-iterator.c:44 0x926466 gsi_insert_after(gimple_stmt_iterator*, gimple*, gsi_iterator_update) ../../gcc-source-trunk/gcc/gimple-iterator.c:545 0xc2d157 insert_init_stmt ../../gcc-source-trunk/gcc/tree-inline.c:3054 0xc3a788 setup_one_parameter ../../gcc-source-trunk/gcc/tree-inline.c:3221 0xc3b965 initialize_inlined_parameters ../../gcc-source-trunk/gcc/tree-inline.c:3248 0xc3b965 expand_call_inline ../../gcc-source-trunk/gcc/tree-inline.c:4590 0xc3d644 gimple_expand_calls_inline ../../gcc-source-trunk/gcc/tree-inline.c:4849 0xc3d644 optimize_inline_calls(tree_node*) ../../gcc-source-trunk/gcc/tree-inline.c:4989 0x12c1132 early_inliner(function*) ../../gcc-source-trunk/gcc/ipa-inline.c:2725 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. $: $: gcc-trunk small.c $: $: cat small.c _Complex a; void fn1 (); int main () { fn1 (a); return 0; } void fn1 (__complex__ long double p1) { __imag__ p1 = 6.0L; } $: