FSF GCC merge 02/23/03
[official-gcc.git] / gcc / testsuite / gcc.dg / 980217-1.c
blob6d56d833c8242695a74f1a8a7a7d458de0a91a9a
1 /* Test float on alpha. */
3 /* { dg-do run { target alpha*-*-* } } */
4 /* { dg-options "-mieee -O2" } */
6 extern void abort(void);
8 typedef int int32_t __attribute__ ((__mode__ ( __SI__ ))) ;
9 typedef union
11 float value;
12 int32_t word;
13 } ieee_float_shape_type;
15 int isinff(float x)
17 int32_t ix,t;
18 ieee_float_shape_type gf_u;
19 gf_u.value = x;
20 ix = gf_u.word;
21 printf ("%x\n", ix);
22 t = ix & 0x7fffffff;
23 t ^= 0x7f800000;
24 t |= -t;
25 return ~(t >> 31) & (1 - ((ix & 0x80000000) >> 30));
28 main ()
30 float x = 1.0 / 0.0;
31 int i = isinff (x);
33 if (i == 0)
34 abort ();
36 printf ("%d\n", i);
37 return 0;