1 extern void abort (void);
2 
3 int foo = 0;
4 void *bar = 0;
5 unsigned int baz = 100;
6 
pure_alloc()7 void *pure_alloc ()
8 {
9   void *res;
10 
11   while (1)
12     {
13       res = (void *) ((((unsigned int) (foo + bar))) & ~1);
14       foo += 2;
15       if (foo < baz)
16         return res;
17       foo = 0;
18     }
19 }
20 
main()21 int main ()
22 {
23   pure_alloc ();
24   if (!foo)
25     abort ();
26   return 0;
27 }
28