diff options
author | Yaron Keren <yaron.keren@gmail.com> | 2016-07-21 07:44:41 +0000 |
---|---|---|
committer | Yaron Keren <yaron.keren@gmail.com> | 2016-07-21 07:44:41 +0000 |
commit | 7996340d9ff4d3ffaed24fbc74d585852a0f1476 (patch) | |
tree | 856f7cf3f815e424fd0348e2cddc26846c25fb8a /clang/lib/Frontend/InitPreprocessor.cpp | |
parent | 938c5031ab9967306e5749658eee7336cd91e589 (diff) | |
download | llvm-7996340d9ff4d3ffaed24fbc74d585852a0f1476.zip llvm-7996340d9ff4d3ffaed24fbc74d585852a0f1476.tar.gz llvm-7996340d9ff4d3ffaed24fbc74d585852a0f1476.tar.bz2 |
Provide __GLIBCXX_TYPE_INT_N_0 and __GLIBCXX_BITSIZE_INT_N_0 when in C++ gnu language extensions.
These are used by libstdc++ <type_traits> for is_integral<__int128>.
Addresses http://llvm.org/pr23156.
llvm-svn: 276252
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
-rw-r--r-- | clang/lib/Frontend/InitPreprocessor.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index cc4a0bf..f8b912e 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -961,6 +961,11 @@ static void InitializePredefinedMacros(const TargetInfo &TI, #include "clang/Basic/OpenCLExtensions.def" } + if (TI.hasInt128Type() && LangOpts.CPlusPlus && LangOpts.GNUMode) { + Builder.defineMacro("__GLIBCXX_TYPE_INT_N_0", "__int128"); + Builder.defineMacro("__GLIBCXX_BITSIZE_INT_N_0", "128"); + } + // Get other target #defines. TI.getTargetDefines(LangOpts, Builder); } |