1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
/* { dg-do run } */ extern void abort (void); int __attribute__((noinline,noclone)) f(int *pi, long *pl) { *pi = 1; *pl = 0; return *(char *)pi; } int main() { union { long l; int i; } a; if (f (&a.i, &a.l) != 0) abort (); return 0; }