aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2004-10-26 09:20:14 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2004-10-26 09:20:14 +0000
commit51e63e60b32911b32d553b3c8fb08ef54212951b (patch)
tree8b1dcd7ea7fe58c697f075ec9c7cdad1138aaa85 /gcc/testsuite
parentbbdb90f76b20f62039880c986107e57f44ad3995 (diff)
downloadgcc-51e63e60b32911b32d553b3c8fb08ef54212951b.zip
gcc-51e63e60b32911b32d553b3c8fb08ef54212951b.tar.gz
gcc-51e63e60b32911b32d553b3c8fb08ef54212951b.tar.bz2
c-lex.c (get_nonpadding_token): Remove.
* c-lex.c (get_nonpadding_token): Remove. (c_lex_with_flags): Push timevar and eat padding here. Improve stray token diagnostic. (lex_string): Replace logic with switch statement, eat padding token here. * cp/parser.c (cp_lexer_get_preprocessor_token): Remove unneeded padding token checking. testsuite: * gcc.dg/cpp/direct2.c: Adjust expected errors, robustify parser resyncing. * gcc.dg/cpp/direct2s.c: Likewise. From-SVN: r89577
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.dg/cpp/direct2.c23
-rw-r--r--gcc/testsuite/gcc.dg/cpp/direct2s.c23
3 files changed, 38 insertions, 14 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8e00d1b..e8a8ec6 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2004-10-26 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gcc.dg/cpp/direct2.c: Adjust expected errors, robustify parser
+ resyncing.
+ * gcc.dg/cpp/direct2s.c: Likewise.
+
2004-10-25 Geoffrey Keating <geoffk@apple.com>
* objc.dg/image-info.m: Update for changes to section selection.
diff --git a/gcc/testsuite/gcc.dg/cpp/direct2.c b/gcc/testsuite/gcc.dg/cpp/direct2.c
index 52d1e31..433cf93 100644
--- a/gcc/testsuite/gcc.dg/cpp/direct2.c
+++ b/gcc/testsuite/gcc.dg/cpp/direct2.c
@@ -10,15 +10,24 @@
#define HASHDEFINE #define
#define HASHINCLUDE #include
-HASH include "somerandomfile" /*{ dg-error "syntax|parse" "non-include" }*/
+HASH include "somerandomfile" /*{ dg-error "stray" "non-include" }*/
/*{ dg-bogus "No such" "don't execute non-include" { target *-*-* } 13 }*/
-HASHINCLUDE <somerandomfile> /*{ dg-error "syntax|parse" "non-include 2" }*/
-/*{ dg-bogus "No such" "don't execute non-include 2" { target *-*-* } 15 }*/
+int resync_parser_1; /*{ dg-error "parse" "" }*/
-void g ()
+HASHINCLUDE <somerandomfile> /*{ dg-error "stray" "non-include 2" }*/
+/*{ dg-bogus "No such" "don't execute non-include 2" { target *-*-* } 17 }*/
+int resync_parser_2;
+
+void g1 ()
+{
+HASH define X 1 /* { dg-error "stray|undeclared|parse|for each" "# from macro" } */
+ int resync_parser_3;
+}
+
+void g2 ()
{
-HASH define X 1 /* { dg-error "syntax error" "# from macro" } */
-HASHDEFINE Y 1 /* { dg-error "syntax error" "#define from macro" } */
+HASHDEFINE Y 1 /* { dg-error "stray|undeclared|parse|for each" "#define from macro" } */
+ int resync_parser_4;
}
#pragma GCC dependency "direct2.c"
@@ -34,4 +43,4 @@ void f ()
#define starslash *##/
slashstar starslash /* { dg-error "(parse|syntax) error" "not a comment" } */
-/* { dg-warning "does not give" "paste warning(s)" { target *-*-* } 36 } */
+/* { dg-warning "does not give" "paste warning(s)" { target *-*-* } 45 } */
diff --git a/gcc/testsuite/gcc.dg/cpp/direct2s.c b/gcc/testsuite/gcc.dg/cpp/direct2s.c
index 4d970a6..939a213 100644
--- a/gcc/testsuite/gcc.dg/cpp/direct2s.c
+++ b/gcc/testsuite/gcc.dg/cpp/direct2s.c
@@ -12,18 +12,27 @@
#define HASHDEFINE #define
#define HASHINCLUDE #include
-HASH include "somerandomfile" /*{ dg-error "syntax|parse" "non-include" }*/
+HASH include "somerandomfile" /*{ dg-error "stray" "non-include" }*/
/*{ dg-bogus "No such" "don't execute non-include" { target *-*-* } 15 }*/
-HASHINCLUDE <somerandomfile> /*{ dg-error "syntax|parse" "non-include 2" }*/
-/*{ dg-bogus "No such" "don't execute non-include 2" { target *-*-* } 17 }*/
+int resync_parser_1; /*{ dg-error "parse" "" }*/
-void g ()
+HASHINCLUDE <somerandomfile> /*{ dg-error "stray" "non-include 2" }*/
+/*{ dg-bogus "No such" "don't execute non-include 2" { target *-*-* } 18 }*/
+int resync_parser_2;
+
+void g1 ()
+{
+HASH define X 1 /* { dg-error "stray|undeclared|parse|for each" "# from macro" } */
+ int resync_parser_3;
+}
+
+void g2 ()
{
-HASH define X 1 /* { dg-error "syntax error" "# from macro" } */
-HASHDEFINE Y 1 /* { dg-error "syntax error" "#define from macro" } */
+HASHDEFINE Y 1 /* { dg-error "stray|undeclared|parse|for each" "#define from macro" } */
+ int resync_parser_4;
}
-#pragma GCC dependency "direct2s.c"
+#pragma GCC dependency "direct2.c"
#
void f ()