This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: ObjC/ObjC++: bug fixes for @catch
- From: Mike Stump <mikestump at comcast dot net>
- To: Nicola Pero <nicola dot pero at meta-innovation dot com>
- Cc: "gcc-patches at gnu dot org" <gcc-patches at gnu dot org>
- Date: Sun, 28 Nov 2010 16:13:36 -0800
- Subject: Re: ObjC/ObjC++: bug fixes for @catch
- References: <1290903853.11678813@192.168.2.228>
On Nov 27, 2010, at 4:24 PM, Nicola Pero wrote:
> This patch fixes a number of bugs, minor and missing/incomplete checks (and some ICEs) in GCC's parsing
> of Objective-C @catch syntax.
> Ok to commit ?
I like the first patch better... We can trivially run subsets already, the total size of our testsuite is trivial. We can parallelize it as is already.
Ok.
> In gcc/objc/:
> 2010-11-28 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-28 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-28 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-28 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.