1/* PR tree-optimization/58209 */ 2 3extern void abort (void); 4typedef __INTPTR_TYPE__ T; 5T buf[1024]; 6 7T * 8foo (T n) 9{ 10 if (n == 0) 11 return (T *) buf; 12 T s = (T) foo (n - 1); 13 return (T *) (s + sizeof (T)); 14} 15 16T * 17bar (T n) 18{ 19 if (n == 0) 20 return buf; 21 return foo (n - 1) + 1; 22} 23 24int 25main () 26{ 27 int i; 28 for (i = 0; i < 27; i++) 29 if (foo (i) != buf + i || bar (i) != buf + i) 30 abort (); 31 return 0; 32} 33