class Preprocessor: Now owns the "predefines" char*; it deletes [] it in its dstor.
clang.cpp: InitializePreprocessor now makes a copy of the contents of PredefinesBuffer and
passes it to the preprocessor object.
clang.cpp: DriverPreprocessorFactory now calls "InitializePreprocessor" instead of this being done in main().
html::HighlightMacros() now takes a PreprocessorFactory, allowing it to conjure up a new
Preprocessor to highlight macros.
class HTMLDiagnostics now takes a PreprocessorFactory* that it can use for html::HighlightMacros().
Updated clients of HTMLDiagnostics to use this new interface.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49875 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/HTMLDiagnostics.h b/Driver/HTMLDiagnostics.h
index 146c2cc..be72c49 100644
--- a/Driver/HTMLDiagnostics.h
+++ b/Driver/HTMLDiagnostics.h
@@ -17,11 +17,15 @@
#include <string>
namespace clang {
- class PathDiagnosticClient;
- class Preprocessor;
+
+class PathDiagnosticClient;
+class Preprocessor;
+class PreprocessorFactory;
+
- PathDiagnosticClient* CreateHTMLDiagnosticClient(const std::string& prefix,
- Preprocessor* PP);
+PathDiagnosticClient* CreateHTMLDiagnosticClient(const std::string& prefix,
+ Preprocessor* PP,
+ PreprocessorFactory* PPF);
}
#endif