diff options
author | Jakub Jelinek <jakub@gcc.gnu.org> | 2008-07-31 09:59:18 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2008-07-31 09:59:18 +0200 |
commit | b3e200e1354de45b09c18ee4260d6b7e8d2db51e (patch) | |
tree | 434e7706c89f9b173975a8006a41288a3516ae87 /gcc | |
parent | 035b2a77778b299d14841ea162974615d111153e (diff) | |
download | gcc-b3e200e1354de45b09c18ee4260d6b7e8d2db51e.zip gcc-b3e200e1354de45b09c18ee4260d6b7e8d2db51e.tar.gz gcc-b3e200e1354de45b09c18ee4260d6b7e8d2db51e.tar.bz2 |
re PR preprocessor/36649 (-H option doesn't work as expected)
PR preprocessor/36649
* c-pch.c (c_common_read_pch): Save and restore
line_table->trace_includes across PCH restore.
* gcc.dg/pch/cpp-3.c: New test.
* gcc.dg/pch/cpp-3.hs: New file.
* gcc.dg/pch/cpp-3a.h: New file.
* gcc.dg/pch/cpp-3b.h: New file.
From-SVN: r138360
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/c-pch.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pch/cpp-3.c | 13 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pch/cpp-3.hs | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pch/cpp-3a.h | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pch/cpp-3b.h | 1 |
7 files changed, 31 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3584c53..57a4f16 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-07-31 Jakub Jelinek <jakub@redhat.com> + + PR preprocessor/36649 + * c-pch.c (c_common_read_pch): Save and restore + line_table->trace_includes across PCH restore. + 2008-07-30 Eric Botcazou <ebotcazou@adacore.com> PR ada/36554 @@ -6,7 +12,7 @@ 2008-07-30 Rafael Avila de Espindola <espindola@google.com> PR 36974 - * final.c (call_from_call_insn): Handle COND_EXEC + * final.c (call_from_call_insn): Handle COND_EXEC. 2008-07-30 H.J. Lu <hongjiu.lu@intel.com> diff --git a/gcc/c-pch.c b/gcc/c-pch.c index 3fde461..520b866 100644 --- a/gcc/c-pch.c +++ b/gcc/c-pch.c @@ -367,6 +367,7 @@ c_common_read_pch (cpp_reader *pfile, const char *name, struct c_pch_header h; struct save_macro_data *smd; expanded_location saved_loc; + bool saved_trace_includes; f = fdopen (fd, "rb"); if (f == NULL) @@ -412,6 +413,7 @@ c_common_read_pch (cpp_reader *pfile, const char *name, /* Save the location and then restore it after reading the PCH. */ saved_loc = expand_location (line_table->highest_line); + saved_trace_includes = line_table->trace_includes; cpp_prepare_state (pfile, &smd); @@ -425,6 +427,7 @@ c_common_read_pch (cpp_reader *pfile, const char *name, fclose (f); + line_table->trace_includes = saved_trace_includes; cpp_set_line_map (pfile, line_table); linemap_add (line_table, LC_RENAME, 0, saved_loc.file, saved_loc.line); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a402529..8534f8c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2008-07-31 Jakub Jelinek <jakub@redhat.com> + + PR debug/36278 + * g++.dg/debug/namespace2.C: New test. + 2008-07-30 Eric Botcazou <ebotcazou@adacore.com> * gnat.dg/boolean_expr.ad[sb]: New test. diff --git a/gcc/testsuite/gcc.dg/pch/cpp-3.c b/gcc/testsuite/gcc.dg/pch/cpp-3.c new file mode 100644 index 0000000..25b5ca4 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pch/cpp-3.c @@ -0,0 +1,13 @@ +/* PR preprocessor/36649 */ +/* { dg-do compile } */ +/* { dg-options "-H -I." } */ +/* { dg-message "cpp-3.h\[^\n\]*(\n\[^\n\]*cpp-3.c)?\n\[^\n\]*cpp-3a.h\n\[^\n\]*cpp-3b.h" "" { target *-*-* } 0 } */ + +#include "cpp-3.h" +#include "cpp-3a.h" + +int +main (void) +{ + return 0; +} diff --git a/gcc/testsuite/gcc.dg/pch/cpp-3.hs b/gcc/testsuite/gcc.dg/pch/cpp-3.hs new file mode 100644 index 0000000..40a8c17 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pch/cpp-3.hs @@ -0,0 +1 @@ +/* empty */ diff --git a/gcc/testsuite/gcc.dg/pch/cpp-3a.h b/gcc/testsuite/gcc.dg/pch/cpp-3a.h new file mode 100644 index 0000000..2cc9fd2 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pch/cpp-3a.h @@ -0,0 +1 @@ +#include "cpp-3b.h" diff --git a/gcc/testsuite/gcc.dg/pch/cpp-3b.h b/gcc/testsuite/gcc.dg/pch/cpp-3b.h new file mode 100644 index 0000000..40a8c17 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pch/cpp-3b.h @@ -0,0 +1 @@ +/* empty */ |