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…

Reply via email to