http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57793

--- Comment #5 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Note that something like this ICEs the C compiler too:

struct A { _Bool a : 1; _Bool b : 1; };
struct B
{
  unsigned char c[0x40000000];
  unsigned char d[0x40000ff0];
  struct A e;
};

void *foo (struct B *p)
{
  if (p->e.a)
    return (void *) 0;
  p->e.b = 1;
  return p->c;
}

void
bar (struct B *p)
{
  foo (p);
}

thus I wonder if the check belongs to the front-end(s) or not. Opinions?

Reply via email to