1 /* DO NOT EDIT THIS FILE. 2 3 It has been auto-edited by fixincludes from: 4 5 "fixinc/tests/inc/bits/floatn.h" 6 7 This had to be done to correct non-standard usages in the 8 original, manufacturer supplied header file. */ 9 10 11 12 #if defined( GLIBC_CXX_FLOATN_1_CHECK ) 13 # if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) 14 /* The literal suffix f128 exists only since GCC 7.0. */ 15 # define __f128(x) x##l 16 # else 17 # define __f128(x) x##f128 18 # endif 19 # if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) 20 /* The literal suffix (f128) exist for powerpc only since GCC 7.0. */ 21 # if __LDBL_MANT_DIG__ == 113 22 # define __f128(x) x##l 23 # else 24 # define __f128(x) x##q 25 # endif 26 # else 27 # define __f128(x) x##f128 28 # endif 29 # if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) 30 # ifdef __NO_LONG_DOUBLE_MATH 31 # define __f64(x) x##l 32 # else 33 # define __f64(x) x 34 # endif 35 # else 36 # define __f64(x) x##f64 37 # endif 38 #endif /* GLIBC_CXX_FLOATN_1_CHECK */ 39 40 41 #if defined( GLIBC_CXX_FLOATN_2_CHECK ) 42 # if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) 43 typedef float _Float16 __attribute__ ((__mode__ (__HF__))); 44 # endif 45 # if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) 46 typedef __float128 _Float128; 47 # endif 48 # if 0 49 # elif !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) 50 typedef __float128 _Float128; 51 # endif 52 #endif /* GLIBC_CXX_FLOATN_2_CHECK */ 53 54 55 #if defined( GLIBC_CXX_FLOATN_3_CHECK ) 56 # if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) 57 # define __CFLOAT128 _Complex long double 58 # else 59 # define __CFLOAT128 _Complex _Float128 60 # endif 61 # if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) 62 /* Add a typedef for older GCC compilers which don't natively support 63 _Complex _Float128. */ 64 typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); 65 # define __CFLOAT128 __cfloat128 66 # else 67 # define __CFLOAT128 _Complex _Float128 68 # endif 69 # if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) 70 # ifdef __NO_LONG_DOUBLE_MATH 71 # define __CFLOAT64 _Complex long double 72 # else 73 # define __CFLOAT64 _Complex double 74 # endif 75 # else 76 # define __CFLOAT64 _Complex _Float64 77 # endif 78 #endif /* GLIBC_CXX_FLOATN_3_CHECK */ 79 80 81 #if defined( GLIBC_CXX_FLOATN_4_CHECK ) 82 # if __LDBL_MANT_DIG__ == 113 && defined __cplusplus && !__GNUC_PREREQ (13, 0) 83 typedef long double _Float128; 84 # define __CFLOAT128 _Complex long double 85 # endif 86 #endif /* GLIBC_CXX_FLOATN_4_CHECK */ 87 88 89 #if defined( GLIBC_CXX_FLOATN_5_CHECK ) 90 # if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) 91 # error "_Float128X supported but no constant suffix" 92 # endif 93 # if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) 94 # error "_Float128x supported but no type" 95 # endif 96 #endif /* GLIBC_CXX_FLOATN_5_CHECK */ 97