https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88970
Bug ID: 88970 Summary: ICE: verify_ssa failed (error: definition in block 2 follows the use) Product: gcc Version: unknown Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- g++-9.0.0-alpha20190120 snapshot (r268107) ICEs when compiling the following snippet: template <typename T> int b (T); void d () { typedef int e[b (1)]; e f; int c; [&] { c = sizeof (f); [&] { c = sizeof (f); } (); } (); } % g++-9.0.0-alpha20190120 -c tc1ytzqq.cpp tc1ytzqq.cpp: In lambda function: tc1ytzqq.cpp:19:1: error: definition in block 2 follows the use 19 | } | ^ for SSA_NAME: _1 in statement: _1 = _1 + 1; during GIMPLE pass: ssa tc1ytzqq.cpp:19:1: internal compiler error: verify_ssa failed 0x11be57f verify_ssa(bool, bool) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/tree-ssa.c:1188 0xebec5d execute_function_todo /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/passes.c:1984 0xebfa5e execute_todo /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/passes.c:2031 But it may have a number of duplicates already…