/* { dg-do run } */ /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */ extern void abort (void); struct X { int *p; int *q; }; int foo(void) { int i = 0, j = 1; struct X x, y; int **p; y.p = &i; x.q = &j; p = __builtin_mempcpy (&x, &y, sizeof (int *)); return **p; } int main() { if (foo() != 1) abort (); return 0; }