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); | |
} |