Hey Pete,
You are correct - just unifying the behaviour as you said.
I do not have commit access, would be very helpful if you could pull it in!
Cheers,
-Neil.
On 19/09/2013 19:45, Pete Cooper wrote:
Hi Neil
This looks like you’re just making Preprocessor and ASTContext behave
like FileManager and SourceManager already do. That is, clang already
has this:
if(!CI.hasFileManager())
CI.createFileManager();
if(!CI.hasSourceManager())
CI.createSourceManager(CI.getFileManager());
I assume you don’t have commit access. I’m happy to commit this
change if no-one has any objections.
Thanks,
Pete
On Sep 13, 2013, at 1:59 AM, Neil Henning <[email protected]
<mailto:[email protected]>> wrote:
There have been no comments/concerns raised, so how can I get this
committed to trunk?
Thanks for your help,
-Neil Henning.
On 11/09/2013 10:26, Neil Henning wrote:
CompilerInvocation can have a previously set FileManager and
SourceManager, but not a Preprocessor or ASTContext. This stops
Clang drivers from being able to declare their own Preprocessor and
ASTContext before calling using FrontendAction's BeginSourceFile to
compile.
This patch allows a Preprocessor or ASTContext to previously have
been set.
Any comments would be appreciated,
-Neil Henning.
Patch (also attached);
Index: lib/Frontend/FrontendAction.cpp
===================================================================
--- lib/Frontend/FrontendAction.cpp (revision 190499)
+++ lib/Frontend/FrontendAction.cpp (working copy)
@@ -265,7 +265,8 @@
}
// Set up the preprocessor.
- CI.createPreprocessor();
+ if(!CI.hasPreprocessor())
+ CI.createPreprocessor();
// Inform the diagnostic client we are processing a source file.
CI.getDiagnosticClient().BeginSourceFile(CI.getLangOpts(),
@@ -279,7 +280,8 @@
// Create the AST context and consumer unless this is a
preprocessor only
// action.
if (!usesPreprocessorOnly()) {
- CI.createASTContext();
+ if(!CI.hasASTContext())
+ CI.createASTContext();
OwningPtr<ASTConsumer> Consumer(
CreateWrappedASTConsumer(CI, InputFile));
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
_______________________________________________
cfe-commits mailing list
[email protected] <mailto:[email protected]>
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits