ChangeLog.apple-ppc   [plain text]


2006-05-24  Mike Stump  <mrs@apple.com>

	* objc-act.c (JBLEN): Update for x86_64.

2006-05-18  Stuart Hastings  <stuart@apple.com>

	Radar 4385273
	* gcc/objc/objc-act.c (objc_build_synchronized): Update JBLEN
	for 64-bit.

2006-04-27  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4399973 (backport from 4327263)
	* objc/objc-act.c (init_module_descriptor): Remove file name
	from module descriptors.

2006-03-10  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4407151
        * objc/objc-act.c (objc_is_class_name): template parameter is not
        an objective class name.
        (objc_generate_cxx_cdtors): Check for the null
        objc_implementation_context.
	
2006-02-07  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4219590
	* objc/objc-act.c (objc_start_method_definition): Initialize break/continue
	labels.

2005-11-29  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4349690

	* objc/objc-act.c (update_var_decl): New.
	(generate_strings, generate_shared_structures): Reuse old decl 
	and update it.
	(generate_category): A new argument added so the old
	decl can be updated and used.
	
2005-11-29  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4349670

	* objc/objc-act.c (init_objc_symtab): Use 'short' type for constant
	initializer initializing a 'short' field.

2005-11-18  Fariborz Jahanian <fjahanian@apple.com>

	objc new meta-data definitions - part 2

	* objc/objc-act.c (build_v2_ivar_t_template): New
	(build_v2_ivar_list_t_template): New
	(generate_v2_ivar_lists): New
	(build_v2_ivar_list_initializer): New
	(generate_v2_ivars_list): New
	(generate_v2_dispatch_tables): New
	(ivar_offset_ref): New
	(generate_v2_ivar_offset_ref_lists): New
	(generate_v2_protocol_list): New
	(build_v2_protocol_reference): New
	(generate_v2_protocol_references): New
	(generate_v2_protocols): New
	(build_v2_descriptor_table_initializer): New
	(generate_v2_method_descriptors): New
	(synth_module_prologue): Declare type 'struct ivar_list_t*'
        (build_message_reference_decl): Use a new indexing for building
     	message_ref names.
	(generate_descriptor_table): Added the 'newabi' arg to initilize the
	'entsize' field for 'method_list_t' meta data.	
	(build_protocol_initializer): Added the 'newabi' arg so as not
	to initialize the non-existing 'isa' field for 'struct protocol_t'
	meta data in the new abi.
	(build_method_list_template): For new abi add 'entsize' field to
	'struct method_list_t'.
	(generate_dispatch_table): Added the 'newabi' argument so for new
	abi we set the 'entsize' field of 'struct method_list_t'.	
	(generate_protocol_list): Removed the 'newabi' argument and its use.
	New abi now has its own generate_v2_protocol_list routine.
	(generate_v2_shared_structures): Call generate_v2_protocol_references
	and generate_v2_protocol_list. 
	(finish_objc): Generate new ivar-list, method-list, protocol-list
	meta data.

	* objc/objc-act.h: Assortment of new macro and global variable declarations.

2005-11-14  Fariborz Jahanian <fjahanian@apple.com>

	objc new messaging - part 3

	* objc/objc-act.c (build_message_reference_decl): New
	(build_selector_messenger_reference): Declare the variable
	with type "struct message_ref_t" for later initialization.
	(build_message_ref_translation_table): Initialize the 
	variable of type "struct message_ref_t" with the {message_name,
	selector}.
	(objc_copy_to_temp_side_effect_params): Fix gcc_assert(...).

2005-11-11  Fariborz Jahanian <fjahanian@apple.com>

	objc new messaging - part 2

	* objc/objc-act.c (build_selector_messenger_reference): New
	(build_message_ref_translation_table): New
	(objc_copy_to_temp_side_effect_params): New
	(objc_create_temporary_var): New
	(build_message_ref_template): Reorder fields in message_ref_t
	struct for better code gen.
	(objc_finish_message_expr): Initialization of message_ref_t table
	is now done at link-time. Also, check conditions for object comparison
	with 'nil'. 
	(build_newabi_build_objc_method_call): Check for object being 'nil' before
	making the call to message handlers.
	(finish_objc): Generate 'struct message_ref_t' translation table.

	* objc/objc-act.h: Assortment of new macro and global variable declarations.

2005-11-08  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4330422

	* objc/objc-act.c (objc_non_volatilized_type): New

2005-11-07  Fariborz Jahanian <fjahanian@apple.com>

	objc new messaging - part 1

	* objc/objc-act.c (synth_module_prologue): Generate builtin function 
	decls for all messaging calls.
	(build_message_ref_template): Declare 'struct _message_ref_t' and
	'struct _super_message_ref_t' types.
	(generate_newabi_shared_structures): Fix reported bugs on 'instanceStart' 
	and 'ivars' fields of the class meta data.
	(get_arg_type_list): For new abi, select objc_newabi_super_selector_type or
	objc_newabi_selector_type for selector type.
	(objc_finish_message_expr): For new abi, generate new messaging run-time 
	calls.
	(build_objc_method_call): New.
	* objc/objc-act.h: Assorment of new defines and new global declaration in
	support of new messaging calls.

