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

--- Comment #15 from rguenther at suse dot de <rguenther at suse dot de> 
2011-02-03 09:40:15 UTC ---
On Wed, 2 Feb 2011, pinskia at gcc dot gnu.org wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38564
> 
> --- Comment #14 from Andrew Pinski <pinskia at gcc dot gnu.org> 2011-02-02 
> 22:22:53 UTC ---
> Here is a wrong code with this bug:
> int f(void) __attribute__((noclone, noinline));
> int g(void) __attribute__((noclone, noinline));
> void h(int*) __attribute__((noclone, noinline));
> int t = 0;
> int a[2];
> 
> 
> void h(int *a1)
> {
>   if(a1 != a+(1-t))
>     __builtin_abort();
> }
> int f(void)
> {
>   asm("");
>   return 1;
> }
> int g(void)
> {
>   asm("");
>   return 0;
> }
> int main(void)
> {
>   int *cur = a;
>   while(t<2)
>   {
>     __SIZE_TYPE__ tt = cur == a;
>     int *next = a+tt;
>     h(next);
>     if(f())
>     {
>       if (g())
>         continue;
>       cur = next;
>     }
>     t++;
>   }
> }

You mean still broken or fixed with the fix for this patch?
Can you add it as a testcase?

Thanks,
Richard.

Reply via email to