https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90990
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|needs-reduction | --- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> --- Reduced test-case: $ cat godot.ii class A { public: float m_floats; A() {} }; class B { public: A operator[](int); }; class C { B m_basis; public: A operator()(A) { m_basis[1] = m_basis[2]; A a; return a; } }; class D { public: C m_fn1(); }; class F { A m_pivotInB; F(D &, const A &); }; F::F(D &p1, const A &p2) : m_pivotInB(p1.m_fn1()(p2)) {} $ g++ godot.ii -O2 -flto -shared -m32 godot.ii: In member function ‘__ct_base ’: godot.ii:28:1: error: ‘component_ref’ LHS in clobber statement 28 | F::F(D &p1, const A &p2) : m_pivotInB(p1.m_fn1()(p2)) {} | ^ *this_2(D).m_pivotInB # .MEM_16 = VDEF <.MEM_15> *this_2(D).m_pivotInB ={v} {CLOBBER}; during GIMPLE pass: fixup_cfg godot.ii:28:1: internal compiler error: verify_gimple failed 0xcd23f1 verify_gimple_in_cfg(function*, bool) /home/marxin/Programming/gcc/gcc/tree-cfg.c:5426 0xbb212f execute_function_todo /home/marxin/Programming/gcc/gcc/passes.c:1963 0xbb305e execute_todo /home/marxin/Programming/gcc/gcc/passes.c:2017 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. lto-wrapper: fatal error: g++ returned 1 exit status compilation terminated. /usr/bin/ld: error: lto-wrapper failed collect2: error: ld returned 1 exit status