From: Jakub Jelinek Date: Thu, 31 Jul 2008 07:59:18 +0000 (+0200) Subject: re PR preprocessor/36649 (-H option doesn't work as expected) X-Git-Tag: releases/gcc-4.4.0~3605 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b3e200e1354de45b09c18ee4260d6b7e8d2db51e;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3584c53ca45a..57a4f1640ab1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-07-31 Jakub Jelinek + + 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 PR ada/36554 @@ -6,7 +12,7 @@ 2008-07-30 Rafael Avila de Espindola 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 diff --git a/gcc/c-pch.c b/gcc/c-pch.c index 3fde4611faba..520b866e30df 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 a40252920598..8534f8c1a271 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2008-07-31 Jakub Jelinek + + PR debug/36278 + * g++.dg/debug/namespace2.C: New test. + 2008-07-30 Eric Botcazou * 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 000000000000..25b5ca4077ff --- /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 000000000000..40a8c178f10d --- /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 000000000000..2cc9fd2f9a5e --- /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 000000000000..40a8c178f10d --- /dev/null +++ b/gcc/testsuite/gcc.dg/pch/cpp-3b.h @@ -0,0 +1 @@ +/* empty */