diff options
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 |
