modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/990127-1.c (about)

     1  extern void abort (void);
     2  extern void exit (int);
     3  
     4  main()
     5  {
     6      int a,b,c;
     7      int *pa, *pb, *pc;
     8      int **ppa, **ppb, **ppc;
     9      int i,j,k,x,y,z;
    10  
    11      a = 10;
    12      b = 20;
    13      c = 30;
    14      pa = &a; pb = &b; pc = &c;
    15      ppa = &pa; ppb = &pb; ppc = &pc;
    16      x = 0; y = 0; z = 0;
    17  
    18      for(i=0;i<10;i++){
    19          if( pa == &a ) pa = &b;
    20          else pa = &a;
    21          while( (*pa)-- ){
    22              x++;
    23              if( (*pa) < 3 ) break;
    24              else pa = &b;
    25          }
    26          x++;
    27          pa = &b;
    28      }
    29  
    30      if ((*pa) != -5 || (*pb) != -5 || x != 43)
    31        abort ();
    32  
    33      exit (0);
    34  }