+2005-05-18 Mike Stump <mrs@apple.com>
+
+ PR objc/21641
+ * objc-act.c (struct interface_tuple): Mark it up for GC.
+ (interface_htab): It is really a struct interface_tuple.
+
+2005-05-17 Mike Stump <mrs@apple.com>
+
+ Yet more Objective-C++...
+
+ * objc-act.c (objc_finish_try_stmt): Add return value.
+ (objc_build_synchronized): Likewise.
+
+ * objc-act.c (objc_is_gcable_type): Add.
+ (objc_substitute_decl): Add.
+ (objc_build_ivar_assignment): Add.
+ (objc_build_global_assignment): Add.
+ (objc_build_strong_cast_assignment): Add.
+ (objc_is_ivar_reference_p): Add.
+ (objc_is_global_reference_p): Add.
+ (objc_generate_write_barrier): Add.
+ (objc_rewrite_function_call): Add.
+ (objc_gimplify_expr): Add Objective-C++ support.
+ * objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Likewise.
+ (SIZEOF_OBJC_TYPE_LANG_SPECIFIC): Add.
+ (INIT_TYPE_OBJC_INFO): Add Objective-C++ support.
+ (DUP_TYPE_OBJC_INFO): Likewise.
+ (struct imp_entry): Add field has_cxx_cdtors.
+ (struct imp_entry *imp_list): Add OCTI_UMSG_FAST_DECL,
+ OCTI_METH_LIST_TEMPL, OCTI_METH_PROTO_LIST_TEMPL,
+ OCTI_IVAR_LIST_TEMPL, OCTI_ASSIGN_IVAR_DECL,
+ OCTI_ASSIGN_IVAR_FAST_DECL, OCTI_ASSIGN_GLOBAL_DECL,
+ OCTI_ASSIGN_STRONGCAST_DECL.
+ (umsg_fast_decl): Add.
+ (objc_assign_ivar_decl): Add.
+ (objc_assign_ivar_fast_decl): Add.
+ (objc_assign_global_decl): Add.
+ (objc_assign_strong_cast_decl): Add.
+ (objc_method_list_ptr): Add.
+ (objc_method_proto_list_ptr): Add.
+ (objc_ivar_list_ptr): Add.
+
+ * objc-act.c (should_call_super_dealloc): Add.
+ (OBJC_VERSION): Bump to 6.
+ (objc_is_gcable_type): Add.
+ (objc_substitute_decl): Add.
+ (objc_build_ivar_assignment): Add.
+ (objc_build_global_assignment): Add.
+ (objc_build_strong_cast_assignment): Add.
+ (objc_is_gcable_p): Add.
+ (objc_is_ivar_reference_p): Add.
+ (objc_is_global_reference_p): Add.
+ (generate_shared_structures): Add flags parameter.
+ (objc_generate_cxx_ctor_or_dtor): Add.
+ (objc_generate_cxx_cdtors): Add.
+ (add_class): Add name parameter.
+ (objc_types_share_size_and_alignment): Add.
+ (comp_proto_with_proto): Add strict parameter.
+ (CLS_HAS_CXX_STRUCTORS): Add.
+ (TAG_ASSIGNIVAR): Add.
+ (TAG_ASSIGNGLOBAL): Add.
+ (TAG_ASSIGNSTRONGCAST): Add.
+ (TAG_MSGSEND_FAST): Add.
+ (TAG_ASSIGNIVAR_FAST): Add.
+ (TAG_CXX_CONSTRUCT): Add.
+ (TAG_CXX_DESTRUCT): Add.
+ (OBJC_LOOKUP_CLASS): Add.
+ (OBJC_LOOKUP_NO_SUPER): Add.
+ (objc_finish_file): Add pch support.
+ (objc_finish_implementation): Add Objective-C++ support.
+ (synth_module_prologue): Likewise.
+ (synth_module_prologue): Add fast dispatching.
+ (objc_get_class_reference): Add Objective-C++ support.
+ (objc_generate_write_barrier): Likewise.
+ (next_sjlj_build_enter_and_setjmp): Likewise.
+ (objc_begin_try_stmt): Likewise.
+ (build_next_objc_exception_stuff): Add fast ivar support.
+ (build_private_template): Mark the record as used so debug
+ information is generated.
+ (build_protocol_template): Add Objective-C++ support.
+ (objc_method_parm_type) Likewise.
+ (objc_generate_cxx_ctor_or_dtor): Likewise.
+ (objc_generate_cxx_cdtors): Likewise.
+ (build_protocol_initializer): Likewise.
+ (build_category_template): Likewise.
+ (build_class_template): Likewise.
+ (build_method_list_template): Likewise.
+ (build_category_initializer): Likewise.
+ (build_shared_structure_initializer): Likewise.
+ (objc_finish_message_expr): Likewise.
+ (build_objc_method_call): Add fast dispatch support.
+ (lookup_method_static): Add support to end search at superclasses.
+ (add_method_to_hash_list): Add strict parameter to
+ comp_proto_with_proto.
+ (objc_add_method): Likewise.
+ (objc_add_method): Also set the interface_value.
+ (add_instance_variable): Add Objective-C++ support.
+ (objc_is_public): Likewise.
+ (start_class): Likewise.
+ (continue_class): Likewise.
+ (encode_aggregate_within): Likewise.
+ (start_method_def): Likewise.
+ (objc_start_function): Clear current_function_returns_value
+ and current_function_returns_null.
+ (really_start_method): Add Objective-C++ support.
+ (objc_finish_method_definition): Add warning for missing
+ [super dealloc].
+ (finish_objc): Add Objective-C++ support.
+ (generate_objc_image_info): Likewise.
+ (objc_lookup_ivar): Likewise.
+ * objc-act.h (TYPE_HAS_OBJC_INFO): Likewise.
+ (INIT_TYPE_OBJC_INFO): Likewise.
+ (DUP_TYPE_OBJC_INFO): Likewise.
+
+2005-04-23 DJ Delorie <dj@redhat.com>
+
+ * objc-act.c: Adjust warning() callers.
+
+2005-04-21 Roger Sayle <roger@eyesopen.com>
+
+ * objc-act.h (METHOD_ADD_ARGS_ELLIPSIS_P): New macro for accessing
+ this field of an objc method decl.
+ * objc-act.c (build_method_decl): Take an additional "ellipsis"
+ argument, and set METHOD_ADD_ARGS_ELLIPSIS_P as appropriate.
+ (objc_build_method_signature): Accept additional "ellipsis"
+ argument and pass it to build_method_decl.
+ (get_arg_type_list, start_method_def, gen_method_decl): Use
+ the new METHOD_ADD_ARGS_ELLIPSIS_P instead of examining the
+ TREE_OVERFLOW field of a TREE_LIST node.
+
+2005-04-20 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/12913
+ * objc-act.c (objc_start_function): Create stack level for context
+ of identifiers with variably modified type.
+
+2005-03-30 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/772
+ PR c/17913
+ * objc-act.c (objc_start_function): Push context on
+ label_context_stack.
+
+2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
+
+ * objc-act.c (next_sjlj_build_enter_and_setjmp,
+ next_sjlj_build_catch_list, next_sjlj_build_try_catch_finally):
+ Call c_common_truthvalue_conversion.
+
+2005-02-25 Joseph S. Myers <joseph@codesourcery.com>
+
+ * Make-lang.in (objc/objc-parse.o-warn, objc/objc-parse.o,
+ objc/objc-parse.c, objc/objc-parse.y): Remove
+ (OBJC_OBJS, objc.srcextra, objc.tags, objc.mostlyclean,
+ objc.distclean, objc.maintainer-clean): Update for new parser.
+ * config-lang.in (gtfiles): Update for new parser.
+
+2005-01-29 Kazu Hirata <kazu@cs.umass.edu>
+
+ * lang-specs.h, objc-act.c, objc-act.h, objc-lang.c: Update
+ copyright.
+
+2005-01-27 Matt Austern <austern@apple.com>
+
+ * objc-act.c (objc_finish_file): In ObjC++ mode, set at_eof before
+ calling instantiate_pending_templates.
+
+2005-01-26 Alexander Malmberg <alexander@malmberg.org>
+
+ PR objc/18862
+ * objc-act.c (build_selector_translation_table): Use
+ input_location in the diagnostic for the GNU runtime or if
+ TREE_PURPOSE (chain) is NULL.
+
+2005-01-25 Alexander Malmberg <alexander@malmberg.org>
+
+ PR objc/18408
+ * objc-act.c (objc_types_compatible_p): New function.
+ * objc-act.h (objc_types_compatible_p): Declare.
+ * objc-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
+
+2005-01-16 Ziemowit Laski <zlaski@apple.com>
+
+ * objc-act.c (objc_push_parm): Call c_type_promotes_to()
+ via a lang-hook.
+
+2005-01-15 Ziemowit Laski <zlaski@apple.com>
+
+ 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-14 Mike Stump <mrs@apple.com>
+
+ * lang-specs.h ("@objective-c"): Use cc1obj when -E is used so
+ that -fobjc-exceptions is accepted.
+
+2004-12-30 Ziemowit Laski <zlaski@apple.com>
+
+ 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-12-15 Ziemowit Laski <zlaski@apple.com>
+
+ * objc-act.c (build_private_template): Change to return 'void'; do
+ not set ivar_context, uprivate_record or objc_instance_type.
+ (objc_comptypes, gen_type_name_0): For types 'id' and 'Class',
+ retrieve protocol list from the pointee rather than the pointer itself;
+ check TYPE_HAS_OBJC_INFO(...) precondition before accessing
+ TYPE_OBJC_PROTOCOL_LIST.
+ (objc_get_protocol_qualified_type): For types 'id' and 'Class',
+ construct a variant of the pointee as well as the pointer, and
+ store protocol information in the former. When creating variants
+ of RECORD_TYPEs, clone their TYPE_LANG_SPECIFIC fields and propagate
+ TYPE_OBJC_INTERFACE information.
+ (objc_declare_class): If a TYPE_DECL is looked up, retrieve the
+ underlying RECORD_TYPE to check for presence of TYPE_OBJC_INTERFACE;
+ for newly-created RECORD_TYPEs, create a tentative TYPE_OBJC_INTERFACE
+ holding an IDENTIFIER_NODE.
+ (objc_finish_message_expr): Check TYPE_HAS_OBJC_INFO(...) before
+ accessing TYPE_OBJC_PROTOCOL_LIST; Use TYPE_OBJC_INTERFACE instead
+ of calling lookup_interface(); allow for TYPE_OBJC_INTERFACE holding
+ an IDENTIFIER_NODE (meaning a @class forward-declaration only).
+ (objc_is_public): Check TYPE_OBJC_INTERFACE instead of calling
+ lookup_interface().
+ (continue_class): For @implementations, set ivar_context,
+ uprivate_record and objc_instance_type, for @interfaces, call
+ build_private_template().
+ (encode_pointer): Check TYPE_HAS_OBJC_INFO(...) before accessing
+ TYPE_OBJC_INTERFACE.
+ (objc_types_are_equivalent): Check TYPE_HAS_OBJC_INFO(...) before
+ accessing TYPE_OBJC_PROTOCOL_LIST.
+ * objc-act.h (OBJC_INFO_SLOT_ELTS, TYPE_OBJC_INFO, INIT_TYPE_OBJC_INFO,
+ DUP_TYPE_OBJC_INFO, ALLOC_OBJC_TYPE_LANG_SPECIFIC,
+ SIZEOF_OBJC_TYPE_LANG_SPECIFIC): New macros.
+ (TYPE_OBJC_INTERFACE): Replaces TREE_STATIC_INSTANCE and now points
+ to an actual @interface; stored in TYPE_LANG_SPECIFIC(...).
+ (TYPE_OBJC_PROTOCOL_LIST): Replaces TYPE_PROTOCOL_LIST; stored in
+ TYPE_LANG_SPECIFIC(...).
+ (TREE_STATIC_INSTANCE, TYPE_PROTOCOL_LIST): Delete.
+ (IS_ID, IS_CLASS, IS_PROTOCOL_QUALIFIED_UNTYPED, IS_SUPER,
+ TYPED_OBJECT): Check for POINTER_TYPE rather than POINTER_TYPE_P;
+ adjust for use of TYPE_OBJC_INTERFACE and TYPE_OBJC_PROTOCOL_LIST
+ instead of TREE_STATIC_INSTANCE and TYPE_PROTOCOL_LIST.
+
+2004-11-29 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/7544
+ * Make-lang.in (objc/objc-act.o): Update dependencies.
+ * objc-act.c (objc_finish_file): Call
+ maybe_apply_pending_pragma_weaks if not OBJCPLUS.
+
2004-11-09 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/18406