ChangeLog.apple-ppc   [plain text]


2005-03-11  Ziemowit Laski  <zlaski@apple.com>

	Radar 3995882
	* objc-act.c (objc_begin_try_stmt): When doing _setjmp()/
	_longjmp() EH, call objc_mark_locals_volatile().

2005-02-17  Ziemowit Laski  <zlaski@apple.com>

	Radar 4006978
	* objc-act.c (objc_is_public): Remove unneeded code.

2005-02-17  Ziemowit Laski  <zlaski@apple.com>

	Radar 3635843, 3922342
	* objc-act.c (OBJC_VERSION): Bump to '6' for the NeXT.
	(objc_is_gcable_type, objc_substitute_decl, 
	objc_build_ivar_assignment, objc_build_global_assignment,
	objc_build_strong_cast_assignment, objc_is_gcable_p,
	objc_is_ivar_reference_p, objc_is_global_reference_p,
	objc_generate_write_barrier): New functions.
	(TAG_ASSIGNIVAR, TAG_ASSIGNGLOBAL, TAG_ASSIGNSTRONGCAST,
	TAG_MSGSEND_FAST, TAG_ASSIGNIVAR_FAST, OFFS_MSGSEND_FAST,
	OFFS_ASSIGNIVAR_FAST): New macros.
	(synth_module_prologue): Synthesize 'objc_msgSend_Fast'
	function prototype.
	(build_next_objc_exception_stuff): Synthesize
	'objc_assign_ivar', 'objc_assign_ivar_Fast',
	'objc_assign_global' and 'objc_assign_strongCast'
	function prototypes.
	(build_objc_method_call): Call 'objc_msgSend_Fast'
	instead of 'objc_msgSend' if '-fobjc-direct-dispatch'
	has been specified.
	(finish_objc): Generate image info if '-fobjc-gc'
	has been specified.
	(generate_objc_image_info): Set a bit indicating if
	'-fobjc-gc' has been specified.
	* objc-act.h (OCTI_UMSG_FAST_DECL, OCTI_ASSIGN_IVAR_DECL,
	OCTI_ASSIGN_IVAR_FAST_DECL, OCTI_ASSIGN_GLOBAL_DECL,
	OCTI_ASSIGN_STRONGCAST_DECL): New enum slots.
	(umsg_fast_decl, objc_assign_ivar_decl, 
	objc_assign_ivar_fast_decl, objc_assign_global_decl,
	objc_assign_strong_cast_decl): New slot accessors.

2005-02-11  Ziemowit Laski  <zlaski@apple.com>

	Radar 3962013 (Part 2)
	* objc-act.c (objc_types_share_size_and_alignment): New
	function.
	(check_duplicates): Update comment.
	(comp_proto_with_proto): If types do not match, call
	objc_types_share_size_and_alignment() as a fallback in
	non-strict mode.

2005-02-11  Ziemowit Laski  <zlaski@apple.com>

	Radar 3978619
	* objc-act.c (should_call_super_dealloc): New variable.
	(objc_finish_message_expr): If calling [super dealloc],
	clear the should_call_super_dealloc variable.
	(start_method_def): If defining a 'dealloc' method in a
	non-root class, set the should_call_super_dealloc variable.
	(objc_finish_method_definition): Print a warning if
	the should_call_super_dealloc is set.

2005-02-10  Ziemowit Laski  <zlaski@apple.com>

	Radar 3982256
	* objc-act.c: Update copyright notice; include langhooks-def.h.
	(objc_types_compatible_p): New lang hook function.
	* objc-act.h: Update copyright notice.
	(objc_types_compatible_p): New prototype.
	* objc-lang.c: Update copyright notice.
	(LANG_HOOKS_TYPES_COMPATIBLE_P): Point at objc_types_compatible_p().

2005-02-08  Ziemowit Laski  <zlaski@apple.com>

	Radar 3987972
	* objc-act.c (objc_start_function): Reset
	'current_function_returns_value' and 'current_function_returns_null'
	global flags.

2005-01-30  Ziemowit Laski  <zlaski@apple.com>

	Radar 3962013
	* objc-act.c (comp_proto_with_proto): Add a STRICT parameter
	to allow for relaxed type comparisons.
	(check_duplicates): If '-Wno-strict-selector-match' is specified,
	do not warn about multiple method signatures if they differ only
	in their ObjC types.
	(add_method_to_hash_list, objc_add_method, really_start_method):
	Adjust calls to comp_proto_with_proto().

2005-01-27  Matt Austern  <austern@apple.com>

	Radar 3971445
	* objc-act.c (objc_finish_file): In Objective-C++ mode, set at_eof
	before calling instantiate_pending_templates. 

2005-01-17  Ziemowit Laski  <zlaski@apple.com>

	* objc-act.c (objc_get_class_reference): Move stray 
	APPLE LOCAL marker.

2005-01-17  Ziemowit Laski  <zlaski@apple.com>

	Radar 3955336
	* objc-act.c (objc_get_class_reference): In Objective-C++,
	make sure a type is declared in the global namespace before
	looking it up as an ObjC class.

