From: Daniel Dunbar Date: Wed, 11 Nov 2009 10:22:48 +0000 (+0000) Subject: Simplify. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=387ecbd1e60b28d0c3c072b6a8c42ab2a176e036;p=clang Simplify. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86830 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/clang-cc/clang-cc.cpp b/tools/clang-cc/clang-cc.cpp index d8c9ddd220..e55deb51c9 100644 --- a/tools/clang-cc/clang-cc.cpp +++ b/tools/clang-cc/clang-cc.cpp @@ -633,6 +633,7 @@ static ASTConsumer *CreateConsumerAction(const CompilerInvocation &CompOpts, return CreateBlockRewriter(InFile, PP.getDiagnostics(), PP.getLangOptions()); + case FixIt: // We add the rewriter later. case ParseSyntaxOnly: return new ASTConsumer(); @@ -766,23 +767,15 @@ static void ProcessInputFile(const CompilerInvocation &CompOpts, DoRewriteTest(PP, OS.get()); ClearSourceMgr = true; break; + } - case FixIt: - Consumer.reset(new ASTConsumer()); + // Check if we want a fix-it rewriter. + if (PA == FixIt || !FixItAtLocations.empty()) { FixItRewrite = new FixItRewriter(PP.getDiagnostics(), PP.getSourceManager(), PP.getLangOptions()); - break; - } - - if (FixItAtLocations.size() > 0) { - // Even without the "-fixit" flag, we may have some specific locations where - // the user has requested fixes. Process those locations now. - if (!FixItRewrite) - FixItRewrite = new FixItRewriter(PP.getDiagnostics(), - PP.getSourceManager(), - PP.getLangOptions()); - if (!AddFixItLocations(FixItRewrite, PP.getFileManager())) { + if (!FixItAtLocations.empty() && + !AddFixItLocations(FixItRewrite, PP.getFileManager())) { // All of the fix-it locations were bad. Don't fix anything. delete FixItRewrite; FixItRewrite = 0;