diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2004-10-26 09:20:14 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2004-10-26 09:20:14 +0000 |
commit | 51e63e60b32911b32d553b3c8fb08ef54212951b (patch) | |
tree | 8b1dcd7ea7fe58c697f075ec9c7cdad1138aaa85 /gcc/testsuite | |
parent | bbdb90f76b20f62039880c986107e57f44ad3995 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/direct2.c | 23 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/direct2s.c | 23 |
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 () |