diff options
| author | Eli Friedman <eli.friedman@gmail.com> | 2009-05-18 22:39:16 +0000 |
|---|---|---|
| committer | Eli Friedman <eli.friedman@gmail.com> | 2009-05-18 22:39:16 +0000 |
| commit | f22439a7097646e40251a41f4ae0139baa1885e2 (patch) | |
| tree | 2a4cf2a031199de34e5098bc4cf1dd85ad0f6818 /clang/tools | |
| parent | 38e7f8bd6d30a819caa4b957e2c364c7342a5563 (diff) | |
| download | bcm5719-llvm-f22439a7097646e40251a41f4ae0139baa1885e2.tar.gz bcm5719-llvm-f22439a7097646e40251a41f4ae0139baa1885e2.zip | |
Move the Wno-rewrite-macros option out of RewriteObjC.cpp in prepration
for moving ASTConsumers.h to include/clang/Frontend.
llvm-svn: 72059
Diffstat (limited to 'clang/tools')
| -rw-r--r-- | clang/tools/clang-cc/ASTConsumers.h | 3 | ||||
| -rw-r--r-- | clang/tools/clang-cc/RewriteObjC.cpp | 22 | ||||
| -rw-r--r-- | clang/tools/clang-cc/clang-cc.cpp | 10 |
3 files changed, 23 insertions, 12 deletions
diff --git a/clang/tools/clang-cc/ASTConsumers.h b/clang/tools/clang-cc/ASTConsumers.h index 73c3b83f0b7..6d4373e033a 100644 --- a/clang/tools/clang-cc/ASTConsumers.h +++ b/clang/tools/clang-cc/ASTConsumers.h @@ -58,7 +58,8 @@ ASTConsumer *CreateDeclContextPrinter(); ASTConsumer *CreateObjCRewriter(const std::string& InFile, llvm::raw_ostream* OS, Diagnostic &Diags, - const LangOptions &LOpts); + const LangOptions &LOpts, + bool SilenceRewriteMacroWarning); // LLVM code generator: uses the code generation backend to generate LLVM // assembly. This runs optimizations depending on the CompileOptions diff --git a/clang/tools/clang-cc/RewriteObjC.cpp b/clang/tools/clang-cc/RewriteObjC.cpp index 394e6b7c66d..493f5654a51 100644 --- a/clang/tools/clang-cc/RewriteObjC.cpp +++ b/clang/tools/clang-cc/RewriteObjC.cpp @@ -31,10 +31,6 @@ using namespace clang; using llvm::utostr; -static llvm::cl::opt<bool> -SilenceRewriteMacroWarning("Wno-rewrite-macros", llvm::cl::init(false), - llvm::cl::desc("Silence ObjC rewriting warnings")); - namespace { class RewriteObjC : public ASTConsumer { Rewriter Rewrite; @@ -94,7 +90,9 @@ namespace { std::string InFileName; llvm::raw_ostream* OutFile; - + + bool SilenceRewriteMacroWarning; + std::string Preamble; // Block expressions. @@ -137,7 +135,8 @@ namespace { void HandleTopLevelSingleDecl(Decl *D); void HandleDeclInMainFile(Decl *D); RewriteObjC(std::string inFile, llvm::raw_ostream *OS, - Diagnostic &D, const LangOptions &LOpts); + Diagnostic &D, const LangOptions &LOpts, + bool silenceMacroWarn); ~RewriteObjC() {} @@ -417,8 +416,10 @@ static bool IsHeaderFile(const std::string &Filename) { } RewriteObjC::RewriteObjC(std::string inFile, llvm::raw_ostream* OS, - Diagnostic &D, const LangOptions &LOpts) - : Diags(D), LangOpts(LOpts), InFileName(inFile), OutFile(OS) { + Diagnostic &D, const LangOptions &LOpts, + bool silenceMacroWarn) + : Diags(D), LangOpts(LOpts), InFileName(inFile), OutFile(OS), + SilenceRewriteMacroWarning(silenceMacroWarn) { IsHeader = IsHeaderFile(inFile); RewriteFailedDiag = Diags.getCustomDiagID(Diagnostic::Warning, "rewriting sub-expression within a macro (may not be correct)"); @@ -430,8 +431,9 @@ RewriteObjC::RewriteObjC(std::string inFile, llvm::raw_ostream* OS, ASTConsumer *clang::CreateObjCRewriter(const std::string& InFile, llvm::raw_ostream* OS, Diagnostic &Diags, - const LangOptions &LOpts) { - return new RewriteObjC(InFile, OS, Diags, LOpts); + const LangOptions &LOpts, + bool SilenceRewriteMacroWarning) { + return new RewriteObjC(InFile, OS, Diags, LOpts, SilenceRewriteMacroWarning); } void RewriteObjC::Initialize(ASTContext &context) { diff --git a/clang/tools/clang-cc/clang-cc.cpp b/clang/tools/clang-cc/clang-cc.cpp index e60ece8a9fc..fdc370e22f0 100644 --- a/clang/tools/clang-cc/clang-cc.cpp +++ b/clang/tools/clang-cc/clang-cc.cpp @@ -1490,6 +1490,13 @@ FixItAtLocations("fixit-at", llvm::cl::value_desc("source-location"), llvm::cl::desc("Perform Fix-It modifications at the given source location")); //===----------------------------------------------------------------------===// +// ObjC Rewriter Options +//===----------------------------------------------------------------------===// +static llvm::cl::opt<bool> +SilenceRewriteMacroWarning("Wno-rewrite-macros", llvm::cl::init(false), + llvm::cl::desc("Silence ObjC rewriting warnings")); + +//===----------------------------------------------------------------------===// // -dump-build-information Stuff //===----------------------------------------------------------------------===// @@ -1692,7 +1699,8 @@ static void ProcessInputFile(Preprocessor &PP, PreprocessorFactory &PPF, case RewriteObjC: OS.reset(ComputeOutFile(InFile, "cpp", true, OutPath)); Consumer.reset(CreateObjCRewriter(InFile, OS.get(), PP.getDiagnostics(), - PP.getLangOptions())); + PP.getLangOptions(), + SilenceRewriteMacroWarning)); break; case RewriteBlocks: |

