1 /* { dg-do run } */ 2 /* { dg-additional-options "-ftree-slp-vectorize" } */ 3 4 extern void abort (void); 5 6 static struct X { void *a; void *b; } a, b; 7 static struct X *p; 8 9 void __attribute__((noinline)) foo(void)10foo (void) 11 { 12 void *tem = a.b; 13 p->b = (void *)0; 14 b.b = tem; 15 b.a = a.a; 16 } 17 main()18int main() 19 { 20 p = &a; 21 a.b = &a; 22 foo (); 23 if (b.b != &a) 24 abort (); 25 return 0; 26 } 27