1 extern void abort (void); 2 extern void exit (int); 3 typedef __UINTPTR_TYPE__ uintptr_t; 4 int n = 0; f(void)5int f (void) { return ++n; } 6 int main(void)7main (void) 8 { 9 int a = 0; 10 int *p; 11 uintptr_t b; 12 b = (uintptr_t)(p = &(int []){0, f(), 2}[1]); 13 if (*p != 1 || *(int *)b != 1 || n != 1) 14 abort (); 15 exit (0); 16 } 17