1193323Sedvoid assert (a) {if (a != 1) abort ();}
2193323Sed
3193323Sedint h1 (int *p) {return *p & 255;}
4193323Sed
5193323Sedvoid p1 () {int a = 0x01020304; assert (h1 (&a) == 0x04);}
6193323Sed
7193323Sed
8193323Sedint h2 (a) {return a > 0;}
9193323Sed
10193323Sedp2 () {assert (h2 (1));}
11193323Sed
12193323Sedh3 (int *p)
13193323Sed{
14193323Sed  *p |= 255;
15193323Sed}
16249423Sdim
17249423Sdimp3 ()
18193323Sed{
19193323Sed  int *p;
20193323Sed  h3 (p);
21193323Sed}
22193323Sed
23218893Sdimmain ()
24193323Sed{
25193323Sed  p1 ();
26193323Sed  p2 ();
27193323Sed  p3 ();
28218893Sdim  puts ("Compiler test passed.");
29193323Sed}
30193323Sed