svn merge -r102224:107263 svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-3_4-branch
[official-gcc.git] / gcc / testsuite / gcc.dg / rs6000-ldouble-1.c
blob52d2da802aaeeaee880ca3010544a25e209e5c20
1 /* { dg-do run { target powerpc*-*-darwin* powerpc*-*-aix* powerpc64-*-linux rs6000-*-* } } */
2 /* { dg-options "-mlong-double-128" } */
4 /* Check that long double values are rounded correctly when being converted
5 to 32-bit integers. All these values are of the form +/- 2 +/- 2^-60. */
7 int main(void)
9 long double l1 = 1.9999999999999999991326382620115964527941L;
10 long double l2 = 2.0000000000000000008673617379884035472059L;
11 long double l3 = -2.0000000000000000008673617379884035472059L;
12 long double l4 = -1.9999999999999999991326382620115964527941L;
14 if ((int) l1 != 1)
15 abort ();
16 if ((int) l2 != 2)
17 abort ();
18 if ((int) l3 != -2)
19 abort ();
20 if ((int) l4 != -1)
21 abort ();
22 exit (0);