aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/c-lex.c19
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/Wunknownprag.c11
4 files changed, 30 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 973df1e..a1a5173 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-06-27 Neil Booth <neil@daikokuya.co.uk>
+
+ PR preprocessor/7070
+ * c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF.
+
2002-06-26 Bob Wilson <bob.wilson@acm.org>
* config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare.
diff --git a/gcc/c-lex.c b/gcc/c-lex.c
index 4cb70c8..3d8ecff 100644
--- a/gcc/c-lex.c
+++ b/gcc/c-lex.c
@@ -322,20 +322,21 @@ cb_def_pragma (pfile, line)
-Wunknown-pragmas has been given. */
if (warn_unknown_pragmas > in_system_header)
{
- const unsigned char *space, *name = 0;
+ const unsigned char *space, *name;
const cpp_token *s;
+ space = name = (const unsigned char *) "";
s = cpp_get_token (pfile);
- space = cpp_token_as_text (pfile, s);
- s = cpp_get_token (pfile);
- if (s->type == CPP_NAME)
- name = cpp_token_as_text (pfile, s);
+ if (s->type != CPP_EOF)
+ {
+ space = cpp_token_as_text (pfile, s);
+ s = cpp_get_token (pfile);
+ if (s->type == CPP_NAME)
+ name = cpp_token_as_text (pfile, s);
+ }
lineno = SOURCE_LINE (map, line);
- if (name)
- warning ("ignoring #pragma %s %s", space, name);
- else
- warning ("ignoring #pragma %s", space);
+ warning ("ignoring #pragma %s %s", space, name);
}
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index dacb054..e97784c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2002-06-27 Neil Booth <neil@daikokuya.co.uk>
+
+ * gcc.dg/Wunknownprag.c: New tests.
+
Tue Jun 25 21:50:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
* gcc.c-torture/execute/simd-2.c: New test.
diff --git a/gcc/testsuite/gcc.dg/Wunknownprag.c b/gcc/testsuite/gcc.dg/Wunknownprag.c
new file mode 100644
index 0000000..c5ba58f
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/Wunknownprag.c
@@ -0,0 +1,11 @@
+/* Copyright (C) 2002 Free Software Foundation, Inc. */
+
+/* { dg-do compile } */
+/* { dg-options "-Wunknown-pragmas" } */
+
+/* We used to get "unspellable token: CPP_EOF" warnings. */
+
+#pragma /* { dg-warning "ignoring #pragma" } */
+#pragma ~ /* { dg-warning "ignoring #pragma" } */
+#pragma baz /* { dg-warning "ignoring #pragma" } */
+#pragma baz baz /* { dg-warning "ignoring #pragma" } */