/* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-fre1-details" } */ struct a { int foo,bar; }; struct b { struct a a[10]; }; struct b b, *bptr=&b, *bptr2=&b; int j; int i; int n=1; int main () { int jj=j; bptr2->a[jj].bar = 0; for (int i=0; ia[i].foo=1; if (!__builtin_constant_p (bptr2->a[jj].bar == 0)) __builtin_abort (); return 0; } /* { dg-final { scan-tree-dump "Replaced __builtin_constant_p \\\(\[^)\]*\\\) with 1" "fre1" } } */