1 /* { dg-options "-O0" } */ 2 3 /* C99 6.5.8 Relational operators. 4 Compare decimal float values against variables of different types. */ 5 6 #include "dfp-dbg.h" 7 8 _Decimal32 d32; 9 _Decimal64 d64; 10 _Decimal128 d128; 11 12 /* Use some typedefs of decimal float types, too. */ 13 typedef _Decimal32 SDtype; 14 typedef _Decimal64 DDtype; 15 typedef _Decimal128 TDtype; 16 17 SDtype d32b; 18 DDtype d64b; 19 TDtype d128b; 20 21 void inits(void)22inits (void) 23 { 24 d32 = 1.0df; 25 d64 = 3.0dd; 26 d128 = 5.0dl; 27 d32b = -1.0df; 28 d64b = -4.0dd; 29 d128b = -6.0dl; 30 } 31 32 void compare_dfp(void)33compare_dfp (void) 34 { 35 if ((d32 > d64) != 0) FAILURE 36 if ((d32 >= d128b) != 1) FAILURE 37 38 if ((d64 < d32) != 0) FAILURE 39 if ((d64 <= d128) != 1) FAILURE 40 41 if ((d128 > d32) != 1) FAILURE 42 if ((d128 >= d64) != 1) FAILURE 43 } 44 45 int main()46main () 47 { 48 inits (); 49 50 compare_dfp (); 51 52 FINISH 53 } 54