This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.

Attachment: 165498-parse-atpackage.txt
Description: Text document




gcc/testsuite:


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

Attachment: 165498-package-testsuite.txt
Description: Text document



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]