2005-01-17  Ziemowit Laski  <zlaski@apple.com>

	Radar 3953044 (PR objc/19321)
	* objc-act.c (get_arg_type_list): Decay function arguments into
	pointers.
	(objc_push_parm): Likewise; bring PARM_DECL construction closer
	in line with what the C front-end does.
	(objc_get_parm_info): Call pushdecl() and finish_decl() on
	each PARM_DECL, like the C front-end does.
	(start_method_def): Remove redundant ARRAY_TYPE decay.
	(objc_start_function): Bring closer in line with what the
	C front-end does for functions.

2005-01-17  Ziemowit Laski  <zlaski@apple.com>

	Radar 3951689
	* objc-act.c (next_sjlj_build_enter_and_setjmp): For
	Objective-C++, convert _setjmp() argument to type the
	function expects.
	(objc_finish_try_stmt, objc_build_synchronized): Return
	the resulting statement	node.

2005-01-14  Mike Stump  <mrs@apple.com>

	Radar 3948135
	* lang-specs.h ("@objective-c"): Use cc1obj when -E is used so
	that -fzero-link is accepted.

2005-01-12  Ziemowit Laski  <zlaski@apple.com>

	Radar 3882153
	* objc-act.c (objc_finish_file): Do not synthesize metadata
	when generating a PCH file.

2005-01-11  Ziemowit Laski  <zlaski@apple.com>

	Radar 3918079
	* objc-act.c (OBJC_LOOKUP_CLASS, OBJC_LOOKUP_NO_SUPER): New
	flags.
	(lookup_method_static): Generalize third argument to indicate
	whether to search superclasses for a method.
	(really_start_method): When looking for matching method in
	the @interface, do not look in superclasses.

2005-01-06  Ziemowit Laski  <zlaski@apple.com>

	Radar 3925982
	* objc-act.c (objc_method_parm_type): Return the type found
	rather than its main variant.
	(encode_aggregate_within): Streamline util_obstack accesses;
	allow for records and/or pointers thereto to be const-qualified.

2005-01-03  Ziemowit Laski  <zlaski@apple.com>

	Radar 3926282 (PR objc/18971)
	* objc-act.c (get_arg_type_list, start_method_def): Decay
	array arguments into pointers.
	(gen_type_name_0): Learn to pretty-print array types.

2004-11-10  Ziemowit Laski  <zlaski@apple.com>

	Radar 3761423
	* objc-act.c (build_private_template): Return 'void';
	move fix for Radar 3261135 from continue_class().
	(objc_is_public): Robustify for use with ObjC++; examine
	"raw" ivars of the ObjC class instead of side-effected 
	fields of the underlying struct.
	(continue_class): Return "raw" ivar list instead of
	struct field list; move Radar 3261135 to
	build_private_template(), and call it.

2004-11-01  Ziemowit Laski  <zlaski@apple.com>

	Radar 2810013 (fix from mainline)
	* objc-act.c (objc_lookup_ivar): The new OTHER parameter
	contains the result of the ID lookup by the C or C++
	front-end; in class methods, use OTHER if it exists;
	in instance methods, use OTHER only if it is locally
	declared.

2004-10-27  Ziemowit Laski  <zlaski@apple.com>

	Radar 3854155
	* objc-act.c (generate_shared_structures): Add a CLS_FLAGS
	parameter whose value gets ORed into the INFO field of
	the class descriptor.
	(CLS_HAS_CXX_STRUCTORS): New metadata bit.
	(objc_generate_cxx_cdtors): Set flag in current imp_entry
	if either '-.cxx_construct' or '-.cxx_destruct' were
	synthesized...
	(continue_class): ...after initially clearing it herre.
	(finish_objc): Adjust call to generate_shared_structures(),
	passing in CLS_HAS_CXX_STRUCTORS for classes with non-POD
	ivars.
	* objc-act.h (struct imp_entry): New has_cxx_cdtors field.

2004-10-26  Ziemowit Laski  <zlaski@apple.com>

	Radar 3833116 (fix from mainline)
	* objc-act.c (finish_class): Do not synthesize bogus
	'extern objc_object *_Foo;' declarations for @interface Foo.

2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>

	Radar 3845826 (PR objc/17923)
	* objc-act.c (objc_build_string_object): Create a CONST_DECL
	for the NeXT runtime case.

2004-10-21  Ziemowit Laski  <zlaski@apple.com>

	Radar 3540965
	* objc-act.c (objc_generate_cxx_ctor_or_dtor,
	objc_generate_cxx_cdtors): New functions.
	(TAG_CXX_CONSTRUCT, TAG_CXX_DESTRUCT): New macros.
	(objc_finish_implementation): Call objc_generate_cxx_cdtors()
	if -fobjc-call-cxx-cdtors has been specified.
	(add_instance_variable): Emit different diagnostics for
	-fobjc-call-cxx-cdtors than for -fno-objc-call-cxx-cdtors.

2004-10-13  Ziemowit Laski  <zlaski@apple.com>

	Radar 3677258
	* objc-act.c (add_class): Add a 'name' parameter, and point it
	back at 'class' via IDENTIFIER_INTERFACE_VALUE accessor.
	(lookup_interface): Look in IDENTIFIER_INTERFACE_VALUE accessor
	instead of searching for class in a list.
	(start_class): Adjust calls to add_class().
	* objc-act.h (IDENTIFIER_INTERFACE_VALUE): Reformat.