summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/lib/Frontend/PrintPreprocessedOutput.cpp5
-rw-r--r--clang/test/Preprocessor/print_line_include.c6
-rw-r--r--clang/test/Preprocessor/print_line_include.h1
3 files changed, 11 insertions, 1 deletions
diff --git a/clang/lib/Frontend/PrintPreprocessedOutput.cpp b/clang/lib/Frontend/PrintPreprocessedOutput.cpp
index afad0a9f5ff..02da71bbbe8 100644
--- a/clang/lib/Frontend/PrintPreprocessedOutput.cpp
+++ b/clang/lib/Frontend/PrintPreprocessedOutput.cpp
@@ -268,7 +268,10 @@ void PrintPPOutputPPCallbacks::FileChanged(SourceLocation Loc,
Lexer::Stringify(CurFilename);
FileType = NewFileType;
- if (DisableLineMarkers) return;
+ if (DisableLineMarkers) {
+ startNewLineIfNeeded(/*ShouldUpdateCurrentLine=*/false);
+ return;
+ }
if (!Initialized) {
WriteLineInfo(CurLine);
diff --git a/clang/test/Preprocessor/print_line_include.c b/clang/test/Preprocessor/print_line_include.c
new file mode 100644
index 00000000000..d65873cb736
--- /dev/null
+++ b/clang/test/Preprocessor/print_line_include.c
@@ -0,0 +1,6 @@
+// RUN: %clang_cc1 -E -P %s | FileCheck %s
+// CHECK: int x;
+// CHECK-NEXT: int x;
+
+#include "print_line_include.h"
+#include "print_line_include.h"
diff --git a/clang/test/Preprocessor/print_line_include.h b/clang/test/Preprocessor/print_line_include.h
new file mode 100644
index 00000000000..6d1a0d47b7f
--- /dev/null
+++ b/clang/test/Preprocessor/print_line_include.h
@@ -0,0 +1 @@
+int x;
OpenPOWER on IntegriCloud