2005-11-01  Fariborz Jahanian <fjahanian@apple.com>

	objc new meta-data definitions - part 1

	* objc/objc-act.c (create_global_decl): New
	(create_extern_decl): New
	(build_classlist_reference_decl): New
	(build_classlist_translation_table): New
	(build_newabi_protocol_template): New
	(build_newabi_class_template): New
	(newabi_append_ro): New
	(build_class_t_initializer): New
	(generate_newabi_shared_structures): New
	(synth_module_prologue): Declare IMP type objc_imp_type
        and use it as needed.
	Declare new globals and call build_newabi_protocol_template(...) when
	-fobjc-newabi is specified.
	(build_private_template): Save type of an Interface in CLASS_TYPE field.
	(generate_protocol_list): New argument added.
	(synth_forward_declarations): With -fabj-newabi build new class and metaclass 
	"class_t" types.
	(continue_class): Save class and metaclass declarations.
	(finish_objc): Restore global class and metaclass declarations.
	With -fobjc-newabi call generate_newabi_shared_structures(...).
	Also build classlist translation table if needed.
	* objc/objc-act.h (imp_entry): class_newabi_decl and meta_newabi_decl fields 
	added.	
	(enum objc_tree_index): New enumerators added.
	Several global variables declared.
	* config/darwin-protos.h (objc_classlist_section, objc_data_section): New declarations.
	* config/darwin.c (machopic_select_section): Added conditional calls to
	objc_classlist_section() and objc_data_section().
	* config/darwin.h: (objc_classlist_section, objc_data_section): New functions.
	(objc_section_init): New sections to initialize.
	
2005-10-10  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4301047

	* objc-act.c (encode_type): Remove the hack.

2005-10-17  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4290840

	* objc-act.c (objc_start_method_definition): Check for error_mark_node for
	the selector name and make a quick exit.

2005-10-12  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4291785

	* objc-act.c (objc_get_interface_ivars): New function.
	(objc_detect_field_duplicates): Ditto.
	(objc_collecting_ivars): New flag.
	(continue_class): Set and reset objc_collecting_ivars for context.
	* objc-act.h (TOTAL_CLASS_RAW_IVARS): New field for interface types.
	
2005-10-10  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4291099
	* objc-act.c (objc_generate_write_barrier): Add write-barriers for 
	c++'s ctor initializer list.

2005-10-07  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4204796
	* objc-act.c (objc_build_volatilized_type): Build 'volatilzed'
	types with proper attribute set and correctly.
	(objc_volatilize_decl): Remove unneeded code.
	(objc_type_quals_match): Use the new attribute to check on
	'volatilzed' type.
	(hash_init): removed unneeded code.
	
2005-10-04  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4278236
	* objc-act.c (objc_declare_class): Pick the right
	type tree.

2005-10-04  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4281748
	* objc-act.c (objc_check_global_decl): New

2005-10-07  Fariborz Jahanian <fjahanian@apple.com>

	radar 4292010
	* objc-act.c (objc_generate_write_barrier): Turn off gc-specific 
	warning till post chardonnay.

2005-10-06  Fariborz Jahanian <fjahanian@apple.com>

	Radar 4280641
	* objc-act.c (TAG_MSGSEND_FPRET): New objc runtime call name.
	(synth_module_prologue): Build bultin function for this runtime
	function (x86 only).
	(build_objc_method_call): Call this runtime for methods returning
	floats and if not call to super receiver.
	* objc-act.h (OCTI_UMSG_FPRET_DECL): New definition.
	(umsg_fpret_decl): New definition.
	
2005-09-29  Ziemowit Laski  <zlaski@apple.com>

	Radar 4136489
	* objc-act.c (objc_is_gcable_type): Remove second parameter;
	handle __weak attribute.
	(objc_is_strong_p): New function.
	(objc_is_object_ptr): Check main variant of pointee.
	(objc_is_gcable_p): Hande __weak attribute.
	(objc_generate_write_barrier): For GC-able objects, always generate
	a strong-cast write barrier as a last resort, unless the object's
	type is marked __weak.

2005-08-23  Stuart Hastings <stuart@apple.com>
	    Ziemowit Laski  <zlaski@apple.com>

	Radar 4209854
	* objc-act.c (objc_decay_parm_type): New function.
	(get_arg_type_list): Decay types for all named arguments.
	(objc_push_parm): Rebuild the PARM_DECL if its type has
	been decayed.

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

	Radar 4174166
	* objc-act.c (objc_compare_types): Compare function
	pointers; indicate success if the right-hand side has
	a return type that is covariant, and the argument types
	contravariant, with those of the left side.

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

	Radar 4216500
	* objc-act.c (objc_get_protocol_qualified_type): When looking
	at a typedef, retrieve the precise type it describes (rather
	than merely looking up a class by name).

