| extern void abort (void); | |
| extern void exit (int); | |
| typedef __UINTPTR_TYPE__ uintptr_t; | |
| int n = 0; | |
| int f (void) { return ++n; } | |
| int | |
| main (void) | |
| { | |
| int a = 0; | |
| int *p; | |
| uintptr_t b; | |
| b = (uintptr_t)(p = &(int []){0, f(), 2}[1]); | |
| if (*p != 1 || *(int *)b != 1 || n != 1) | |
| abort (); | |
| exit (0); | |
| } |