[cfe-commits] r86076 - in /cfe/trunk: include/clang/Frontend/ASTConsumers.h include/clang/Frontend/AnalysisConsumer.h include/clang/Frontend/PathDiagnosticClients.h include/clang/Frontend/Utils.h include/clang/Lex/Preprocessor.h include/clang/Rewrite/HTMLRewrite.h lib/Frontend/AnalysisConsumer.cpp lib/Frontend/HTMLDiagnostics.cpp lib/Frontend/HTMLPrint.cpp lib/Frontend/PlistDiagnostics.cpp lib/Lex/Preprocessor.cpp lib/Rewrite/HTMLRewrite.cpp tools/clang-cc/clang-cc.cpp
Daniel Dunbar
daniel at zuster.org
Wed Nov 4 15:56:26 PST 2009
Author: ddunbar
Date: Wed Nov 4 17:56:25 2009
New Revision: 86076
URL: http://llvm.org/viewvc/llvm-project?rev=86076&view=rev
Log:
Kill PreprocessorFactory, which was both morally repugnant and totally unused.
Modified:
cfe/trunk/include/clang/Frontend/ASTConsumers.h
cfe/trunk/include/clang/Frontend/AnalysisConsumer.h
cfe/trunk/include/clang/Frontend/PathDiagnosticClients.h
cfe/trunk/include/clang/Frontend/Utils.h
cfe/trunk/include/clang/Lex/Preprocessor.h
cfe/trunk/include/clang/Rewrite/HTMLRewrite.h
cfe/trunk/lib/Frontend/AnalysisConsumer.cpp
cfe/trunk/lib/Frontend/HTMLDiagnostics.cpp
cfe/trunk/lib/Frontend/HTMLPrint.cpp
cfe/trunk/lib/Frontend/PlistDiagnostics.cpp
cfe/trunk/lib/Lex/Preprocessor.cpp
cfe/trunk/lib/Rewrite/HTMLRewrite.cpp
cfe/trunk/tools/clang-cc/clang-cc.cpp
Modified: cfe/trunk/include/clang/Frontend/ASTConsumers.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/ASTConsumers.h?rev=86076&r1=86075&r2=86076&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/ASTConsumers.h (original)
+++ cfe/trunk/include/clang/Frontend/ASTConsumers.h Wed Nov 4 17:56:25 2009
@@ -28,7 +28,6 @@
class Diagnostic;
class FileManager;
class Preprocessor;
-class PreprocessorFactory;
class CompileOptions;
class LangOptions;
@@ -86,10 +85,11 @@
llvm::raw_ostream *OS,
llvm::LLVMContext& C);
-// HTML printer: uses the rewriter to convert source code to HTML with
-// syntax highlighting suitable for viewing in a web-browser.
-ASTConsumer* CreateHTMLPrinter(llvm::raw_ostream *OS, Diagnostic &D,
- Preprocessor *PP, PreprocessorFactory *PPF);
+/// CreateHTMLPrinter - Create an AST consumer which rewrites source code to
+/// HTML with syntax highlighting suitable for viewing in a web-browser.
+ASTConsumer *CreateHTMLPrinter(llvm::raw_ostream *OS, Preprocessor &PP,
+ bool SyntaxHighlight = true,
+ bool HighlightMacros = true);
// PCH generator: generates a precompiled header file; this file can be
// used later with the PCHReader (clang-cc option -include-pch)
Modified: cfe/trunk/include/clang/Frontend/AnalysisConsumer.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/AnalysisConsumer.h?rev=86076&r1=86075&r2=86076&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/AnalysisConsumer.h (original)
+++ cfe/trunk/include/clang/Frontend/AnalysisConsumer.h Wed Nov 4 17:56:25 2009
@@ -19,7 +19,6 @@
class ASTConsumer;
class Diagnostic;
class Preprocessor;
-class PreprocessorFactory;
class LangOptions;
/// Analysis - Set of available source code analyses.
@@ -70,7 +69,6 @@
/// analysis passes. (The set of analyses run is controlled by command-line
/// options.)
ASTConsumer* CreateAnalysisConsumer(Diagnostic &diags, Preprocessor *pp,
- PreprocessorFactory *ppf,
const LangOptions &lopts,
const std::string &output,
const AnalyzerOptions& Opts);
Modified: cfe/trunk/include/clang/Frontend/PathDiagnosticClients.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/PathDiagnosticClients.h?rev=86076&r1=86075&r2=86076&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/PathDiagnosticClients.h (original)
+++ cfe/trunk/include/clang/Frontend/PathDiagnosticClients.h Wed Nov 4 17:56:25 2009
@@ -22,7 +22,6 @@
class PathDiagnosticClient;
class Preprocessor;
-class PreprocessorFactory;
class PathDiagnosticClientFactory {
public:
@@ -37,17 +36,14 @@
PathDiagnosticClient*
CreateHTMLDiagnosticClient(const std::string& prefix, Preprocessor* PP = 0,
- PreprocessorFactory* PPF = 0,
llvm::SmallVectorImpl<std::string>* FilesMade = 0);
PathDiagnosticClientFactory*
CreateHTMLDiagnosticClientFactory(const std::string& prefix,
- Preprocessor* PP = 0,
- PreprocessorFactory* PPF = 0);
+ Preprocessor* PP = 0);
PathDiagnosticClient*
CreatePlistDiagnosticClient(const std::string& prefix, Preprocessor* PP,
- PreprocessorFactory* PPF,
PathDiagnosticClientFactory *PF = 0);
} // end clang namespace
Modified: cfe/trunk/include/clang/Frontend/Utils.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/Utils.h?rev=86076&r1=86075&r2=86076&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/Utils.h (original)
+++ cfe/trunk/include/clang/Frontend/Utils.h Wed Nov 4 17:56:25 2009
@@ -30,7 +30,6 @@
class ASTConsumer;
class IdentifierTable;
class SourceManager;
-class PreprocessorFactory;
class LangOptions;
class Decl;
class Stmt;
Modified: cfe/trunk/include/clang/Lex/Preprocessor.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/Preprocessor.h?rev=86076&r1=86075&r2=86076&view=diff
==============================================================================
--- cfe/trunk/include/clang/Lex/Preprocessor.h (original)
+++ cfe/trunk/include/clang/Lex/Preprocessor.h Wed Nov 4 17:56:25 2009
@@ -831,14 +831,6 @@
void HandleComment(SourceRange Comment);
};
-/// PreprocessorFactory - A generic factory interface for lazily creating
-/// Preprocessor objects on-demand when they are needed.
-class PreprocessorFactory {
-public:
- virtual ~PreprocessorFactory();
- virtual Preprocessor* CreatePreprocessor() = 0;
-};
-
/// \brief Abstract base class that describes a handler that will receive
/// source ranges for each of the comments encountered in the source file.
class CommentHandler {
Modified: cfe/trunk/include/clang/Rewrite/HTMLRewrite.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Rewrite/HTMLRewrite.h?rev=86076&r1=86075&r2=86076&view=diff
==============================================================================
--- cfe/trunk/include/clang/Rewrite/HTMLRewrite.h (original)
+++ cfe/trunk/include/clang/Rewrite/HTMLRewrite.h Wed Nov 4 17:56:25 2009
@@ -23,7 +23,6 @@
class Rewriter;
class RewriteBuffer;
class Preprocessor;
-class PreprocessorFactory;
namespace html {
@@ -75,7 +74,7 @@
/// macro expansions. This won't be perfectly perfect, but it will be
/// reasonably close.
void HighlightMacros(Rewriter &R, FileID FID, Preprocessor &PP);
- void HighlightMacros(Rewriter &R, FileID FID, PreprocessorFactory &PPF);
+
} // end html namespace
} // end clang namespace
Modified: cfe/trunk/lib/Frontend/AnalysisConsumer.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/AnalysisConsumer.cpp?rev=86076&r1=86075&r2=86076&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/AnalysisConsumer.cpp (original)
+++ cfe/trunk/lib/Frontend/AnalysisConsumer.cpp Wed Nov 4 17:56:25 2009
@@ -52,12 +52,11 @@
//===----------------------------------------------------------------------===//
static PathDiagnosticClient*
-CreatePlistHTMLDiagnosticClient(const std::string& prefix, Preprocessor* PP,
- PreprocessorFactory* PPF) {
+CreatePlistHTMLDiagnosticClient(const std::string& prefix, Preprocessor* PP) {
llvm::sys::Path F(prefix);
PathDiagnosticClientFactory *PF =
- CreateHTMLDiagnosticClientFactory(F.getDirname(), PP, PPF);
- return CreatePlistDiagnosticClient(prefix, PP, PPF, PF);
+ CreateHTMLDiagnosticClientFactory(F.getDirname(), PP);
+ return CreatePlistDiagnosticClient(prefix, PP, PF);
}
//===----------------------------------------------------------------------===//
@@ -78,7 +77,6 @@
Diagnostic &Diags;
ASTContext* Ctx;
Preprocessor* PP;
- PreprocessorFactory* PPF;
const std::string OutDir;
AnalyzerOptions Opts;
@@ -92,13 +90,11 @@
llvm::OwningPtr<AnalysisManager> Mgr;
AnalysisConsumer(Diagnostic &diags, Preprocessor* pp,
- PreprocessorFactory* ppf,
const LangOptions& lopts,
const std::string& outdir,
const AnalyzerOptions& opts)
- : LOpts(lopts), Diags(diags),
- Ctx(0), PP(pp), PPF(ppf),
- OutDir(outdir), Opts(opts), PD(0) {
+ : LOpts(lopts), Diags(diags), Ctx(0), PP(pp), OutDir(outdir),
+ Opts(opts), PD(0) {
DigestAnalyzerOptions();
}
@@ -108,7 +104,7 @@
switch (Opts.AnalysisDiagOpt) {
default:
#define ANALYSIS_DIAGNOSTICS(NAME, CMDFLAG, DESC, CREATEFN, AUTOCREATE) \
- case PD_##NAME: PD = CREATEFN(OutDir, PP, PPF); break;
+ case PD_##NAME: PD = CREATEFN(OutDir, PP); break;
#include "clang/Frontend/Analyses.def"
}
}
@@ -444,12 +440,11 @@
//===----------------------------------------------------------------------===//
ASTConsumer* clang::CreateAnalysisConsumer(Diagnostic &diags, Preprocessor* pp,
- PreprocessorFactory* ppf,
const LangOptions& lopts,
const std::string& OutDir,
const AnalyzerOptions& Opts) {
- llvm::OwningPtr<AnalysisConsumer> C(new AnalysisConsumer(diags, pp, ppf,
+ llvm::OwningPtr<AnalysisConsumer> C(new AnalysisConsumer(diags, pp,
lopts, OutDir,
Opts));
Modified: cfe/trunk/lib/Frontend/HTMLDiagnostics.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/HTMLDiagnostics.cpp?rev=86076&r1=86075&r2=86076&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/HTMLDiagnostics.cpp (original)
+++ cfe/trunk/lib/Frontend/HTMLDiagnostics.cpp Wed Nov 4 17:56:25 2009
@@ -77,7 +77,6 @@
PathDiagnosticClient*
clang::CreateHTMLDiagnosticClient(const std::string& prefix, Preprocessor* PP,
- PreprocessorFactory*,
llvm::SmallVectorImpl<std::string>* FilesMade)
{
return new HTMLDiagnostics(prefix, PP, FilesMade);
@@ -111,8 +110,7 @@
PathDiagnosticClientFactory*
clang::CreateHTMLDiagnosticClientFactory(const std::string& prefix,
- Preprocessor* PP,
- PreprocessorFactory*) {
+ Preprocessor* PP) {
return new HTMLDiagnosticsFactory(prefix, PP);
}
@@ -216,12 +214,6 @@
// for example.
if (PP) html::SyntaxHighlight(R, FID, *PP);
-
- // FIXME: We eventually want to use PPF to create a fresh Preprocessor,
- // once we have worked out the bugs.
- //
- // if (PPF) html::HighlightMacros(R, FID, *PPF);
- //
if (PP) html::HighlightMacros(R, FID, *PP);
// Get the full directory name of the analyzed file.
Modified: cfe/trunk/lib/Frontend/HTMLPrint.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/HTMLPrint.cpp?rev=86076&r1=86075&r2=86076&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/HTMLPrint.cpp (original)
+++ cfe/trunk/lib/Frontend/HTMLPrint.cpp Wed Nov 4 17:56:25 2009
@@ -13,13 +13,14 @@
#include "clang/Frontend/ASTConsumers.h"
#include "clang/AST/ASTConsumer.h"
+#include "clang/AST/ASTContext.h"
#include "clang/AST/Decl.h"
-#include "clang/Rewrite/Rewriter.h"
-#include "clang/Rewrite/HTMLRewrite.h"
#include "clang/Basic/Diagnostic.h"
-#include "clang/Basic/SourceManager.h"
#include "clang/Basic/FileManager.h"
-#include "clang/AST/ASTContext.h"
+#include "clang/Basic/SourceManager.h"
+#include "clang/Lex/Preprocessor.h"
+#include "clang/Rewrite/HTMLRewrite.h"
+#include "clang/Rewrite/Rewriter.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/raw_ostream.h"
using namespace clang;
@@ -32,13 +33,14 @@
class HTMLPrinter : public ASTConsumer {
Rewriter R;
llvm::raw_ostream *Out;
- Diagnostic &Diags;
- Preprocessor *PP;
- PreprocessorFactory *PPF;
+ Preprocessor &PP;
+ bool SyntaxHighlight, HighlightMacros;
+
public:
- HTMLPrinter(llvm::raw_ostream *OS, Diagnostic &D, Preprocessor *pp,
- PreprocessorFactory* ppf)
- : Out(OS), Diags(D), PP(pp), PPF(ppf) {}
+ HTMLPrinter(llvm::raw_ostream *OS, Preprocessor &pp,
+ bool _SyntaxHighlight, bool _HighlightMacros)
+ : Out(OS), PP(pp), SyntaxHighlight(_SyntaxHighlight),
+ HighlightMacros(_HighlightMacros) {}
virtual ~HTMLPrinter();
void Initialize(ASTContext &context);
@@ -46,10 +48,10 @@
}
ASTConsumer* clang::CreateHTMLPrinter(llvm::raw_ostream *OS,
- Diagnostic &D, Preprocessor *PP,
- PreprocessorFactory* PPF) {
-
- return new HTMLPrinter(OS, D, PP, PPF);
+ Preprocessor &PP,
+ bool SyntaxHighlight,
+ bool HighlightMacros) {
+ return new HTMLPrinter(OS, PP, SyntaxHighlight, HighlightMacros);
}
void HTMLPrinter::Initialize(ASTContext &context) {
@@ -57,7 +59,7 @@
}
HTMLPrinter::~HTMLPrinter() {
- if (Diags.hasErrorOccurred())
+ if (PP.getDiagnostics().hasErrorOccurred())
return;
// Format the file.
@@ -79,8 +81,8 @@
// We might not have a preprocessor if we come from a deserialized AST file,
// for example.
- if (PP) html::SyntaxHighlight(R, FID, *PP);
- if (PPF) html::HighlightMacros(R, FID, *PP);
+ if (SyntaxHighlight) html::SyntaxHighlight(R, FID, PP);
+ if (HighlightMacros) html::HighlightMacros(R, FID, PP);
html::EscapeText(R, FID, false, true);
// Emit the HTML.
Modified: cfe/trunk/lib/Frontend/PlistDiagnostics.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/PlistDiagnostics.cpp?rev=86076&r1=86075&r2=86076&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/PlistDiagnostics.cpp (original)
+++ cfe/trunk/lib/Frontend/PlistDiagnostics.cpp Wed Nov 4 17:56:25 2009
@@ -29,7 +29,6 @@
namespace clang {
class Preprocessor;
- class PreprocessorFactory;
}
namespace {
@@ -63,8 +62,7 @@
}
PathDiagnosticClient*
-clang::CreatePlistDiagnosticClient(const std::string& s,
- Preprocessor *PP, PreprocessorFactory*,
+clang::CreatePlistDiagnosticClient(const std::string& s, Preprocessor *PP,
PathDiagnosticClientFactory *PF) {
return new PlistDiagnostics(s, PP->getLangOptions(), PF);
}
Modified: cfe/trunk/lib/Lex/Preprocessor.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/Preprocessor.cpp?rev=86076&r1=86075&r2=86076&view=diff
==============================================================================
--- cfe/trunk/lib/Lex/Preprocessor.cpp (original)
+++ cfe/trunk/lib/Lex/Preprocessor.cpp Wed Nov 4 17:56:25 2009
@@ -43,8 +43,6 @@
//===----------------------------------------------------------------------===//
-PreprocessorFactory::~PreprocessorFactory() {}
-
Preprocessor::Preprocessor(Diagnostic &diags, const LangOptions &opts,
TargetInfo &target, SourceManager &SM,
HeaderSearch &Headers,
Modified: cfe/trunk/lib/Rewrite/HTMLRewrite.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Rewrite/HTMLRewrite.cpp?rev=86076&r1=86075&r2=86076&view=diff
==============================================================================
--- cfe/trunk/lib/Rewrite/HTMLRewrite.cpp (original)
+++ cfe/trunk/lib/Rewrite/HTMLRewrite.cpp Wed Nov 4 17:56:25 2009
@@ -564,10 +564,3 @@
// Restore diagnostics object back to its own thing.
PP.setDiagnostics(*OldDiags);
}
-
-void html::HighlightMacros(Rewriter &R, FileID FID,
- PreprocessorFactory &PPF) {
-
- llvm::OwningPtr<Preprocessor> PP(PPF.CreatePreprocessor());
- HighlightMacros(R, FID, *PP);
-}
Modified: cfe/trunk/tools/clang-cc/clang-cc.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-cc/clang-cc.cpp?rev=86076&r1=86075&r2=86076&view=diff
==============================================================================
--- cfe/trunk/tools/clang-cc/clang-cc.cpp (original)
+++ cfe/trunk/tools/clang-cc/clang-cc.cpp Wed Nov 4 17:56:25 2009
@@ -1195,67 +1195,48 @@
}
//===----------------------------------------------------------------------===//
-// Driver PreprocessorFactory - For lazily generating preprocessors ...
+// Preprocessor construction
//===----------------------------------------------------------------------===//
-namespace {
-class VISIBILITY_HIDDEN DriverPreprocessorFactory : public PreprocessorFactory {
- Diagnostic &Diags;
- const LangOptions &LangInfo;
- TargetInfo &Target;
- SourceManager &SourceMgr;
- HeaderSearch &HeaderInfo;
-
-public:
- DriverPreprocessorFactory(Diagnostic &diags, const LangOptions &opts,
- TargetInfo &target, SourceManager &SM,
- HeaderSearch &Headers)
- : Diags(diags), LangInfo(opts), Target(target),
- SourceMgr(SM), HeaderInfo(Headers) {}
-
-
- virtual ~DriverPreprocessorFactory() {}
-
- virtual Preprocessor* CreatePreprocessor() {
- llvm::OwningPtr<PTHManager> PTHMgr;
+static Preprocessor *
+CreatePreprocessor(Diagnostic &Diags,const LangOptions &LangInfo,
+ TargetInfo &Target, SourceManager &SourceMgr,
+ HeaderSearch &HeaderInfo) {
+ PTHManager *PTHMgr = 0;
+ if (!TokenCache.empty() && !ImplicitIncludePTH.empty()) {
+ fprintf(stderr, "error: cannot use both -token-cache and -include-pth "
+ "options\n");
+ exit(1);
+ }
- if (!TokenCache.empty() && !ImplicitIncludePTH.empty()) {
- fprintf(stderr, "error: cannot use both -token-cache and -include-pth "
- "options\n");
- exit(1);
- }
+ // Use PTH?
+ if (!TokenCache.empty() || !ImplicitIncludePTH.empty()) {
+ const std::string& x = TokenCache.empty() ? ImplicitIncludePTH:TokenCache;
+ PTHMgr = PTHManager::Create(x, &Diags,
+ TokenCache.empty() ? Diagnostic::Error
+ : Diagnostic::Warning);
+ }
- // Use PTH?
- if (!TokenCache.empty() || !ImplicitIncludePTH.empty()) {
- const std::string& x = TokenCache.empty() ? ImplicitIncludePTH:TokenCache;
- PTHMgr.reset(PTHManager::Create(x, &Diags,
- TokenCache.empty() ? Diagnostic::Error
- : Diagnostic::Warning));
- }
+ if (Diags.hasErrorOccurred())
+ exit(1);
- if (Diags.hasErrorOccurred())
- exit(1);
+ // Create the Preprocessor.
+ Preprocessor *PP = new Preprocessor(Diags, LangInfo, Target,
+ SourceMgr, HeaderInfo, PTHMgr);
- // Create the Preprocessor.
- llvm::OwningPtr<Preprocessor> PP(new Preprocessor(Diags, LangInfo, Target,
- SourceMgr, HeaderInfo,
- PTHMgr.get()));
-
- // Note that this is different then passing PTHMgr to Preprocessor's ctor.
- // That argument is used as the IdentifierInfoLookup argument to
- // IdentifierTable's ctor.
- if (PTHMgr) {
- PTHMgr->setPreprocessor(PP.get());
- PP->setPTHManager(PTHMgr.take());
- }
+ // Note that this is different then passing PTHMgr to Preprocessor's ctor.
+ // That argument is used as the IdentifierInfoLookup argument to
+ // IdentifierTable's ctor.
+ if (PTHMgr) {
+ PTHMgr->setPreprocessor(PP);
+ PP->setPTHManager(PTHMgr);
+ }
- PreprocessorInitOptions InitOpts;
- InitializePreprocessorInitOptions(InitOpts);
- InitializePreprocessor(*PP, InitOpts);
+ PreprocessorInitOptions InitOpts;
+ InitializePreprocessorInitOptions(InitOpts);
+ InitializePreprocessor(*PP, InitOpts);
- return PP.take();
- }
-};
+ return PP;
}
//===----------------------------------------------------------------------===//
@@ -1723,8 +1704,8 @@
/// ProcessInputFile - Process a single input file with the specified state.
///
-static void ProcessInputFile(Preprocessor &PP, PreprocessorFactory &PPF,
- const std::string &InFile, ProgActions PA,
+static void ProcessInputFile(Preprocessor &PP, const std::string &InFile,
+ ProgActions PA,
const llvm::StringMap<bool> &Features,
llvm::LLVMContext& Context) {
llvm::OwningPtr<llvm::raw_ostream> OS;
@@ -1749,11 +1730,11 @@
case EmitHTML:
OS.reset(ComputeOutFile(InFile, 0, true, OutPath));
- Consumer.reset(CreateHTMLPrinter(OS.get(), PP.getDiagnostics(), &PP, &PPF));
+ Consumer.reset(CreateHTMLPrinter(OS.get(), PP));
break;
case RunAnalysis:
- Consumer.reset(CreateAnalysisConsumer(PP.getDiagnostics(), &PP, &PPF,
+ Consumer.reset(CreateAnalysisConsumer(PP.getDiagnostics(), &PP,
PP.getLangOptions(), OutputFile,
ReadAnalyzerOptions()));
break;
@@ -2284,10 +2265,9 @@
InitializeIncludePaths(argv[0], HeaderInfo, FileMgr, LangInfo, Triple);
// Set up the preprocessor with these options.
- DriverPreprocessorFactory PPFactory(Diags, LangInfo, *Target,
- *SourceMgr.get(), HeaderInfo);
-
- llvm::OwningPtr<Preprocessor> PP(PPFactory.CreatePreprocessor());
+ llvm::OwningPtr<Preprocessor> PP(CreatePreprocessor(Diags, LangInfo,
+ *Target, *SourceMgr,
+ HeaderInfo));
if (!PP)
continue;
@@ -2324,7 +2304,7 @@
((PathDiagnosticClient*)DiagClient.get())->SetPreprocessor(PP.get());
// Process the source file.
- ProcessInputFile(*PP, PPFactory, InFile, ProgAction, Features, Context);
+ ProcessInputFile(*PP, InFile, ProgAction, Features, Context);
HeaderInfo.ClearFileInfo();
DiagClient->setLangOptions(0);
More information about the cfe-commits
mailing list