aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2013-04-29 17:26:22 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2013-04-29 17:26:22 +0000
commit56f6e09562568437e852eba192c17869beba1d49 (patch)
tree63a5518155afd952426e1effc7c93a359d443968
parent1d75a3b8efb1b4233b3f431604efcd60da8623e4 (diff)
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
-rw-r--r--lib/Frontend/PrintPreprocessedOutput.cpp1
-rw-r--r--test/Preprocessor/pp-modules.c4
2 files changed, 5 insertions, 0 deletions
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 <Module/Module.h>
+
+#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