1 //===----------------------------------------------------------------------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 // Before Clang 9.0, <float.h> does not define FLT_HAS_SUBNORM & friends in C++. 10 // XFAIL: clang-4, clang-5, clang-6, clang-7, clang-8 11 12 // test cfloat 13 14 #include <cfloat> 15 16 #include "test_macros.h" 17 18 #ifndef FLT_ROUNDS 19 #error FLT_ROUNDS not defined 20 #endif 21 22 #ifndef FLT_EVAL_METHOD 23 #error FLT_EVAL_METHOD not defined 24 #endif 25 26 #ifndef FLT_RADIX 27 #error FLT_RADIX not defined 28 #endif 29 30 #if TEST_STD_VER > 14 31 #ifndef FLT_HAS_SUBNORM 32 #error FLT_HAS_SUBNORM not defined 33 #endif 34 35 #ifndef DBL_HAS_SUBNORM 36 #error DBL_HAS_SUBNORM not defined 37 #endif 38 39 #ifndef LDBL_HAS_SUBNORM 40 #error LDBL_HAS_SUBNORM not defined 41 #endif 42 #endif 43 44 #ifndef FLT_MANT_DIG 45 #error FLT_MANT_DIG not defined 46 #endif 47 48 #ifndef DBL_MANT_DIG 49 #error DBL_MANT_DIG not defined 50 #endif 51 52 #ifndef LDBL_MANT_DIG 53 #error LDBL_MANT_DIG not defined 54 #endif 55 56 #ifndef DECIMAL_DIG 57 #error DECIMAL_DIG not defined 58 #endif 59 60 #if TEST_STD_VER > 14 61 #ifndef FLT_DECIMAL_DIG 62 #error FLT_DECIMAL_DIG not defined 63 #endif 64 65 #ifndef DBL_DECIMAL_DIG 66 #error DBL_DECIMAL_DIG not defined 67 #endif 68 69 #ifndef LDBL_DECIMAL_DIG 70 #error LDBL_DECIMAL_DIG not defined 71 #endif 72 #endif 73 74 #ifndef FLT_DIG 75 #error FLT_DIG not defined 76 #endif 77 78 #ifndef DBL_DIG 79 #error DBL_DIG not defined 80 #endif 81 82 #ifndef LDBL_DIG 83 #error LDBL_DIG not defined 84 #endif 85 86 #ifndef FLT_MIN_EXP 87 #error FLT_MIN_EXP not defined 88 #endif 89 90 #ifndef DBL_MIN_EXP 91 #error DBL_MIN_EXP not defined 92 #endif 93 94 #ifndef LDBL_MIN_EXP 95 #error LDBL_MIN_EXP not defined 96 #endif 97 98 #ifndef FLT_MIN_10_EXP 99 #error FLT_MIN_10_EXP not defined 100 #endif 101 102 #ifndef DBL_MIN_10_EXP 103 #error DBL_MIN_10_EXP not defined 104 #endif 105 106 #ifndef LDBL_MIN_10_EXP 107 #error LDBL_MIN_10_EXP not defined 108 #endif 109 110 #ifndef FLT_MAX_EXP 111 #error FLT_MAX_EXP not defined 112 #endif 113 114 #ifndef DBL_MAX_EXP 115 #error DBL_MAX_EXP not defined 116 #endif 117 118 #ifndef LDBL_MAX_EXP 119 #error LDBL_MAX_EXP not defined 120 #endif 121 122 #ifndef FLT_MAX_10_EXP 123 #error FLT_MAX_10_EXP not defined 124 #endif 125 126 #ifndef DBL_MAX_10_EXP 127 #error DBL_MAX_10_EXP not defined 128 #endif 129 130 #ifndef LDBL_MAX_10_EXP 131 #error LDBL_MAX_10_EXP not defined 132 #endif 133 134 #ifndef FLT_MAX 135 #error FLT_MAX not defined 136 #endif 137 138 #ifndef DBL_MAX 139 #error DBL_MAX not defined 140 #endif 141 142 #ifndef LDBL_MAX 143 #error LDBL_MAX not defined 144 #endif 145 146 #ifndef FLT_EPSILON 147 #error FLT_EPSILON not defined 148 #endif 149 150 #ifndef DBL_EPSILON 151 #error DBL_EPSILON not defined 152 #endif 153 154 #ifndef LDBL_EPSILON 155 #error LDBL_EPSILON not defined 156 #endif 157 158 #ifndef FLT_MIN 159 #error FLT_MIN not defined 160 #endif 161 162 #ifndef DBL_MIN 163 #error DBL_MIN not defined 164 #endif 165 166 #ifndef LDBL_MIN 167 #error LDBL_MIN not defined 168 #endif 169 170 #if TEST_STD_VER > 14 171 #ifndef FLT_TRUE_MIN 172 #error FLT_TRUE_MIN not defined 173 #endif 174 175 #ifndef DBL_TRUE_MIN 176 #error DBL_TRUE_MIN not defined 177 #endif 178 179 #ifndef LDBL_TRUE_MIN 180 #error LDBL_TRUE_MIN not defined 181 #endif 182 #endif 183 main(int,char **)184int main(int, char**) 185 { 186 187 return 0; 188 } 189