On Mon, Jul 28, 2014 at 08:09:02PM +0200, Markus Trippelsdorf wrote:
> Here's the testcase:
> 
> int a, b, c;
> void fn1 ()
> {
>   int d;
>   if (fn2 () && !0)
>     {
>       b = (
>            {
>            int e;
>            fn3 ();
>            switch (0)
>            default:
>            asm volatile("" : "=a"(e) : "0"(a), "i"(0));
>            e;
>            });
>       d = b;
>     }
>   c = d;
> }

int a, c;
int bar (void);
void baz (void);

void
foo (void)
{
  int d;
  if (bar ())
    {
      int e;
      baz ();
      asm volatile ("" : "=a" (e) : "0" (a), "i" (0));
      d = e;
    }
  c = d;
}

fails the same way and has more creduce cruft removed.
Fails also with 4.7 at -O2 -fcompare-debug.

        Jakub
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to