1 From 151501a13549a038efe4d67954175ead62fe16eb Mon Sep 17 00:00:00 2001 2 From: Logan Chien <loganchien (a] google.com> 3 Date: Wed, 12 Sep 2012 13:58:22 +0800 4 Subject: [PATCH] Use proper postfix for pre-defined LDBL_*. 5 6 --- 7 .../tools/clang/lib/Frontend/InitPreprocessor.cpp | 49 +++++++++-------- 8 llvm-3.1/tools/clang/test/Preprocessor/init.c | 56 ++++++++++---------- 9 2 files changed, 53 insertions(+), 52 deletions(-) 10 11 diff --git a/llvm-3.1/tools/clang/lib/Frontend/InitPreprocessor.cpp b/llvm-3.1/tools/clang/lib/Frontend/InitPreprocessor.cpp 12 index 93d49b0..9d059c5 100644 13 --- a/llvm-3.1/tools/clang/lib/Frontend/InitPreprocessor.cpp 14 +++ b/llvm-3.1/tools/clang/lib/Frontend/InitPreprocessor.cpp 15 @@ -102,51 +102,52 @@ static T PickFP(const llvm::fltSemantics *Sem, T IEEESingleVal, 16 } 17 18 static void DefineFloatMacros(MacroBuilder &Builder, StringRef Prefix, 19 - const llvm::fltSemantics *Sem) { 20 + const llvm::fltSemantics *Sem, 21 + StringRef FmtPostfix) { 22 const char *DenormMin, *Epsilon, *Max, *Min; 23 - DenormMin = PickFP(Sem, "1.40129846e-45F", "4.9406564584124654e-324", 24 - "3.64519953188247460253e-4951L", 25 - "4.94065645841246544176568792868221e-324L", 26 - "6.47517511943802511092443895822764655e-4966L"); 27 + DenormMin = PickFP(Sem, "1.40129846e-45", "4.9406564584124654e-324", 28 + "3.64519953188247460253e-4951", 29 + "4.94065645841246544176568792868221e-324", 30 + "6.47517511943802511092443895822764655e-4966"); 31 int Digits = PickFP(Sem, 6, 15, 18, 31, 33); 32 - Epsilon = PickFP(Sem, "1.19209290e-7F", "2.2204460492503131e-16", 33 - "1.08420217248550443401e-19L", 34 - "4.94065645841246544176568792868221e-324L", 35 - "1.92592994438723585305597794258492732e-34L"); 36 + Epsilon = PickFP(Sem, "1.19209290e-7", "2.2204460492503131e-16", 37 + "1.08420217248550443401e-19", 38 + "4.94065645841246544176568792868221e-324", 39 + "1.92592994438723585305597794258492732e-34"); 40 int MantissaDigits = PickFP(Sem, 24, 53, 64, 106, 113); 41 int Min10Exp = PickFP(Sem, -37, -307, -4931, -291, -4931); 42 int Max10Exp = PickFP(Sem, 38, 308, 4932, 308, 4932); 43 int MinExp = PickFP(Sem, -125, -1021, -16381, -968, -16381); 44 int MaxExp = PickFP(Sem, 128, 1024, 16384, 1024, 16384); 45 - Min = PickFP(Sem, "1.17549435e-38F", "2.2250738585072014e-308", 46 - "3.36210314311209350626e-4932L", 47 - "2.00416836000897277799610805135016e-292L", 48 - "3.36210314311209350626267781732175260e-4932L"); 49 - Max = PickFP(Sem, "3.40282347e+38F", "1.7976931348623157e+308", 50 - "1.18973149535723176502e+4932L", 51 - "1.79769313486231580793728971405301e+308L", 52 - "1.18973149535723176508575932662800702e+4932L"); 53 + Min = PickFP(Sem, "1.17549435e-38", "2.2250738585072014e-308", 54 + "3.36210314311209350626e-4932", 55 + "2.00416836000897277799610805135016e-292", 56 + "3.36210314311209350626267781732175260e-4932"); 57 + Max = PickFP(Sem, "3.40282347e+38", "1.7976931348623157e+308", 58 + "1.18973149535723176502e+4932", 59 + "1.79769313486231580793728971405301e+308", 60 + "1.18973149535723176508575932662800702e+4932"); 61 62 SmallString<32> DefPrefix; 63 DefPrefix = "__"; 64 DefPrefix += Prefix; 65 DefPrefix += "_"; 66 67 - Builder.defineMacro(DefPrefix + "DENORM_MIN__", DenormMin); 68 + Builder.defineMacro(DefPrefix + "DENORM_MIN__", Twine(DenormMin, FmtPostfix)); 69 Builder.defineMacro(DefPrefix + "HAS_DENORM__"); 70 Builder.defineMacro(DefPrefix + "DIG__", Twine(Digits)); 71 - Builder.defineMacro(DefPrefix + "EPSILON__", Twine(Epsilon)); 72 + Builder.defineMacro(DefPrefix + "EPSILON__", Twine(Epsilon, FmtPostfix)); 73 Builder.defineMacro(DefPrefix + "HAS_INFINITY__"); 74 Builder.defineMacro(DefPrefix + "HAS_QUIET_NAN__"); 75 Builder.defineMacro(DefPrefix + "MANT_DIG__", Twine(MantissaDigits)); 76 77 Builder.defineMacro(DefPrefix + "MAX_10_EXP__", Twine(Max10Exp)); 78 Builder.defineMacro(DefPrefix + "MAX_EXP__", Twine(MaxExp)); 79 - Builder.defineMacro(DefPrefix + "MAX__", Twine(Max)); 80 + Builder.defineMacro(DefPrefix + "MAX__", Twine(Max, FmtPostfix)); 81 82 Builder.defineMacro(DefPrefix + "MIN_10_EXP__","("+Twine(Min10Exp)+")"); 83 Builder.defineMacro(DefPrefix + "MIN_EXP__", "("+Twine(MinExp)+")"); 84 - Builder.defineMacro(DefPrefix + "MIN__", Twine(Min)); 85 + Builder.defineMacro(DefPrefix + "MIN__", Twine(Min, FmtPostfix)); 86 } 87 88 89 @@ -490,9 +491,9 @@ static void InitializePredefinedMacros(const TargetInfo &TI, 90 DefineType("__CHAR16_TYPE__", TI.getChar16Type(), Builder); 91 DefineType("__CHAR32_TYPE__", TI.getChar32Type(), Builder); 92 93 - DefineFloatMacros(Builder, "FLT", &TI.getFloatFormat()); 94 - DefineFloatMacros(Builder, "DBL", &TI.getDoubleFormat()); 95 - DefineFloatMacros(Builder, "LDBL", &TI.getLongDoubleFormat()); 96 + DefineFloatMacros(Builder, "FLT", &TI.getFloatFormat(), "F"); 97 + DefineFloatMacros(Builder, "DBL", &TI.getDoubleFormat(), ""); 98 + DefineFloatMacros(Builder, "LDBL", &TI.getLongDoubleFormat(), "L"); 99 100 // Define a __POINTER_WIDTH__ macro for stdint.h. 101 Builder.defineMacro("__POINTER_WIDTH__", 102 diff --git a/llvm-3.1/tools/clang/test/Preprocessor/init.c b/llvm-3.1/tools/clang/test/Preprocessor/init.c 103 index 0505fff..b8ef33d 100644 104 --- a/llvm-3.1/tools/clang/test/Preprocessor/init.c 105 +++ b/llvm-3.1/tools/clang/test/Preprocessor/init.c 106 @@ -171,19 +171,19 @@ 107 // ARM:#define __INTPTR_TYPE__ long int 108 // ARM:#define __INTPTR_WIDTH__ 32 109 // ARM:#define __INT_MAX__ 2147483647 110 -// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324 111 +// ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L 112 // ARM:#define __LDBL_DIG__ 15 113 -// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16 114 +// ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L 115 // ARM:#define __LDBL_HAS_DENORM__ 1 116 // ARM:#define __LDBL_HAS_INFINITY__ 1 117 // ARM:#define __LDBL_HAS_QUIET_NAN__ 1 118 // ARM:#define __LDBL_MANT_DIG__ 53 119 // ARM:#define __LDBL_MAX_10_EXP__ 308 120 // ARM:#define __LDBL_MAX_EXP__ 1024 121 -// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308 122 +// ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L 123 // ARM:#define __LDBL_MIN_10_EXP__ (-307) 124 // ARM:#define __LDBL_MIN_EXP__ (-1021) 125 -// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308 126 +// ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L 127 // ARM:#define __LITTLE_ENDIAN__ 1 128 // ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL 129 // ARM:#define __LONG_MAX__ 2147483647L 130 @@ -463,19 +463,19 @@ 131 // MIPS32BE:#define __INTPTR_TYPE__ long int 132 // MIPS32BE:#define __INTPTR_WIDTH__ 32 133 // MIPS32BE:#define __INT_MAX__ 2147483647 134 -// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324 135 +// MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L 136 // MIPS32BE:#define __LDBL_DIG__ 15 137 -// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16 138 +// MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L 139 // MIPS32BE:#define __LDBL_HAS_DENORM__ 1 140 // MIPS32BE:#define __LDBL_HAS_INFINITY__ 1 141 // MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1 142 // MIPS32BE:#define __LDBL_MANT_DIG__ 53 143 // MIPS32BE:#define __LDBL_MAX_10_EXP__ 308 144 // MIPS32BE:#define __LDBL_MAX_EXP__ 1024 145 -// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308 146 +// MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L 147 // MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307) 148 // MIPS32BE:#define __LDBL_MIN_EXP__ (-1021) 149 -// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308 150 +// MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L 151 // MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL 152 // MIPS32BE:#define __LONG_MAX__ 2147483647L 153 // MIPS32BE:#define __MIPSEB 1 154 @@ -575,19 +575,19 @@ 155 // MIPS32EL:#define __INTPTR_TYPE__ long int 156 // MIPS32EL:#define __INTPTR_WIDTH__ 32 157 // MIPS32EL:#define __INT_MAX__ 2147483647 158 -// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324 159 +// MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L 160 // MIPS32EL:#define __LDBL_DIG__ 15 161 -// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16 162 +// MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L 163 // MIPS32EL:#define __LDBL_HAS_DENORM__ 1 164 // MIPS32EL:#define __LDBL_HAS_INFINITY__ 1 165 // MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1 166 // MIPS32EL:#define __LDBL_MANT_DIG__ 53 167 // MIPS32EL:#define __LDBL_MAX_10_EXP__ 308 168 // MIPS32EL:#define __LDBL_MAX_EXP__ 1024 169 -// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308 170 +// MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L 171 // MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307) 172 // MIPS32EL:#define __LDBL_MIN_EXP__ (-1021) 173 -// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308 174 +// MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L 175 // MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL 176 // MIPS32EL:#define __LONG_MAX__ 2147483647L 177 // MIPS32EL:#define __MIPSEL 1 178 @@ -911,19 +911,19 @@ 179 // MSP430:#define __INTPTR_TYPE__ short 180 // MSP430:#define __INTPTR_WIDTH__ 16 181 // MSP430:#define __INT_MAX__ 32767 182 -// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324 183 +// MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L 184 // MSP430:#define __LDBL_DIG__ 15 185 -// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16 186 +// MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L 187 // MSP430:#define __LDBL_HAS_DENORM__ 1 188 // MSP430:#define __LDBL_HAS_INFINITY__ 1 189 // MSP430:#define __LDBL_HAS_QUIET_NAN__ 1 190 // MSP430:#define __LDBL_MANT_DIG__ 53 191 // MSP430:#define __LDBL_MAX_10_EXP__ 308 192 // MSP430:#define __LDBL_MAX_EXP__ 1024 193 -// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308 194 +// MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L 195 // MSP430:#define __LDBL_MIN_10_EXP__ (-307) 196 // MSP430:#define __LDBL_MIN_EXP__ (-1021) 197 -// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308 198 +// MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L 199 // MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL 200 // MSP430:#define __LONG_MAX__ 2147483647L 201 // MSP430:#define __MSP430__ 1 202 @@ -1407,19 +1407,19 @@ 203 // SPARC:#define __INTPTR_TYPE__ long int 204 // SPARC:#define __INTPTR_WIDTH__ 32 205 // SPARC:#define __INT_MAX__ 2147483647 206 -// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324 207 +// SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L 208 // SPARC:#define __LDBL_DIG__ 15 209 -// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16 210 +// SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L 211 // SPARC:#define __LDBL_HAS_DENORM__ 1 212 // SPARC:#define __LDBL_HAS_INFINITY__ 1 213 // SPARC:#define __LDBL_HAS_QUIET_NAN__ 1 214 // SPARC:#define __LDBL_MANT_DIG__ 53 215 // SPARC:#define __LDBL_MAX_10_EXP__ 308 216 // SPARC:#define __LDBL_MAX_EXP__ 1024 217 -// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308 218 +// SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L 219 // SPARC:#define __LDBL_MIN_10_EXP__ (-307) 220 // SPARC:#define __LDBL_MIN_EXP__ (-1021) 221 -// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308 222 +// SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L 223 // SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL 224 // SPARC:#define __LONG_MAX__ 2147483647L 225 // SPARC:#define __NO_INLINE__ 1 226 @@ -1462,19 +1462,19 @@ 227 // TCE:#define __CHAR16_TYPE__ unsigned short 228 // TCE:#define __CHAR32_TYPE__ unsigned int 229 // TCE:#define __CHAR_BIT__ 8 230 -// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45F 231 +// TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45 232 // TCE:#define __DBL_DIG__ 6 233 -// TCE:#define __DBL_EPSILON__ 1.19209290e-7F 234 +// TCE:#define __DBL_EPSILON__ 1.19209290e-7 235 // TCE:#define __DBL_HAS_DENORM__ 1 236 // TCE:#define __DBL_HAS_INFINITY__ 1 237 // TCE:#define __DBL_HAS_QUIET_NAN__ 1 238 // TCE:#define __DBL_MANT_DIG__ 24 239 // TCE:#define __DBL_MAX_10_EXP__ 38 240 // TCE:#define __DBL_MAX_EXP__ 128 241 -// TCE:#define __DBL_MAX__ 3.40282347e+38F 242 +// TCE:#define __DBL_MAX__ 3.40282347e+38 243 // TCE:#define __DBL_MIN_10_EXP__ (-37) 244 // TCE:#define __DBL_MIN_EXP__ (-125) 245 -// TCE:#define __DBL_MIN__ 1.17549435e-38F 246 +// TCE:#define __DBL_MIN__ 1.17549435e-38 247 // TCE:#define __DECIMAL_DIG__ -1 248 // TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F 249 // TCE:#define __FLT_DIG__ 6 250 @@ -1500,19 +1500,19 @@ 251 // TCE:#define __INTPTR_TYPE__ int 252 // TCE:#define __INTPTR_WIDTH__ 32 253 // TCE:#define __INT_MAX__ 2147483647 254 -// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45F 255 +// TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L 256 // TCE:#define __LDBL_DIG__ 6 257 -// TCE:#define __LDBL_EPSILON__ 1.19209290e-7F 258 +// TCE:#define __LDBL_EPSILON__ 1.19209290e-7L 259 // TCE:#define __LDBL_HAS_DENORM__ 1 260 // TCE:#define __LDBL_HAS_INFINITY__ 1 261 // TCE:#define __LDBL_HAS_QUIET_NAN__ 1 262 // TCE:#define __LDBL_MANT_DIG__ 24 263 // TCE:#define __LDBL_MAX_10_EXP__ 38 264 // TCE:#define __LDBL_MAX_EXP__ 128 265 -// TCE:#define __LDBL_MAX__ 3.40282347e+38F 266 +// TCE:#define __LDBL_MAX__ 3.40282347e+38L 267 // TCE:#define __LDBL_MIN_10_EXP__ (-37) 268 // TCE:#define __LDBL_MIN_EXP__ (-125) 269 -// TCE:#define __LDBL_MIN__ 1.17549435e-38F 270 +// TCE:#define __LDBL_MIN__ 1.17549435e-38L 271 // TCE:#define __LONG_LONG_MAX__ 2147483647LL 272 // TCE:#define __LONG_MAX__ 2147483647L 273 // TCE:#define __NO_INLINE__ 1 274 -- 275 1.7.7.3 276 277