diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Frontend/InitPreprocessor.cpp | 10 | ||||
-rw-r--r-- | lib/Headers/stdint.h | 8 |
2 files changed, 9 insertions, 9 deletions
diff --git a/lib/Frontend/InitPreprocessor.cpp b/lib/Frontend/InitPreprocessor.cpp index 6968049131..9648620ea0 100644 --- a/lib/Frontend/InitPreprocessor.cpp +++ b/lib/Frontend/InitPreprocessor.cpp @@ -240,8 +240,16 @@ static void DefineType(const char *MacroName, TargetInfo::IntType Ty, static void DefineExactWidthIntType(TargetInfo::IntType Ty, const TargetInfo &TI, std::vector<char> &Buf) { char MacroBuf[60]; - sprintf(MacroBuf, "__INT%d_TYPE__", TI.getTypeWidth(Ty)); + int TypeWidth = TI.getTypeWidth(Ty); + sprintf(MacroBuf, "__INT%d_TYPE__", TypeWidth); DefineType(MacroBuf, Ty, Buf); + + + const char *ConstSuffix = TargetInfo::getTypeConstantSuffix(Ty); + if (strlen(ConstSuffix) > 0) { + sprintf(MacroBuf, "__INT%d_C_SUFFIX__=%s", TypeWidth, ConstSuffix); + DefineBuiltinMacro(Buf, MacroBuf); + } } static void InitializePredefinedMacros(const TargetInfo &TI, diff --git a/lib/Headers/stdint.h b/lib/Headers/stdint.h index b404e3dfdf..419dc0b912 100644 --- a/lib/Headers/stdint.h +++ b/lib/Headers/stdint.h @@ -247,8 +247,6 @@ typedef __UINTMAX_TYPE__ uintmax_t; #ifdef __INT64_TYPE__ -/* FIXME: predefine suffix based on type*/ -# define __INT64_C_SUFFIX__ LL # ifdef __INT64_C_SUFFIX__ # define __int64_c_suffix __INT64_C_SUFFIX__ # define __int32_c_suffix __INT64_C_SUFFIX__ @@ -274,8 +272,6 @@ typedef __UINTMAX_TYPE__ uintmax_t; #ifdef __INT56_TYPE__ -/* FIXME: predefine suffix based on type */ -# define __INT56_C_SUFFIX__ L # ifdef __INT56_C_SUFFIX__ # define INT56_C(v) __int_c(v, __INT56_C_SUFFIX__) # define UINT56_C(v) __uint_c(v, __INT56_C_SUFFIX__) @@ -293,8 +289,6 @@ typedef __UINTMAX_TYPE__ uintmax_t; #ifdef __INT48_TYPE__ -/* FIXME: predefine suffix based on type */ -# define __INT48_C_SUFFIX__ L # ifdef __INT48_C_SUFFIX__ # define INT48_C(v) __int_c(v, __INT48_C_SUFFIX__) # define UINT48_C(v) __uint_c(v, __INT48_C_SUFFIX__) @@ -312,8 +306,6 @@ typedef __UINTMAX_TYPE__ uintmax_t; #ifdef __INT40_TYPE__ -/* FIXME: predefine suffix based on type */ -# define __INT40_C_SUFFIX__ L # ifdef __INT40_C_SUFFIX__ # define INT40_C(v) __int_c(v, __INT40_C_SUFFIX__) # define UINT40_C(v) __uint_c(v, __INT40_C_SUFFIX__) |