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