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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2014-03-20
                 CC|                            |jakub at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Slightly more reduced -m32 -g -O2:

struct A
{
  int foo () const;
  int bar () const;
  struct { int d; } a;
};

struct B
{
  int foo ();
  int bar ();
};

int *c, d;

int
A::foo () const
{
  int b = a.d >> 16;
  return b;
}

int
A::bar () const
{
  int b = a.d;
  return b;
}

void
baz (A &x, B h)
{
  for (int i; i < h.bar (); ++i)
    for (int j; h.foo (); ++j)
      {
        int g = x.foo ();
        int f = x.bar ();
        int e = c[0] & 1;
        d = e << 1 | g << 16 | f & 1;
        c[j] = 0;
      }
}

Started with r204212.

Reply via email to