2005-07-20  Ziemowit Laski  <zlaski@apple.com>

	Radar 4136935
	* objc-act.c (pointee_is_readonly): New function.
	(encode_pointer, encode_aggregate_within, encode_type):
	Attempt to emulate GCC 3.3 when generating type encodings.

2005-07-18  Ziemowit Laski  <zlaski@apple.com>

	Radar 4175534
	* objc-act.c (objc_compare_types): A new silent comparison
	mode (-4), differing from regular comparison (-3) in that
	'false' is returned instead of issuing warnings.

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

	Radar 4168740 (via mainline)
	* objc-act.c (objc_build_struct): Pass in an actual @interface
	instead of its name, and annotate the struct created (and all
	existing variants thereof) with the @interface.
	(objc_compare_types): Treat forward-declared ObjC classes
	as stand-alone (root) classes for purposes of type comparisons.
	(build_private_template): Move some code to objc_build_struct().

2005-07-07  Ziemowit Laski  <zlaski@apple.com>

	PR objc/22274
 	* objc-act.c (objc_build_string_object): For GNU-style constants,
	use the @interface type rather than the built-in type.

2005-07-05 Devang Patel  <dpatel@apple.com>

	Radar 4168086	
	* lang-specs.h: While making PCH, invoke as if -fsave-repository
	is used when -save-temps is not used.

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

	Radar 4153181
	* objc-act.c (objc_build_volatilized_type): New function.
	(objc_volatilize_decl): Call objc_build_volatilized_type()
	instead of build_qualified_type().

2005-06-30 Devang Patel  <dpatel@apple.com>

	* lang-specs.h: While making PCH, invoke as if -fsave-repository
	is used.

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

	Radar 4140824
	* objc-act.c (objc_build_struct): Save the TYPE_OBJC_INFO
	portion of TYPE_LANG_SPECIFIC info for all variants of
	a class before calling finish_struct(), and restore
	same TYPE_OBJC_INFO afterwards.

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

	Radar 4154928
	* objc-act.c (objc_common_type): New function.

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

	Radar 4149909
	* objc-act.c (objc_build_internal_const_str_type): New function.
	(check_string_class_template): Use objc_get_class_ivars() instead
	of TYPE_FIELDS() to retrieve ivar list.
	(AT_LEAST_AS_LARGE_AS): Check the size of each field's type rather
	than the field itself.
	(objc_build_string_object): Synthesize a "__builtin_ObjCString"
	type and use it to lay out compile-time string objects.
	* objc-act.h (OCTI_INTERNAL_CNST_STR_TYPE, internal_const_str_type):
	New.

2005-05-19  Ziemowit Laski  <zlaski@apple.com>

	Radar 4035492
	* objc-act.c (objc_build_struct, objc_derived_from_p,
	objc_build_component_ref, objc_copy_binfo, objc_xref_basetypes,
	objc_lookup_protocol, objc_compare_protocols, objc_volatilize_decl,
	encode_aggregate_fields, volatilized_hash, volatilized_eq,
	objc_compare_types, objc_type_quals_match):
	New functions.
	(DERIVED_FROM_P): New ObjC macro, corresponding to C++ macro
	of same name.
	(get_class_ivars): Add second parameter indicating if entire
	hierarchy is desired.
	(struct volatilized_type): New type.
	(volatilized_htab): New hash table.
	(objc_types_compatible_p, objc_comptypes): Remove functions.
	(synth_module_prologue): Do not initialize 'unused_list'.
	(objc_get_class_reference): Fix ObjC++ impedance mismatches.
	(objc_declare_alias): Implement as a typedef.
	(objc_substitute_decl, objc_gimplify_expr): Reformat.
	(objc_get_class_ivars): Adjust call to get_class_ivars().
	(next_sjlj_build_enter_and_setjmp, synth_forward_declarations,
	build_ivar_reference, get_super_receiver): Call
	objc_build_component_ref() instead of build_component_ref().
	(objc_begin_catch_clause): Use DERIVED_FROM_P() instead of
	objc_comptypes().
	(build_private_template): Call objc_build_struct() instead of
	start_struct() and finish_struct().
	(hash_init): Initialize volatilized_htab.
	(objc_is_public): Adjust calls to objc_get_ivars(); adjust
	ObjC++ impedance mismatches.
	(encode_aggregate_within): Streamline by calling
	encode_aggregate_fields().
	* objc-act.h (objc_types_compatible_p): Remove prototype.
	(OCTI_UNUSED_LIST, unused_list): Remove slot.
	* objc-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.

2005-04-19  Ziemowit Laski  <zlaski@apple.com>

	Radar 4056870
	* objc-act.c (start_class): Traverse @compatibility_alias
	declaration when looking up super class; produce error
	message if super class only has a @class declaration.

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

	Radar 4073569
	* objc-act.c (objc_finish_message_expr): When sending
	messages to classes that were _only_ forward-declared
	(via '@class'), do not issue "may not respond" to
	warnings.

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

	Radar 4055183
	* objc-act.c (objc_rewrite_function_call): New function.

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.