https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93033
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> --- template <typename T> struct S { S(T *); ~S(); }; struct X { struct C { S<unsigned> d; float e; }; X(); }; S<unsigned> f(S<const char>); X::X() { C a[]{f("")}; } $ ./cc1plus -quiet 93033.C 93033.C: In constructor ‘X::X()’: 93033.C:13:1: error: incorrect sharing of tree nodes 13 | X::X() { C a[]{f("")}; } | ^ *D.2489 D.2489->d = f (&D.2492); [return slot optimization] during GIMPLE pass: cfg 93033.C:13:1: internal compiler error: verify_gimple failed 0x1525a5a verify_gimple_in_cfg(function*, bool) /home/mpolacek/src/gcc/gcc/tree-cfg.c:5445 0x1351abd execute_function_todo /home/mpolacek/src/gcc/gcc/passes.c:1983 0x1350a9a do_per_function /home/mpolacek/src/gcc/gcc/passes.c:1638 0x1351cad execute_todo /home/mpolacek/src/gcc/gcc/passes.c:2037