modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/20060929-1.c (about) 1 /* PR c/29154 */ 2 3 extern void abort (void); 4 5 void 6 foo (int **p, int *q) 7 { 8 *(*p++)++ = *q++; 9 } 10 11 void 12 bar (int **p, int *q) 13 { 14 **p = *q++; 15 *(*p++)++; 16 } 17 18 void 19 baz (int **p, int *q) 20 { 21 **p = *q++; 22 (*p++)++; 23 } 24 25 int 26 main (void) 27 { 28 int i = 42, j = 0; 29 int *p = &i; 30 foo (&p, &j); 31 if (p - 1 != &i || j != 0 || i != 0) 32 abort (); 33 i = 43; 34 p = &i; 35 bar (&p, &j); 36 if (p - 1 != &i || j != 0 || i != 0) 37 abort (); 38 i = 44; 39 p = &i; 40 baz (&p, &j); 41 if (p - 1 != &i || j != 0 || i != 0) 42 abort (); 43 return 0; 44 }