diff options
author | Andrew Pinski <pinskia@physics.uc.edu> | 2005-09-08 13:09:49 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2005-09-08 06:09:49 -0700 |
commit | 8f078c08371d600c4834f90831b9ba54316ab019 (patch) | |
tree | 9ae97a6a050ddd44173676ffd5a92f1bc5cbe563 /gcc | |
parent | 8aeca7fda07b3e505cab58c650ba46f352dc6f73 (diff) | |
download | gcc-8f078c08371d600c4834f90831b9ba54316ab019.zip gcc-8f078c08371d600c4834f90831b9ba54316ab019.tar.gz gcc-8f078c08371d600c4834f90831b9ba54316ab019.tar.bz2 |
re PR objc/20574 (weird error message after a parse error)
2005-09-08 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/20574
PR objc/19324
* c-parser.c (c_parser_objc_method_definition): If the next
token is not "{", error out and don't start the function.
2005-09-08 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/20574
PR objc/19324
* objc.dg/error-1.m: New test.
From-SVN: r104032
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/c-parser.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/objc.dg/error-1.m | 6 |
4 files changed, 24 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a360100..3edc2b3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2005-09-08 Andrew Pinski <pinskia@physics.uc.edu> + PR objc/20574 + PR objc/19324 + * c-parser.c (c_parser_objc_method_definition): If the next + token is not "{", error out and don't start the function. + +2005-09-08 Andrew Pinski <pinskia@physics.uc.edu> + * tree-vrp.c (extract_range_from_expr): Move the check for non nullness after the check for gimple invariant. diff --git a/gcc/c-parser.c b/gcc/c-parser.c index 268fa90..ce03569 100644 --- a/gcc/c-parser.c +++ b/gcc/c-parser.c @@ -5723,6 +5723,11 @@ c_parser_objc_method_definition (c_parser *parser) if (pedantic) pedwarn ("extra semicolon in method definition specified"); } + if (!c_parser_next_token_is (parser, CPP_OPEN_BRACE)) + { + c_parser_error (parser, "expected %<{%>"); + return; + } objc_pq_context = 0; objc_start_method_definition (decl); add_stmt (c_parser_compound_statement (parser)); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c68a2ae..e43b16c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2005-09-08 Andrew Pinski <pinskia@physics.uc.edu> + + PR objc/20574 + PR objc/19324 + * objc.dg/error-1.m: New test. + 2005-09-07 Richard Sandiford <richard@codesourcery.com> PR fortran/23373 diff --git a/gcc/testsuite/objc.dg/error-1.m b/gcc/testsuite/objc.dg/error-1.m new file mode 100644 index 0000000..86b9d7f --- /dev/null +++ b/gcc/testsuite/objc.dg/error-1.m @@ -0,0 +1,6 @@ +/* { dg-options "-w" } */ +/* { dg-do compile } */ +@implementation A ++B ++C {} /* { dg-error "expected '\{' before '\\\+' token" } */ +@end |