aboutsummaryrefslogtreecommitdiff
path: root/lib/Frontend/InitPreprocessor.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-06-20 15:00:58 +0000
committerDouglas Gregor <dgregor@apple.com>2011-06-20 15:00:58 +0000
commit0678899e0d619df03eae2e2d43c3fe1fa958d03a (patch)
tree06a33a09528636b9ccf5224ec73f5065fa6e8e86 /lib/Frontend/InitPreprocessor.cpp
parentd36d036c819f7925b933974fa18eacc95d46049a (diff)
Define __cplusplus to 201103L when in (non-GNU) C++0x mode.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133437 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/InitPreprocessor.cpp')
-rw-r--r--lib/Frontend/InitPreprocessor.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/Frontend/InitPreprocessor.cpp b/lib/Frontend/InitPreprocessor.cpp
index e1c394ea75..aefd1ea5b8 100644
--- a/lib/Frontend/InitPreprocessor.cpp
+++ b/lib/Frontend/InitPreprocessor.cpp
@@ -359,11 +359,18 @@ static void InitializeStandardPredefinedMacros(const TargetInfo &TI,
} else {
if (LangOpts.GNUMode)
Builder.defineMacro("__cplusplus");
- else
- // C++ [cpp.predefined]p1:
+ else {
+ // C++0x [cpp.predefined]p1:
+ // The name_ _cplusplus is defined to the value 201103L when compiling a
+ // C++ translation unit.
+ if (LangOpts.CPlusPlus0x)
+ Builder.defineMacro("__cplusplus", "201103L");
+ // C++03 [cpp.predefined]p1:
// The name_ _cplusplus is defined to the value 199711L when compiling a
// C++ translation unit.
- Builder.defineMacro("__cplusplus", "199711L");
+ else
+ Builder.defineMacro("__cplusplus", "199711L");
+ }
}
if (LangOpts.ObjC1)