55 lines
1.9 KiB
Diff
55 lines
1.9 KiB
Diff
Upstream-Status: Inappropriate [Backport]
|
|
From 0d6afd28da26c4b09e1eb2b16d7a3c021fae7372 Mon Sep 17 00:00:00 2001
|
|
From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
|
|
Date: Tue, 29 Mar 2011 20:30:06 +0000
|
|
Subject: [PATCH 039/200] PR preprocessor/48248
|
|
* c-ppoutput.c (print): Add src_file field.
|
|
(init_pp_output): Initialize it.
|
|
(maybe_print_line): Don't optimize by adding up to 8 newlines
|
|
if map->to_file and print.src_file are different file.
|
|
(print_line): Update print.src_file.
|
|
|
|
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171697 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
index 57ed676..9ebac42 100644
|
|
--- a/gcc/c-family/c-ppoutput.c
|
|
+++ b/gcc/c-family/c-ppoutput.c
|
|
@@ -36,6 +36,7 @@ static struct
|
|
int src_line; /* Line number currently being written. */
|
|
unsigned char printed; /* Nonzero if something output at line. */
|
|
bool first_time; /* pp_file_change hasn't been called yet. */
|
|
+ const char *src_file; /* Current source file. */
|
|
} print;
|
|
|
|
/* Defined and undefined macros being queued for output with -dU at
|
|
@@ -153,6 +154,7 @@ init_pp_output (FILE *out_stream)
|
|
print.prev = 0;
|
|
print.outf = out_stream;
|
|
print.first_time = 1;
|
|
+ print.src_file = "";
|
|
}
|
|
|
|
/* Writes out the preprocessed file, handling spacing and paste
|
|
@@ -312,7 +314,9 @@ maybe_print_line (source_location src_loc)
|
|
print.printed = 0;
|
|
}
|
|
|
|
- if (src_line >= print.src_line && src_line < print.src_line + 8)
|
|
+ if (src_line >= print.src_line
|
|
+ && src_line < print.src_line + 8
|
|
+ && strcmp (map->to_file, print.src_file) == 0)
|
|
{
|
|
while (src_line > print.src_line)
|
|
{
|
|
@@ -344,6 +348,7 @@ print_line (source_location src_loc, const char *special_flags)
|
|
unsigned char *p;
|
|
|
|
print.src_line = SOURCE_LINE (map, src_loc);
|
|
+ print.src_file = map->to_file;
|
|
|
|
/* cpp_quote_string does not nul-terminate, so we have to do it
|
|
ourselves. */
|
|
--
|
|
1.7.0.4
|
|
|