/* { dg-do run } */ /* { dg-additional-options "-ftree-slp-vectorize" } */ extern void abort (void); static struct X { void *a; void *b; } a, b; static struct X *p; void __attribute__((noinline)) foo (void) { void *tem = a.b; p->b = (void *)0; b.b = tem; b.a = a.a; } int main() { p = &a; a.b = &a; foo (); if (b.b != &a) abort (); return 0; }