gcc/gcc ChangeLog.objc-improvements c-common.h ...

zlaski@gcc.gnu.org zlaski@gcc.gnu.org
Wed Jun 23 19:43:00 GMT 2004


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	objc-improvements-branch
Changes by:	zlaski@gcc.gnu.org	2004-06-23 19:43:56

Modified files:
	gcc            : ChangeLog.objc-improvements c-common.h 
	                 c-parse.in c-typeck.c expr.c stub-objc.c 
	gcc/cp         : ChangeLog.objc-improvements parser.c 
	gcc/objc       : ChangeLog.objc-improvements objc-act.c 
	                 objc-act.h 
	gcc/objcp      : ChangeLog.objc-improvements lang-specs.h 
	                 objcp-decl.c 
	gcc/testsuite  : ChangeLog.objc-improvements 
	gcc/testsuite/objc/execute: next_mapping.h 
	gcc/testsuite/objc.dg: bitfield-2.m id-1.m 
Added files:
	gcc/testsuite/obj-c++.dg: qual-types-1.mm template-4.mm 
	                          va-meth-1.mm 
	gcc/testsuite/objc.dg: va-meth-1.m 

Log message:
	[gcc/ChangeLog.objc-improvements]
	2004-06-23  Ziemowit Laski  <zlaski@apple.com>
	
	* c-common.h (objc_is_id, objc_get_protocol_qualified_type): New
	prototypes.
	(objc_method_ellipsis, objc_get_static_reference,
	objc_get_object_reference, objc_continue_method_definition):
	Remove prototypes.
	* c-parse.in (optparms, optellipsis): New nonterminals.
	(myparms, myparm, myxdecls, mydecls, mydecl, optarglist): Remove.
	(typespec_nonreserved_nonattr): Call objc_get_protocol_qualified_type()
	instead of objc_get_static_reference() or objc_get_object_reference().
	* c-typeck.c (build_c_cast): Preserve the NOP_EXPR when casting
	to an Objective-C type.
	* expr.c (categorize_ctor_elements_1): Check for presence of
	designated initializer before checking its TREE_CODE.
	* stub_objc.c (objc_is_id, objc_get_protocol_qualified_type): New
	stub functions.
	(objc_method_ellipsis, objc_get_static_reference,
	objc_get_object_reference, objc_continue_method_definition):
	Remove stub functions.
	
	[gcc/cp/ChangeLog.objc-improvements]
	2004-06-23  Ziemowit Laski  <zlaski@apple.com>
	
	* parser.c (cp_parser_objc_protocol_refs): Add missing prototype.
	(cp_parser_simple_type_specifier): Attempt to parse type name
	as a protocol-qualified Objective-C type, if preceding efforts
	failed.
	(cp_parser_objc_method_tail_params_opt): Fix handling of variable
	arguments to methods.
	(cp_parser_objc_method_definition_list): Do not call
	objc_continue_method_definition().
	
	[gcc/objc/ChangeLog.objc-improvements]
	2004-06-23  Ziemowit Laski  <zlaski@apple.com>
	
	* objc-act.c (TYPE_ID): Rename to OBJECT_TYPEDEF_NAME.
	(CLASS_TYPEDEF_NAME): New.
	(objc_init): Do not initialize objc_ellipsis_node.
	(objc_method_ellipsis): Remove.
	(objc_get_static_reference, objc_get_object_reference): Removed,
	replaced by...
	(objc_get_protocol_qualified_type): ... this function; the 'id' and
	'Class' types no longer need to be defined in a header.
	(synth_module_prologue): Predefine 'id' and 'Class' as typedefs; rename
	'temp_type' to 'type'.
	(id_type, objc_id_id): Rename to objc_object_type and objc_object_name,
	respectively.
	(objc_class_type, objc_class_name, objc_class_reference): New.
	(objc_build_constructor): Remove initializer element conversions;
	tweak Objective-C++ impedance matching.
	(add_objc_string): Cast return value to 'char *'.
	(objc_is_id): New function.
	(objc_is_object_ptr): Return the canonical type node.
	(generate_ivar_lists): Convert one of the initializer elements.
	(get_arg_type_list, start_method_def, gen_method_def): Account for
	new representation of variable arguments and '...' in Objective-C
	methods; add Objective-C++ impedance matching code.
	(objc_finish_message_expr): Call objc_is_id() instead of using
	IS_ID and IS_CLASS; Use objc_class_name instead of calling
	get_identifier("Class").
	(really_start_method): Initialize SELF_DECL here, and not in
	start_method_def.
	(objc_continue_method_definition): Remove.
	(is_complex_decl): Use objc_is_id() instead of IS_ID.
	* objc-act.h (OCTI_ELLIPSIS_NODE, objc_ellipsis_node): Remove.
	(OCTI_ID_ID, id_type, objc_id_id): Rename to OCTI_ID_NAME,
	objc_object_type and objc_object_name, respectively.
	(OCTI_CLS_REF, OCTI_CLASS_NAME, objc_class_reference,
	objc_class_name): New.
	
	[gcc/objcp/ChangeLog.objc-improvements]
	2004-06-23  Ziemowit Laski  <zlaski@apple.com>
	
	* lang-specs.h: Add missing initializer, analogously to
	cp/lang-specs.h.
	* objcp-decl.c (objcp_get_parm_info): Adjust call to
	finish_parmlist().
	
	[gcc/testsuite/ChangeLog.objc-improvements]
	2004-06-23  Ziemowit Laski  <zlaski@apple.com>
	
	* objc/execute/next_mapping.h: Include stdlib.h and string.h.
	(MIN, MAX, ROUND): Redefine macros to be C/C++-agnostic.
	(__small_struct): New typedef.
	(STRUCTURE_SIZE_BOUNDARY): Use __small_struct instead of an inline
	struct definition.
	(arglist_t): Provide a union tag.
	(objc_aligned_size): Add missing prototype.
	(objc_sizeof_type): Use sizeof(char) in place of sizeof(void);
	remove extraneous break statements.
	(objc_alignof_type, objc_skip_typespec): Remove extraneous break
	statements.
	* objc.dg/bitfield-2.m: Make 'id' definition a typedef.
	* objc.dg/id-1.m: Attempt to define 'id' in an incompatible fashion.
	* objc.dg/va-meth-1.m: New test case.
	* obj-c++.dg/qual-types-1.mm: New test case.
	* obj-c++.dg/template-4.mm: New test case.
	* obj-c++.dg/va-meth-1.mm: New test case.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.objc-improvements.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.1.2.2&r2=1.1.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.h.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.189.2.16&r2=1.189.2.17
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-parse.in.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.170.2.12&r2=1.170.2.13
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-typeck.c.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.242.2.13&r2=1.242.2.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/expr.c.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.567.2.12&r2=1.567.2.13
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/stub-objc.c.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.1.2.4&r2=1.1.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.objc-improvements.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.1.2.3&r2=1.1.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/parser.c.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.77.2.17&r2=1.77.2.18
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objc/ChangeLog.objc-improvements.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.1.2.4&r2=1.1.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objc/objc-act.c.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.179.2.27&r2=1.179.2.28
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objc/objc-act.h.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.16.4.9&r2=1.16.4.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objcp/ChangeLog.objc-improvements.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.1.2.3&r2=1.1.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objcp/lang-specs.h.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.1.2.4&r2=1.1.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objcp/objcp-decl.c.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.1.2.4&r2=1.1.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.objc-improvements.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.1.2.5&r2=1.1.2.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/obj-c++.dg/qual-types-1.mm.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/obj-c++.dg/template-4.mm.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/obj-c++.dg/va-meth-1.mm.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/objc/execute/next_mapping.h.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.1.2.4&r2=1.1.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/objc.dg/va-meth-1.m.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/objc.dg/bitfield-2.m.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.2.18.1&r2=1.2.18.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/objc.dg/id-1.m.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.2&r2=1.2.52.1



More information about the Gcc-cvs mailing list