assert(a)1 void assert (a) {if (a != 1) abort ();}
2 
h1(int * p)3 int h1 (int *p) {return *p & 255;}
4 
p1()5 void p1 () {int a = 0x01020304; assert (h1 (&a) == 0x04);}
6 
7 
h2(a)8 int h2 (a) {return a > 0;}
9 
p2()10 p2 () {assert (h2 (1));}
11 
h3(int * p)12 h3 (int *p)
13 {
14   *p |= 255;
15 }
16 
p3()17 p3 ()
18 {
19   int *p;
20   h3 (p);
21 }
22 
main()23 main ()
24 {
25   p1 ();
26   p2 ();
27   p3 ();
28   puts ("Compiler test passed.");
29 }
30