diff options
author | Nicola Pero <nicola.pero@meta-innovation.com> | 2010-12-02 00:25:42 +0000 |
---|---|---|
committer | Nicola Pero <nicola@gcc.gnu.org> | 2010-12-02 00:25:42 +0000 |
commit | d0f7899abb4d765cfe9da433cb17b38a425d55e8 (patch) | |
tree | 075ceadb8e8d3c2b02d0aa82b3fef533ec9e1aa7 /gcc/objc | |
parent | 2eb2e95f8f85ed62358f5d11094bbed2dbf08f64 (diff) | |
download | gcc-d0f7899abb4d765cfe9da433cb17b38a425d55e8.zip gcc-d0f7899abb4d765cfe9da433cb17b38a425d55e8.tar.gz gcc-d0f7899abb4d765cfe9da433cb17b38a425d55e8.tar.bz2 |
In gcc/objc/: 2010-12-02 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2010-12-02 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_build_throw_stmt): Return error_mark_node and
not NULL_TREE when a @throw is used outside of a @catch block.
In gcc/cp/:
2010-12-02 Nicola Pero <nicola.pero@meta-innovation.com>
* parser.c (cp_parser_objc_throw_statement): Use
cp_parser_expression, not cp_parser_assignment_expression, to
parse the argument of a @throw.
In gcc/testsuite/:
2010-12-02 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/exceptions-6.m: New.
* obj-c++.dg/exceptions-6.mm: New.
From-SVN: r167364
Diffstat (limited to 'gcc/objc')
-rw-r--r-- | gcc/objc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/objc/objc-act.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index 90765eb..70ca6a88 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,8 @@ +2010-12-02 Nicola Pero <nicola.pero@meta-innovation.com> + + * objc-act.c (objc_build_throw_stmt): Return error_mark_node and + not NULL_TREE when a @throw is used outside of a @catch block. + 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (objc_build_volatilized_type): Removed. diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index b9cb650..7eba65e 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -5520,7 +5520,7 @@ objc_build_throw_stmt (location_t loc, tree throw_expr) || cur_try_context->current_catch == NULL) { error_at (loc, "%<@throw%> (rethrow) used outside of a @catch block"); - return NULL_TREE; + return error_mark_node; } /* Otherwise the object is still sitting in the EXC_PTR_EXPR |