aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2007-08-18 17:54:11 +0000
committerTom Tromey <tromey@gcc.gnu.org>2007-08-18 17:54:11 +0000
commitcda5e672d80cf69da6901c62ec155a0731277b95 (patch)
tree4c75e2cbaa26bf6fb1d0cb5e2c8b8967e47c1bc2
parentc8aea42ce2c691e4e891476c456f4650d3757810 (diff)
downloadgcc-cda5e672d80cf69da6901c62ec155a0731277b95.zip
gcc-cda5e672d80cf69da6901c62ec155a0731277b95.tar.gz
gcc-cda5e672d80cf69da6901c62ec155a0731277b95.tar.bz2
re PR preprocessor/32974 (#pragma GCC dependency generates extra token error.)
gcc/testsuite PR preprocessor/32974: * gcc.dg/cpp/pr32974.c: New file. libcpp PR preprocessor/32974: * directives.c (parse_include): Don't check for EOL when processing #pragma dependency. From-SVN: r127614
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/cpp/pr32974.c6
-rw-r--r--libcpp/ChangeLog6
-rw-r--r--libcpp/directives.c6
4 files changed, 22 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 4f1b733..3e5ff06 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2007-08-18 Tom Tromey <tromey@redhat.com>
+
+ PR preprocessor/32974:
+ * gcc.dg/cpp/pr32974.c: New file.
+
2007-08-17 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/interface_abstract_1.f90: New.
diff --git a/gcc/testsuite/gcc.dg/cpp/pr32974.c b/gcc/testsuite/gcc.dg/cpp/pr32974.c
new file mode 100644
index 0000000..cec6a9e
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/pr32974.c
@@ -0,0 +1,6 @@
+/* PR preprocessor/32974 - don't warn for extra tokens in pragma dependency */
+/* { dg-do compile } */
+
+#pragma GCC dependency "pr32974.c" extra tokens are ok
+
+int x;
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 0157cf3..7e8dfd5a 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,9 @@
+2007-08-18 Tom Tromey <tromey@redhat.com>
+
+ PR preprocessor/32974:
+ * directives.c (parse_include): Don't check for EOL when
+ processing #pragma dependency.
+
2007-07-30 Ollie Wild <aaw@google.com>
* directives-only.c: New file.
diff --git a/libcpp/directives.c b/libcpp/directives.c
index 38ca949..7f72162 100644
--- a/libcpp/directives.c
+++ b/libcpp/directives.c
@@ -698,7 +698,11 @@ parse_include (cpp_reader *pfile, int *pangle_brackets,
return NULL;
}
- if (buf == NULL || CPP_OPTION (pfile, discard_comments))
+ if (pfile->directive == &dtable[T_PRAGMA])
+ {
+ /* This pragma allows extra tokens after the file name. */
+ }
+ else if (buf == NULL || CPP_OPTION (pfile, discard_comments))
check_eol (pfile);
else
{