1193882Syongari/* Verify that we do not IPA-SRA bitfields. */ 2193882Syongari/* { dg-do run } */ 3193882Syongari/* { dg-options "-O2" } */ 4193882Syongari/* { dg-require-effective-target int32plus } */ 5193882Syongari 6193882Syongariextern void abort (void); 7193882Syongari 8193882Syongaristruct S 9193882Syongari{ 10193882Syongari int j : 8; 11193882Syongari int i : 24; 12193882Syongari int l; 13193882Syongari}; 14193882Syongari 15193882Syongaristatic int __attribute__((noinline)) foo (struct S *s) 16193882Syongari{ 17193882Syongari int z = s->i; 18193882Syongari if (z != 777) 19193882Syongari abort (); 20193882Syongari return 0; 21193882Syongari} 22193882Syongari 23193882Syongariint __attribute__((noinline)) bar (struct S *s) 24193882Syongari{ 25193882Syongari return foo (s); 26193882Syongari} 27312360Syongari 28193882Syongariint main (int argc, char *argv[]) 29193882Syongari{ 30193882Syongari struct S s; 31193882Syongari s.j = 5; 32272731Syongari s.i = 777; 33193882Syongari s.l = -1; 34193882Syongari 35193882Syongari return bar (&s); 36193882Syongari} 37193882Syongari