[Patch ObjC*] add parse-side support for @package.

IainS developer@sandoe-acoustics.co.uk
Fri Oct 15 10:41:00 GMT 2010


Hi,

This is (other than declarations) all ObjC local  - but it is new  
code, not a merge.
I also replaced the magic numbers with an enum for objc ivar visibility.

OK for trunk?
Iain

gcc/c-family:
	
	* c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
	* c-common.h (enum rid): Add RID_AT_PACKAGE.
	(objc_ivar_visibility_kind): New enum.
	(objc_set_visibility): Adjust prototype to use visibility enum.
	* stub-objc.c (objc_set_visibility): Adjust stub to use
	visibility enum.

gcc/objc:

	* objc-act.c: Rename 'objc_public_flag' to  objc_ivar_visibility and
	make its type 'objc_ivar_visibility_kind'.
	(objc_start_class_interface): Update to use visibility enum.
	(objc_start_class_implementation): Likewise.
	(objc_set_visibility): Update to use visibility enum, warn that
	@package is handle as per @public.
	(add_instance_variable): Handle OBJC_IVAR_VIS_PACKAGE.
	* objc-act.h: Rename 'objc_public_flag' to  objc_ivar_visibility and
	make its type 'objc_ivar_visibility_kind'.

gcc/cp:

	* parser.c (cp_parser_objc_visibility_spec): Update to use visibility
	enum, and handle @package.

gcc:

	* c-parser.c (c_parser_objc_class_instance_variables): Update to use
	visibility enum, and handle @package.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 165498-parse-atpackage.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20101015/23b3f285/attachment.txt>
-------------- next part --------------



gcc/testsuite:

	* objc.dg/fsf-package-0.m: New.
	* obj-c++.dg/fsf-package-0.m: New.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 165498-package-testsuite.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20101015/23b3f285/attachment-0001.txt>
-------------- next part --------------



More information about the Gcc-patches mailing list