[cfe-commits] r57137 - in /cfe/trunk/lib: Basic/Targets.cpp Lex/Preprocessor.cpp
Chris Lattner
sabre at nondot.org
Sun Oct 5 14:41:00 PDT 2008
Author: lattner
Date: Sun Oct 5 16:40:58 2008
New Revision: 57137
URL: http://llvm.org/viewvc/llvm-project?rev=57137&view=rev
Log:
suck the rest of the FP macros out of the targets into the PP
Modified:
cfe/trunk/lib/Basic/Targets.cpp
cfe/trunk/lib/Lex/Preprocessor.cpp
Modified: cfe/trunk/lib/Basic/Targets.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=57137&r1=57136&r2=57137&view=diff
==============================================================================
--- cfe/trunk/lib/Basic/Targets.cpp (original)
+++ cfe/trunk/lib/Basic/Targets.cpp Sun Oct 5 16:40:58 2008
@@ -119,48 +119,18 @@
Define(Defs, "__NATURAL_ALIGNMENT__");
Define(Defs, "__REGISTER_PREFIX__", "");
- // Float macros.
- Define(Defs, "__FLT_DIG__", "6");
- Define(Defs, "__FLT_EPSILON__", "1.19209290e-7F");
Define(Defs, "__FLT_EVAL_METHOD__", "0");
- Define(Defs, "__FLT_HAS_INFINITY__");
- Define(Defs, "__FLT_HAS_QUIET_NAN__");
- Define(Defs, "__FLT_MANT_DIG__", "24");
- Define(Defs, "__FLT_MAX_10_EXP__", "38");
- Define(Defs, "__FLT_MAX_EXP__", "128");
- Define(Defs, "__FLT_MAX__", "3.40282347e+38F");
- Define(Defs, "__FLT_MIN_10_EXP__", "(-37)");
- Define(Defs, "__FLT_MIN_EXP__", "(-125)");
- Define(Defs, "__FLT_MIN__", "1.17549435e-38F");
Define(Defs, "__FLT_RADIX__", "2");
+ Define(Defs, "__DECIMAL_DIG__", "33");
+
+ // Float macros.
+ Define(Defs, "__FLT_MIN__", "1.17549435e-38F");
// double macros.
- Define(Defs, "__DBL_DIG__", "15");
- Define(Defs, "__DBL_EPSILON__", "2.2204460492503131e-16");
- Define(Defs, "__DBL_HAS_INFINITY__");
- Define(Defs, "__DBL_HAS_QUIET_NAN__");
- Define(Defs, "__DBL_MANT_DIG__", "53");
- Define(Defs, "__DBL_MAX_10_EXP__", "308");
- Define(Defs, "__DBL_MAX_EXP__", "1024");
- Define(Defs, "__DBL_MAX__", "1.7976931348623157e+308");
- Define(Defs, "__DBL_MIN_10_EXP__", "(-307)");
- Define(Defs, "__DBL_MIN_EXP__", "(-1021)");
Define(Defs, "__DBL_MIN__", "2.2250738585072014e-308");
- Define(Defs, "__DECIMAL_DIG__", "33");
// 128-bit long double macros.
- Define(Defs, "__LDBL_DIG__", "31");
- Define(Defs, "__LDBL_EPSILON__",
- "4.94065645841246544176568792868221e-324L");
- Define(Defs, "__LDBL_HAS_INFINITY__");
- Define(Defs, "__LDBL_HAS_QUIET_NAN__");
- Define(Defs, "__LDBL_MANT_DIG__", "106");
- Define(Defs, "__LDBL_MAX_10_EXP__", "308");
- Define(Defs, "__LDBL_MAX_EXP__", "1024");
- Define(Defs, "__LDBL_MAX__",
- "1.79769313486231580793728971405301e+308L");
Define(Defs, "__LDBL_MIN_10_EXP__", "(-291)");
- Define(Defs, "__LDBL_MIN_EXP__", "(-968)");
Define(Defs, "__LDBL_MIN__",
"2.00416836000897277799610805135016e-292L");
Define(Defs, "__LONG_DOUBLE_128__");
@@ -197,47 +167,17 @@
Define(Defs, "__MMX__");
Define(Defs, "__REGISTER_PREFIX__", "");
+ Define(Defs, "__FLT_EVAL_METHOD__", "0");
+ Define(Defs, "__FLT_RADIX__", "2");
+ Define(Defs, "__DECIMAL_DIG__", "21");
// Float macros.
- Define(Defs, "__FLT_DIG__", "6");
- Define(Defs, "__FLT_EPSILON__", "1.19209290e-7F");
- Define(Defs, "__FLT_EVAL_METHOD__", "0");
- Define(Defs, "__FLT_HAS_INFINITY__");
- Define(Defs, "__FLT_HAS_QUIET_NAN__");
- Define(Defs, "__FLT_MANT_DIG__", "24");
- Define(Defs, "__FLT_MAX_10_EXP__", "38");
- Define(Defs, "__FLT_MAX_EXP__", "128");
- Define(Defs, "__FLT_MAX__", "3.40282347e+38F");
- Define(Defs, "__FLT_MIN_10_EXP__", "(-37)");
- Define(Defs, "__FLT_MIN_EXP__", "(-125)");
Define(Defs, "__FLT_MIN__", "1.17549435e-38F");
- Define(Defs, "__FLT_RADIX__", "2");
// Double macros.
- Define(Defs, "__DBL_DIG__", "15");
- Define(Defs, "__DBL_EPSILON__", "2.2204460492503131e-16");
- Define(Defs, "__DBL_HAS_INFINITY__");
- Define(Defs, "__DBL_HAS_QUIET_NAN__");
- Define(Defs, "__DBL_MANT_DIG__", "53");
- Define(Defs, "__DBL_MAX_10_EXP__", "308");
- Define(Defs, "__DBL_MAX_EXP__", "1024");
- Define(Defs, "__DBL_MAX__", "1.7976931348623157e+308");
- Define(Defs, "__DBL_MIN_10_EXP__", "(-307)");
- Define(Defs, "__DBL_MIN_EXP__", "(-1021)");
Define(Defs, "__DBL_MIN__", "2.2250738585072014e-308");
- Define(Defs, "__DECIMAL_DIG__", "21");
// 80-bit Long double macros.
- Define(Defs, "__LDBL_DIG__", "18");
- Define(Defs, "__LDBL_EPSILON__", "1.08420217248550443401e-19L");
- Define(Defs, "__LDBL_HAS_INFINITY__");
- Define(Defs, "__LDBL_HAS_QUIET_NAN__");
- Define(Defs, "__LDBL_MANT_DIG__", "64");
- Define(Defs, "__LDBL_MAX_10_EXP__", "4932");
- Define(Defs, "__LDBL_MAX_EXP__", "16384");
- Define(Defs, "__LDBL_MAX__", "1.18973149535723176502e+4932L");
- Define(Defs, "__LDBL_MIN_10_EXP__", "(-4931)");
- Define(Defs, "__LDBL_MIN_EXP__", "(-16381)");
Define(Defs, "__LDBL_MIN__", "3.36210314311209350626e-4932L");
}
@@ -256,47 +196,17 @@
Define(Defs, "__ARMEL__");
Define(Defs, "__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__", "20000");
- Define(Defs, "__DECIMAL_DIG__", "17");
+ Define(Defs, "__FLT_EVAL_METHOD__", "0");
Define(Defs, "__FLT_RADIX__", "2");
+ Define(Defs, "__DECIMAL_DIG__", "17");
// Float macros.
- Define(Defs, "__FLT_DIG__", "6");
- Define(Defs, "__FLT_EPSILON__", "1.19209290e-7F");
- Define(Defs, "__FLT_EVAL_METHOD__", "0");
- Define(Defs, "__FLT_HAS_INFINITY__");
- Define(Defs, "__FLT_HAS_QUIET_NAN__");
- Define(Defs, "__FLT_MANT_DIG__", "24");
- Define(Defs, "__FLT_MAX_10_EXP__", "38");
- Define(Defs, "__FLT_MAX_EXP__", "128");
- Define(Defs, "__FLT_MAX__", "3.40282347e+38F");
- Define(Defs, "__FLT_MIN_10_EXP__", "(-37)");
- Define(Defs, "__FLT_MIN_EXP__", "(-125)");
Define(Defs, "__FLT_MIN__", "1.17549435e-38F");
// Double macros.
- Define(Defs, "__DBL_DIG__", "15");
- Define(Defs, "__DBL_EPSILON__", "2.2204460492503131e-16");
- Define(Defs, "__DBL_HAS_INFINITY__");
- Define(Defs, "__DBL_HAS_QUIET_NAN__");
- Define(Defs, "__DBL_MANT_DIG__", "53");
- Define(Defs, "__DBL_MAX_10_EXP__", "308");
- Define(Defs, "__DBL_MAX_EXP__", "1024");
- Define(Defs, "__DBL_MAX__", "1.7976931348623157e+308");
- Define(Defs, "__DBL_MIN_10_EXP__", "(-307)");
- Define(Defs, "__DBL_MIN_EXP__", "(-1021)");
Define(Defs, "__DBL_MIN__", "2.2250738585072014e-308");
// 64-bit Long double macros (same as double).
- Define(Defs, "__LDBL_DIG__", "15");
- Define(Defs, "__LDBL_EPSILON__", "2.2204460492503131e-16");
- Define(Defs, "__LDBL_HAS_INFINITY__");
- Define(Defs, "__LDBL_HAS_QUIET_NAN__");
- Define(Defs, "__LDBL_MANT_DIG__", "53");
- Define(Defs, "__LDBL_MAX_10_EXP__", "308");
- Define(Defs, "__LDBL_MAX_EXP__", "1024");
- Define(Defs, "__LDBL_MAX__", "1.7976931348623157e+308");
- Define(Defs, "__LDBL_MIN_10_EXP__", "(-307)");
- Define(Defs, "__LDBL_MIN_EXP__", "(-1021)");
Define(Defs, "__LDBL_MIN__", "2.2250738585072014e-308");
}
Modified: cfe/trunk/lib/Lex/Preprocessor.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/Preprocessor.cpp?rev=57137&r1=57136&r2=57137&view=diff
==============================================================================
--- cfe/trunk/lib/Lex/Preprocessor.cpp (original)
+++ cfe/trunk/lib/Lex/Preprocessor.cpp Sun Oct 5 16:40:58 2008
@@ -395,14 +395,52 @@
static void DefineFloatMacros(std::vector<char> &Buf, const char *Prefix,
const llvm::fltSemantics *Sem) {
- const char *DenormMin = PickFP(Sem, "1.40129846e-45F",
- "4.9406564584124654e-324",
- "3.64519953188247460253e-4951L",
- "4.94065645841246544176568792868221e-324L");
+ const char *DenormMin, *Epsilon, *Max, *Min;
+ DenormMin = PickFP(Sem, "1.40129846e-45F", "4.9406564584124654e-324",
+ "3.64519953188247460253e-4951L",
+ "4.94065645841246544176568792868221e-324L");
+ int Digits = PickFP(Sem, 6, 15, 18, 31);
+ Epsilon = PickFP(Sem, "1.19209290e-7F", "2.2204460492503131e-16",
+ "1.08420217248550443401e-19L",
+ "4.94065645841246544176568792868221e-324L");
+ int HasInifinity = 1, HasQuietNaN = 1;
+ int MantissaDigits = PickFP(Sem, 24, 53, 64, 106);
+ int Min10Exp = PickFP(Sem, -37, -307, -4931, -291);
+ int Max10Exp = PickFP(Sem, 38, 308, 4932, 308);
+ int MinExp = PickFP(Sem, -125, -1021, -16381, -968);
+ int MaxExp = PickFP(Sem, 128, 1024, 16384, 1024);
+ Min = PickFP(Sem, "1.17549435e-38F", "2.2250738585072014e-308",
+ "3.36210314311209350626e-4932L",
+ "2.00416836000897277799610805135016e-292L");
+ Max = PickFP(Sem, "3.40282347e+38F", "1.7976931348623157e+308",
+ "1.18973149535723176502e+4932L",
+ "1.79769313486231580793728971405301e+308L");
char MacroBuf[60];
sprintf(MacroBuf, "__%s_DENORM_MIN__=%s", Prefix, DenormMin);
DefineBuiltinMacro(Buf, MacroBuf);
+ sprintf(MacroBuf, "__%s_DIG__=%d", Prefix, Digits);
+ DefineBuiltinMacro(Buf, MacroBuf);
+ sprintf(MacroBuf, "__%s_EPSILON__=%s", Prefix, Epsilon);
+ DefineBuiltinMacro(Buf, MacroBuf);
+ sprintf(MacroBuf, "__%s_HAS_INFINITY__=%d", Prefix, HasInifinity);
+ DefineBuiltinMacro(Buf, MacroBuf);
+ sprintf(MacroBuf, "__%s_HAS_QUIET_NAN__=%d", Prefix, HasQuietNaN);
+ DefineBuiltinMacro(Buf, MacroBuf);
+ sprintf(MacroBuf, "__%s_MANT_DIG__=%d", Prefix, MantissaDigits);
+ DefineBuiltinMacro(Buf, MacroBuf);
+ sprintf(MacroBuf, "__%s_MAX_10_EXP__=%d", Prefix, Max10Exp);
+ DefineBuiltinMacro(Buf, MacroBuf);
+ sprintf(MacroBuf, "__%s_MAX_EXP__=%d", Prefix, MaxExp);
+ DefineBuiltinMacro(Buf, MacroBuf);
+ sprintf(MacroBuf, "__%s_MAX__=%s", Prefix, Max);
+ DefineBuiltinMacro(Buf, MacroBuf);
+ sprintf(MacroBuf, "__%s_MIN_10_EXP__=(%d)", Prefix, Min10Exp);
+ DefineBuiltinMacro(Buf, MacroBuf);
+ sprintf(MacroBuf, "__%s_MIN_EXP__=(%d)", Prefix, MinExp);
+ DefineBuiltinMacro(Buf, MacroBuf);
+ sprintf(MacroBuf, "__%s_MIN__=%s", Prefix, Min);
+ DefineBuiltinMacro(Buf, MacroBuf);
}
More information about the cfe-commits
mailing list