1extern void abort (void); 2extern void exit (int); 3typedef __UINTPTR_TYPE__ uintptr_t; 4int n = 0; 5int f (void) { return ++n; } 6int 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