FSF GCC merge 02/23/03
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / 981001-1.c
blobda63f4796b87542a284ef852441344858e1e3bb4
1 #define NG 0x100L
3 unsigned long flg = 0;
5 long sub (int n)
7 int a, b ;
9 if (n >= 2)
11 if (n % 2 == 0)
13 a = sub (n / 2);
15 return (a + 2 * sub (n / 2 - 1)) * a;
17 else
19 a = sub (n / 2 + 1);
20 b = sub (n / 2);
22 return a * a + b * b;
25 else
26 return (long) n;
29 int main (void)
31 if (sub (30) != 832040L)
32 flg |= NG;
34 if (flg)
35 abort ();
37 exit (0);