aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/InitPreprocessor.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2010-05-26 21:36:54 +0000
committerTed Kremenek <kremenek@apple.com>2010-05-26 21:36:54 +0000
commit34ddec630c9d069f641c99812c4b68eb3f2ff565 (patch)
tree787835b5d401f9f7731f09d596a0758d9425e2d9 /clang/lib/Frontend/InitPreprocessor.cpp
parent31139706752b6e86fa2c4c0cc515abe77824cd07 (diff)
downloadllvm-34ddec630c9d069f641c99812c4b68eb3f2ff565.zip
llvm-34ddec630c9d069f641c99812c4b68eb3f2ff565.tar.gz
llvm-34ddec630c9d069f641c99812c4b68eb3f2ff565.tar.bz2
Predefine the '__clang_analyzer__' macro when using '-analyze'.
llvm-svn: 104742
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
-rw-r--r--clang/lib/Frontend/InitPreprocessor.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp
index f1e9819..2b35c8e 100644
--- a/clang/lib/Frontend/InitPreprocessor.cpp
+++ b/clang/lib/Frontend/InitPreprocessor.cpp
@@ -428,6 +428,11 @@ static void InitializePredefinedMacros(const TargetInfo &TI,
if (FEOpts.ProgramAction == frontend::RewriteObjC)
Builder.defineMacro("__weak", "__attribute__((objc_gc(weak)))");
+
+ // Define a macro that exists only when using the static analyzer.
+ if (FEOpts.ProgramAction == frontend::RunAnalysis)
+ Builder.defineMacro("__clang_analyzer__");
+
// Get other target #defines.
TI.getTargetDefines(LangOpts, Builder);
}