modernc.org/cc@v1.0.1/v2/testdata/bug/1.c (about) 1 #include <assert.h> 2 extern void abort (void); 3 4 void f1(int *ip) { 5 *ip = 24; 6 } 7 8 void t1() { 9 int i = 42; 10 assert(i == 42); 11 f1(&i); 12 assert(i == 24); 13 } 14 15 void t2() { 16 int i = 42; 17 int *ip = &i; 18 assert(i == 42); 19 assert(*ip == 42); 20 assert(ip == &i); 21 f1(ip); 22 assert(i == 24); 23 } 24 25 void f3(int **ipp) { 26 **ipp = 24; 27 } 28 29 void t3() { 30 int i = 42; 31 int *ip = &i; 32 assert(i == 42); 33 assert(*ip == 42); 34 assert(ip == &i); 35 f3(&ip); 36 assert(i == 24); 37 } 38 39 void f4(int **ipp) { 40 } 41 42 void t4() { 43 int i = 42; 44 int *ip = &i; 45 assert(i == 42); 46 assert(*ip == 42); 47 assert(ip == &i); 48 f4(&ip); 49 } 50 51 int main (void) { 52 t1(); 53 t2(); 54 t3(); 55 t4(); 56 return 0; 57 }