diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2022-01-29 08:11:14 -0500 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2022-01-29 08:12:16 -0500 |
commit | a6cabd98021fe357d666614601eca2031bf775de (patch) | |
tree | 31f5849abca130fff3dcb7e579eb4124eae20ac8 /clang/lib/Frontend/InitPreprocessor.cpp | |
parent | 33fe0872cd54afa1fc036e0d9fdc89d65449f9ff (diff) | |
download | llvm-a6cabd98021fe357d666614601eca2031bf775de.zip llvm-a6cabd98021fe357d666614601eca2031bf775de.tar.gz llvm-a6cabd98021fe357d666614601eca2031bf775de.tar.bz2 |
Revert fad7e491a0770ac4336934030ac67d77e7af5520 with fixes applied
fad7e491a0770ac4336934030ac67d77e7af5520 was a revert of
86797fdb6f51d32f285e48b6d3e0fc5b8b852734 due to build failures. This
hopefully fixes them.
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
-rw-r--r-- | clang/lib/Frontend/InitPreprocessor.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index a9023a7..e259ab4 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -25,6 +25,7 @@ #include "clang/Serialization/ASTReader.h" #include "llvm/ADT/APFloat.h" #include "llvm/IR/DataLayout.h" +#include "llvm/IR/DerivedTypes.h" using namespace clang; static bool MacroBodyEndsInBackslash(StringRef MacroBody) { @@ -914,6 +915,13 @@ static void InitializePredefinedMacros(const TargetInfo &TI, Builder.defineMacro("__LONG_WIDTH__", Twine(TI.getLongWidth())); Builder.defineMacro("__LLONG_WIDTH__", Twine(TI.getLongLongWidth())); + size_t BitIntMaxWidth = TI.getMaxBitIntWidth(); + assert(BitIntMaxWidth <= llvm::IntegerType::MAX_INT_BITS && + "Target defined a max bit width larger than LLVM can support!"); + assert(BitIntMaxWidth >= TI.getLongLongWidth() && + "Target defined a max bit width smaller than the C standard allows!"); + Builder.defineMacro("__BITINT_MAXWIDTH__", Twine(BitIntMaxWidth)); + DefineTypeSize("__SCHAR_MAX__", TargetInfo::SignedChar, TI, Builder); DefineTypeSize("__SHRT_MAX__", TargetInfo::SignedShort, TI, Builder); DefineTypeSize("__INT_MAX__", TargetInfo::SignedInt, TI, Builder); |