In gcc/objc/: 2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>
commit437c23222436111f80b29ec24d2fb863b567e589
authorNicola Pero <nicola.pero@meta-innovation.com>
Mon, 29 Nov 2010 03:15:40 +0000 (29 03:15 +0000)
committerNicola Pero <nicola@gcc.gnu.org>
Mon, 29 Nov 2010 03:15:40 +0000 (29 03:15 +0000)
tree44406a903b8b5e0d042b1c9cd87592f05480f94d
parent45f9cadb2a94bbb57bfd0a3f68afe42346c79c57
In gcc/objc/: 2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>

In gcc/objc/:
2010-11-29  Nicola Pero  <nicola.pero@meta-innovation.com>

* objc-act.c (objc_eh_runtime_type): Avoid ICE if error_mark_node
is passed as argument.
(objc_begin_catch_clause): Added code to deal with an
error_mark_node or NULL_TREE argument.  Improved checks for
invalid arguments.  Added code to traverse typedefs.

In gcc/testsuite/:
2010-11-29  Nicola Pero  <nicola.pero@meta-innovation.com>

* objc.dg/exceptions-1.m: New.
* objc.dg/exceptions-2.m: New.
* objc.dg/exceptions-3.m: New.
* objc.dg/exceptions-4.m: New.
* objc.dg/exceptions-5.m: New.
* obj-c++.dg/exceptions-1.mm: New.
* obj-c++.dg/exceptions-2.mm: New.
* obj-c++.dg/exceptions-3.mm: New.
* obj-c++.dg/exceptions-4.mm: New.
* obj-c++.dg/exceptions-5.mm: New.

In gcc/cp/:
2010-11-29  Nicola Pero  <nicola.pero@meta-innovation.com>

* parser.c (cp_parser_objc_try_catch_finally_statement): Parse
@catch(...)  and pass NULL_TREE to objc_begin_catch_clause() in
that case.  Improved error recovery.  Reorganized code to be
almost identical to c_parser_objc_try_catch_finally_statement.

In gcc/:
2010-11-29  Nicola Pero  <nicola.pero@meta-innovation.com>

* c-parser.c (c_parser_objc_try_catch_statement): Renamed to
c_parser_objc_try_catch_finally_statement for consistency with the
C++ parser.  Parse @catch(...) and pass NULL_TREE to
objc_begin_catch_clause() in that case.  Improved error recovery.
Reorganized code to be almost identical to
cp_parser_objc_try_catch_finally_statement.

From-SVN: r167233
17 files changed:
gcc/ChangeLog
gcc/c-parser.c
gcc/cp/ChangeLog
gcc/cp/parser.c
gcc/objc/ChangeLog
gcc/objc/objc-act.c
gcc/testsuite/ChangeLog
gcc/testsuite/obj-c++.dg/exceptions-1.mm [new file with mode: 0644]
gcc/testsuite/obj-c++.dg/exceptions-2.mm [new file with mode: 0644]
gcc/testsuite/obj-c++.dg/exceptions-3.mm [new file with mode: 0644]
gcc/testsuite/obj-c++.dg/exceptions-4.mm [new file with mode: 0644]
gcc/testsuite/obj-c++.dg/exceptions-5.mm [new file with mode: 0644]
gcc/testsuite/objc.dg/exceptions-1.m [new file with mode: 0644]
gcc/testsuite/objc.dg/exceptions-2.m [new file with mode: 0644]
gcc/testsuite/objc.dg/exceptions-3.m [new file with mode: 0644]
gcc/testsuite/objc.dg/exceptions-4.m [new file with mode: 0644]
gcc/testsuite/objc.dg/exceptions-5.m [new file with mode: 0644]