https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89135

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2019-01-31
                 CC|                            |jakub at gcc dot gnu.org
   Target Milestone|---                         |7.5
            Summary|internal compiler error: in |[7/8/9 Regression] internal
                   |gimple_split_edge, at       |compiler error: in
                   |tree-cfg.c:2747             |gimple_split_edge, at
                   |                            |tree-cfg.c:2747
     Ever confirmed|0                           |1

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Started with r246500.  Note, GCC 6 is not supported anymore.
Reduced testcase:
typedef __INTPTR_TYPE__ intptr_t;
intptr_t a, b, c, d;
int foo (void) { return 0; }
int baz (void);

void
bar (void) {
  intptr_t g = (intptr_t) &&h;
  void *i = &&j, *k = &&l;
j:
  if (baz ()) {
    intptr_t **n = (intptr_t **) &a;
  l:
    b = 0;
    for (; b >= 0;)
      goto *k;
  h:
    **n = 0;
    for (;;) {
      intptr_t *o = &c;
      g = foo ();
      *o = g;
      if (c)
        goto *d;
    }
  }
  goto *i;
}

Reply via email to