/* { dg-options "-mno-hard-dfp" { target { s390*-*-* } } } */ /* Check that appropriate exceptions are raised for BFP to DFP conversions. The test only uses double and _Decimal32; tests for conversions to _Decimal64 would need 128-bit long double. */ #include "fe-check.h" volatile _Decimal32 d32; volatile double d; CONVERT (100, d, d32, 1.0e96, FE_INEXACT) CONVERT (101, d, d32, 1.0e97, FE_OVERFLOW|FE_INEXACT) CONVERT (102, d, d32, -1.0e96, FE_INEXACT) CONVERT (103, d, d32, -1.0e97, FE_OVERFLOW|FE_INEXACT) /* FIXME: These only result in fp exceptions when libbid is used. libdecnumber doesn't work correctly. */ CONVERT (104, d, d32, 1.0e-96, FE_UNDERFLOW|FE_INEXACT) CONVERT (105, d, d32, 0.00048828125, FE_INEXACT) /* exact power of 2 */ int main () { convert_100 (); convert_101 (); convert_102 (); convert_103 (); convert_104 (); convert_105 (); FINISH }