From: Argyrios Kyrtzidis Date: Mon, 29 Apr 2013 17:26:22 +0000 (+0000) Subject: When emitting a preprocessed file with implicit module imports, make sure line direct... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=56f6e09562568437e852eba192c17869beba1d49;p=clang When emitting a preprocessed file with implicit module imports, make sure line directives are emitted in the next line. rdar://13722737 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180718 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Frontend/PrintPreprocessedOutput.cpp b/lib/Frontend/PrintPreprocessedOutput.cpp index 3cef68df32..9fd3649435 100644 --- a/lib/Frontend/PrintPreprocessedOutput.cpp +++ b/lib/Frontend/PrintPreprocessedOutput.cpp @@ -335,6 +335,7 @@ void PrintPPOutputPPCallbacks::InclusionDirective(SourceLocation HashLoc, MoveToLine(HashLoc); OS << "@import " << Imported->getFullModuleName() << ";" << " /* clang -E: implicit import for \"" << File->getName() << "\" */"; + EmittedTokensOnThisLine = true; } } diff --git a/test/Preprocessor/pp-modules.c b/test/Preprocessor/pp-modules.c index c6c3ecc034..213a5fd23c 100644 --- a/test/Preprocessor/pp-modules.c +++ b/test/Preprocessor/pp-modules.c @@ -9,3 +9,7 @@ int bar(); int foo(); // CHECK: @import Module; /* clang -E: implicit import for "{{.*Headers[/\\]Module.h}}" */ #include + +#include "pp-modules.h" // CHECK: # 1 "{{.*}}pp-modules.h" 1 +// CHECK: @import Module; /* clang -E: implicit import for "{{.*}}Module.h" */{{$}} +// CHECK: # 14 "{{.*}}pp-modules.c" 2