OSDN Git Service

Daily bump.
[pf3gnuchains/gcc-fork.git] / gcc / objc / ChangeLog
index 86ee581..f6daafa 100644 (file)
@@ -1,3 +1,790 @@
+2012-06-14  Release Manager
+
+       * GCC 4.7.1 released.
+
+2012-03-22  Release Manager
+
+       * GCC 4.7.0 released.
+
+2011-11-12  Iain Sandoe  <iains@gcc.gnu.org>
+
+       * objc-next-runtime-abi-01.c (objc_eh_personality): Use gcc personality
+       for Objective-C m32.
+
+2011-10-29  Iain Sandoe  <iains@gcc.gnu.org>
+
+       PR target/47997
+       * objc-act.c (objc_build_string_object): Remove redundant second
+       call to fix_string_type ().  Add a checking assert that we are,
+       indeed, passed a STRING_CST.
+
+2011-10-18  Mikael Pettersson  <mikpe@it.uu.se>
+
+       PR objc/50743
+       * objc-act.c (check_duplicates): Cast TREE_VEC_LENGTH result to
+       size_t to avoid signed/unsigned
+       comparison.
+       (insert_method_into_method_map): Likewise.
+
+2011-10-14  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-map.h: New file.
+       * objc-map.c: New file. 
+       * config-lang.in (gtfiles): Added objc-map.h.
+       * Make-lang.in (OBJC_OBJS): Added objc-map.o.
+       (objc/objc-map.o): New rule.
+       (objc/objc-act.o): Depend on objc/objc-map.h.
+       * objc-next-runtime-abi-02.c: Added a TODO comment.
+       * objc-act.c: Include objc-map.h.
+       (nst_method_hash_list, cls_method_hash_list): Removed.
+       (instance_method_map, class_method_map): New.
+       (cls_name_hash_list, als_name_hash_list): Removed.
+       (class_name_map, alias_name_map): Removed.
+       (ivar_offset_hash_list): Removed.
+       (hash_class_name_enter, hash_class_name_lookup, hash_enter,
+       hash_lookup, hash_add_attr, add_method_to_hash_list): Removed.
+       (interface_hash_init): New.
+       (objc_init): Call interface_hash_init.
+       (objc_write_global_declarations): Iterate over class_method_map
+       and instance_method_map instead of cls_method_hash_list and
+       nst_method_hash_list.
+       (objc_declare_alias): Use alias_name_map instead of
+       cls_name_hash_list.
+       (objc_is_class_name): Use class_name_map and alias_name_map
+       instead of cls_name_hash_list and als_name_hash_list.
+       (interface_tuple, interface_htab, hash_interface, eq_interface):
+       Removed.
+       (interface_map): New.
+       (add_class): Renamed to add_interface.  Use interface_map instead
+       of interface_htab.
+       (lookup_interface): Use interface_map instead of interface_htab.
+       (check_duplicates): Changed first argument to be a tree,
+       potentially a TREE_VEC, instead of a hash.  Changed implementation
+       to match.
+       (lookup_method_in_hash_lists): Use class_method_map and
+       instance_method_map instead of cls_method_hash_list and
+       nst_method_hash_list.
+       (objc_build_selector_expr): Likewise.
+       (hash_func): Removed.
+       (hash_init): Create instance_method_map, class_method_map,
+       class_name_map, and alias_name_map.  Do not create
+       nst_method_hash_list, cls_method_hash_list, cls_name_hash_list,
+       als_name_hash_list, and ivar_offset_hash_list.
+       (insert_method_into_method_map): New.
+       (objc_add_method): Use insert_method_into_method_map instead of
+       add_method_to_hash_list.
+       (start_class): Call add_interface instead of add_class.
+       * objc-act.h (cls_name_hash_list, als_name_hash_list,
+       nst_method_hash_list, cls_method_hash_list): Removed.
+
+2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * objc-next-runtime-abi-01.c (objc_build_exc_ptr): Delete old
+       interface with two parallel arrays to hold standard builtin
+       declarations, and replace it with a function based interface that
+       can support creating builtins on the fly in the future.  Change
+       all uses, and poison the old names.  Make sure 0 is not a
+       legitimate builtin index.
+       * objc-next-runtime-abi-02.c (objc_build_exc_ptr): Ditto.
+       * objc-gnu-runtime-abi-01.c (objc_build_exc_ptr): Ditto.
+
+2011-07-19  Richard Guenther  <rguenther@suse.de>
+
+       * objc-next-runtime-abi-02.c (objc_v2_build_ivar_ref):
+       Use fold_build_pointer_plus.
+       (objc2_build_ehtype_initializer): Likewise.
+
+2011-07-11  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-encoding.h (obstack.h): Do not include.
+       (util_obstack, util_firstobj): Do not declare.
+       (encode_field_decl): Updated prototype to return a tree and take a
+       single tree argument.  Updated comments.
+       * objc-encoding.c (util_obstack, util_firstobj): Made static.
+       (objc_encoding_init): New.
+       (encode_field_decl): Existing function renamed to encode_field and
+       made static.  New encode_field_decl wrapper function added.
+       (encode_aggregate_fields): Update call to encode_field_decl to
+       call encode_field.
+       * objc-next-runtime-abi-02.c (obstack.h): Do not include.
+       (util_obstack, util_firstobj): Do not declare.
+       (build_v2_ivar_list_initializer): Updated call to
+       encode_field_decl.
+       * objc-runtime-shared-support.c (obstack.h): Do not include.
+       (util_obstack, util_firstobj): Do not declare.
+       (build_ivar_list_initializer): Updated call to encode_field_decl.
+       * objc-act.c (objc_init): Use objc_encoding_init.
+       * Make-lang.in (objc/objc-runtime-shared-support.o): Do not depend
+       on OBSTACK_H.
+       (objc/objc-gnu-runtime-abi-01.o): Likewise.
+       (objc/objc-next-runtime-abi-01.o): Likewise.
+       (objc/objc-next-runtime-abi-02.o): Likewise.
+       (objc/objc-act.o): Likewise.
+       
+2011-07-04  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       Refactored encoding code into objc-encoding.h and objc-encoding.c.
+       * objc-act.c (util_obstack, util_firstobj, encode_type_qualifiers,
+       encode_type, generating_instance_variables, objc_method_parm_type,
+       objc_encoded_type_size, encode_method_prototype,
+       objc_build_encode_expr, pointee_is_readonly, encode_pointer,
+       encode_array, encode_vector, encode_aggregate_fields,
+       encode_aggregate_within, encode_next_bitfield,
+       encode_gnu_bitfield, encode_field_decl,
+       objc_v2_encode_property_attr): Moved to objc-encoding.h and
+       objc-encoding.c.  No change in the actual code.
+       Include objc-encoding.h.
+       (objc_init): Added TODO.
+       (objc_build_property_setter_name): Made non-static so it can be
+       called from objc-encoding.c.
+       * objc-act.h (OBJC_ENCODE_INLINE_DEFS,
+       OBJC_ENCODE_DONT_INLINE_DEFS): Moved to objc-encoding.h.
+       * objc-runtime-shared-support.h (objc_v2_encode_property_attr,
+       encode_method_prototype, encode_field_decl,
+       generating_instance_variables): Moved to objc-encoding.h.       
+       (objc_build_property_setter_name): Declare.
+       * objc-encoding.c: New.
+       * objc-encoding.h: New.
+       * objc-gnu-runtime-abi-01.c: Include objc-encoding.h.
+       * objc-next-runtime-abi-01.c: Likewise.
+       * objc-next-runtime-abi-02.c: Likewise. 
+       * objc-runtime-shared-support.c: Likewise.
+       * Make-lang.in (OBJC_OBJS): Added objc-encoding.o.
+       (objc/objc-lang.o): Reordered dependencies.
+       (objc/objc-runtime-shared-support.o): Reordered dependencies.
+       Added dependencies on objc-encoding.h and on $(GGC_H),
+       $(DIAGNOSTIC_CORE_H), $(FLAGS_H) and input.h.
+       (objc/objc-gnu-runtime-abi-01.o): Likewise.
+       (objc/objc-next-runtime-abi-01.o): Likewise.
+       (objc/objc-next-runtime-abi-02.o): Likewise.
+       (objc/objc-act.o): Reordered dependencies.  Added dependency on
+       objc-encoding.h.
+       (objc/objc-encoding.o): New rule.
+
+       * objc-encoding.c (encode_type): Use "%<%T%>" format when printing
+       warning "unknown type %<%T%> found during Objective-C encoding"
+       instead of using gen_type_name.
+       
+2011-06-05  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (receiver_is_class_object): Expanded comment.
+       (objc_finish_message_expr): Likewise.
+
+2011-06-02  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       PR objc/48539
+       * objc-act.c (objc_finish_message_expr): Warn if messaging a class
+       that was only declared using @class without an @interface.  Warn
+       if messaging an instance of a class that was only declared using
+       @class without an @interface, unless the receiver was also typed
+       with a protocol list.
+
+2011-06-01  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_decl_method_attributes): Implement nonnull
+       attribute for Objective-C methods.
+
+2011-05-21  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * config-lang.in (gtfiles): Updated order of files to fix building
+       when the gcc/cp directory is missing, as in the case of some
+       release tarballs.
+
+2011-05-20  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * objc-act.c (objc_compare_types): Use function_args_iterator
+       instead of TYPE_ARG_TYPES to compare function argument types.
+
+2011-05-13  Toon Moene  <toon@moene.org>
+
+       * objc-next-runtime-abi-02.c (newabi_append_ro):
+       Add const qualifier to constant variable pointer declaration.
+
+2011-05-11  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * objc-act.h (CLASS_NAME, CLASS_SUPER_NAME): Use proper accessors.
+       (CLASS_NST_METHODS, CLASS_CLS_METHODS): Likewise.
+       (PROTOCOL_NAME, PROTOCOL_NST_METHODS, PROTOCOL_CLS_METHODS): Likewise.
+
+2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * objc-runtime-shared-support.h (get_arg_type_list): Delete.
+       (build_function_type_for_method): Declare.
+       * objc-runtime-hooks.h (struct _objc_runtime_hooks_r): Change
+       type of get_arg_type_base_list field.
+       * objc-act.h (OBJC_VOID_AT_END): Delete.
+       * objc-act.c (get_arg_type_list): Delete.
+       (build_function_type_for_method): New function.
+       (objc_decl_method_attributes): Call build_function_type_for_method.
+       (really_start_method): Likewise.
+       * objc-gnu-runtime-abi-01.c
+       (gnu_runtime_abi_01_get_type_arg_list_base): Change prototype and
+       adjust function accordingly.  Update header comment.
+       (build_objc_method_call): Call build_function_type_for_method.
+       * objc-next-runtime-abi-01.c
+       (next_runtime_abi_01_get_type_arg_list_base): Change prototype and
+       adjust function accordingly.  Update header comment.
+       (build_objc_method_call): Call build_function_type_for_method.
+       * objc-next-runtime-abi-02.c
+       (next_runtime_abi_02_get_type_arg_list_base): Change prototype and
+       adjust function accordingly.  Update header comment.
+       (objc_copy_to_temp_side_effect_params): Take fntype instead of a
+       typelist.  Use function_args_iterator for traversing fntype.
+       (build_v2_build_objc_method_call): Adjust call to it.
+       Call build_function_type_for_method
+
+2011-05-05  Joseph Myers  <joseph@codesourcery.com>
+
+       * objc-act.c (objc_start_method_definition): Add parameter expr.
+       Update call to start_method_def.
+       (objc_generate_cxx_ctor_or_dtor, objc_synthesize_getter,
+       objc_synthesize_setter) Update calls to
+       objc_start_method_definition.
+       (objc_get_parm_info): Add parameter expr.  Update call to
+       get_parm_info.
+       (start_method_def): Add parameter expr.  Update call to
+       objc_get_parm_info.
+       * objc-gnu-runtime-abi-01.c (build_module_initializer_routine):
+       Update call to objc_get_parm_info.
+       * objc-runtime-shared-support.h (objc_get_parm_info): Add extra
+       parameter.
+
+2011-04-26  Jason Merrill  <jason@redhat.com>
+
+       * objc-act.c (objc_fold_objc_type_ref): Remove.
+       * objc-act.h: Remove prototype.
+
+2011-04-21  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * objc-act.c (synth_module_prologue): Call build_function_type_list
+       instead of build_function_type.
+       * objc-next-runtime-abi-02.c (next_runtime_02_initialize):
+       Likewise.
+
+2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (ivar_of_class): New.
+       (objc_is_public): Use ivar_of_class.
+
+2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_get_interface_ivars): Removed.
+       (objc_detect_field_duplicates): New.
+       (hash_instance_variable): New.
+       (eq_instance_variable): New.
+
+2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_declare_protocols): Renamed to
+       objc_declare_protocol.  Changed first argument to be an identifier
+       instead of a tree chain of identifiers, so that callers don't have
+       to create a temporary tree chain.
+
+2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_declare_class): Changed to take a single
+       identifier as argument instead of a tree list.  This means callers
+       don't have to build temporary tree lists to call this function.
+       (synth_module_prologue): Updated calls to objc_declare_class.
+
+2011-04-13  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (build_keyword_selector): Use get_identifier_with_length
+       instead of get_identifier.
+
+2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * objc-lang.c (objc_init_ts): Move code for this function...
+       * objc-act.c (objc_common_init_ts): ...here. Define.
+       * objc-act.h (objc_common_init_ts): Declare.
+
+2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_build_message_expr): Accept two arguments
+       instead of one so that callers can simply pass the arguments
+       without having to create a temporary chain to hold them.
+
+2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (comp_proto_with_proto): Do not create and use
+       inefficient temporary argument lists.  Compare the arguments
+       directly.  (match_proto_with_proto): Removed; incorporated into
+       comp_proto_with_proto ().
+
+2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (printable_ivar_name): New.
+       (add_instance_variable): Call printable_ivar_name() when an error
+       message needs to be printed.  Do not prepare the instance variable
+       for printing unless there is an actual error.
+
+2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_is_class_name, objc_is_id): For efficiency,
+       avoid calling identifier_global_value() multiple times.
+
+2011-04-12  Martin Jambor  <mjambor@suse.cz>
+
+       * objc-act.c (mark_referenced_methods): Call cgraph_get_create_node
+       instead of cgraph_node.
+
+2011-04-06  Joseph Myers  <joseph@codesourcery.com>
+
+       * objc-act.c: Include c-target.h instead of target.h.
+       * Make-lang.in (objc/objc-act.o): Update dependencies.
+
+2011-03-06  Joseph Myers  <joseph@codesourcery.com>
+
+       * lang-specs.h: Match -save-temps* instead of -save-temps.
+
+2011-02-26  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_v2_encode_prop_attr): Rewritten.
+
+2011-02-23  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (build_private_template): Do not copy the
+       CLASS_HAS_EXCEPTION_ATTR from the class to the struct.
+       * objc-act.h (CLASS_HAS_EXCEPTION_ATTR): Define using
+       TYPE_LANG_SLOT_0.
+
+2011-02-22  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       PR objc/47832
+       * objc-act.c (flexible_array_type_p): New.
+       (add_instance_variable): Produce an error if an instance variable
+       uses flexible array members.
+       (encode_array): Do not emit an error if encoding a flexible array
+       type while generating instance variables.
+
+2011-02-21  Mike Stump  <mikestump@comcast.net>
+
+       * Make-lang.in (check_objc_parallelize): Refine for 4 processor
+       machines.
+
+2011-02-20  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-gnu-runtime-abi-01.c (TARGET_64BIT): Removed.  Removed
+       usage of padding fields.  Do not include tm.h.
+       * objc-act.c (objc_write_global_declaration): Set input_location
+       to BUILTINS_LOCATION while generating runtime metadata.
+
+2011-01-20  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       PR objc/47784
+       * objc-act.c (objc_maybe_build_modify_expr): If 'rhs' has side
+       effects, do not use a temporary variable.
+
+2011-01-19  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-next-runtime-abi-01.c: Updated comments.
+       * objc-next-runtime-abi-02.c: Same.
+
+2011-01-19  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_init, generate_struct_by_value_array): Updated
+       comments.
+
+2011-01-19  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c: Updated comments.
+       * objc-next-runtime-abi-02.c: Same.
+       * objc-runtime-shared-support.c: Same.
+       * objc-runtime-hooks.h: Same.
+       * objc-act.h: Same.
+       * objc-gnu-runtime-abi-01.c: Same.
+
+2011-01-19  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-gnu-runtime-abi-01.c (objc_generate_v1_gnu_metadata): Do
+       not generate metadata if there is nothing to put into it.
+
+2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
+
+       * config-lang.in (gtfiles): Updated.
+       * Make-lang.in (START_HDRS): New.
+       (OBJC_OBJS): Added new object files.
+       (objc/objc-act.o): Updated prerequisites.
+       (objc/objc-lang.o): Updated prerequisites.
+       (objc/objc-runtime-shared-support.o): New.
+       (objc/objc-gnu-runtime-abi-01.o): New.
+       (objc/objc-next-runtime-abi-01.o): New.
+       (objc/objc-next-runtime-abi-02.o): New.
+       * objc-runtime-hooks.h: New.
+       * objc-runtime-shared-support.h: New.
+       * objc-runtime-shared-support.c: New.
+       * objc-gnu-runtime-abi-01.c: New.
+       * objc-next-metadata-tags.h: New.
+       * objc-next-runtime-abi-01.c: New.
+       * objc-next-runtime-abi-02.c: New.
+       * objc-lang.c: Include c-lang.h.
+       (LANG_HOOKS_EH_PERSONALITY): Removed.
+       * objc-act.h: Moved many declarations and code from objc-act.c
+       into objc-act.h to make them available outside objc-act.c.
+       (objc_eh_runtime_type): Removed.
+       (objc_eh_personality): Removed.
+       (CLASS_HAS_EXCEPTION_ATTR): New.
+       (OCTI_SUPER_SUPERFIELD_ID): New.
+       (OCTI_V1_PROP_LIST_TEMPL): New.
+       (OCTI_V1_PROP_NAME_ATTR_CHAIN): New.
+       (super_superclassfield_id): New.
+       (objc_prop_list_ptr): New.
+       (prop_names_attr_chain): New.
+       * objc-act.c: Include new runtime headers.  Moved many #defines
+       and declarations into objc-act.h and
+       objc-runtime-shared-support.h.  Made some corresponding functions
+       non-static, and moved some others into
+       objc-runtime-shared-support.c.  Moved metadata generation code
+       into the new runtime hook files.
+       (ivar_offset_hash_list): New.
+       (objc_init): Call generate_struct_value_by_array() before doing
+       any runtime initialization.  Create the appropriate runtime hook
+       structures.
+       (init_objc): Removed.  Code moved directly into objc_init.
+       (finish_objc): Removed.  Code moved directly into
+       objc_write_global_declarations.
+       (objc_write_global_declarations): Do the warn_selector checks
+       before emitting metadata.  Use a runtime hook to emit the
+       metadata.  Do not emit the metadata or do -gen-decls processing if
+       -fsyntax-only or we are producing a PCH.
+       (build_objc_exception_stuff): Renamed to
+       build_common_objc_exception_stuff.  Remove TREE_NOTHROW flag from
+       objc_exception_throw_decl.
+       (synth_module_prologue): Call runtime initialize hook instead of
+       building runtime declarations here.  Use the
+       default_constant_string_class_name runtime hook to set the
+       constant string class name.
+       (objc_build_string_object): Call the setup_const_string_class_decl
+       runtime hook instead of setup_string_decl.  Call the
+       build_const_string_constructor runtime hook instead of building
+       the string object here.
+       (get_objc_string_decl): Added prop_names_attr case.  Removed
+       gcc_unreachable() at the end.
+       (objc_begin_catch_clause): Distinguish between @catch (...) and
+       @catch (id x).  Call the begin_catch runtime hook instead of
+       building the CATCH_EXPR here.
+       (objc_finish_catch_clause): Call the finish_catch runtime hook
+       instead of adding the catch here.
+       (objc_finish_try_stmt): Call the finish_try_stmt runtime hook
+       instead of doing it here.
+       (objc_build_throw_stmt): Bail out early for error_mark_node.  Call
+       the build_exc_ptr runtime hook instead of objc_build_exc_ptr.
+       Call the build_throw_stmt runtime hook instead of building the
+       throw call here.
+       (objc_generate_cxx_cdtors): Set has_cxx_cdtors for the GNU runtime
+       as well.
+       (get_arg_type_list): Call the get_arg_type_list_base runtime hook
+       instead of building the list of arguments here.
+       (receiver_is_class_object): Call the receiver_is_class_object
+       runtime hook instead of doing the check here.  Call the
+       tag_getclass runtime hook instead of using TAG_GETCLASS.
+       (objc_finish_message_expr): Call the build_objc_method_call
+       runtime hook.
+       (objc_build_protocol_expr): Call the get_protocol_reference
+       runtime hook.
+       (objc_build_selector_expr): Call the build_selector_reference
+       runtime hook.
+       (build_ivar_reference): Call the build_ivar_reference runtime
+       hook.
+       (hash_init): Set up ivar_offset_hash_list.
+       (start_class): Recognize the objc_exception attribute and store
+       it.
+       (continue_class): Use the class_decl and metaclass_decl runtime
+       hooks.
+       (build_objc_property_accessor_helpers): Renamed to
+       build_common_objc_property_accessor_helpers.  Do not build
+       objc_copyStruct_decl, objc_getPropertyStruct_decl and
+       objc_setPropertyStruct_decl.
+       (objc_synthesize_getter): Check what struct setter/getter helper
+       is available instead of checking the type of runtime.
+       (get_super_receiver): Use the super_superclassfield_ident runtime
+       hook.  Added assert.  Use the get_class_super_ref and
+       get_category_super_ref runtime hooks.
+       (objc_v2_encode_prop_attr): New.
+
+2011-01-17  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       PR objc/47314
+       * objc-act.c (finish_objc): When calling check_duplicates to check
+       duplicated instance methods, set 'is_class' to 0, not 1.
+
+2011-01-14  Ben Elliston  <bje@au.ibm.com>
+
+       PR 19162
+       * objc-act.c (generate_struct_by_value_array): Do not output a
+       definition for struct_forward_array.
+
+2011-01-08  Iain Sandoe  <iains@gcc.gnu.org>
+
+       * objc-act.c (objc_finish_foreach_loop): Mark collection expression
+       as read.
+
+2011-01-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * objc-act.c (check_that_protocol_is_defined): Fix a typo.
+
+2011-01-02  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (check_that_protocol_is_defined): New.
+       (lookup_protocol): Call check_that_protocol_is_defined.
+
+2010-12-30  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_types_are_equivalent): Fixed comparing protocol
+       lists.  Check them two-ways to fix comparisons when one protocol
+       implements the other one, or when one list contains duplicated
+       protocols.
+
+2010-12-30  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_add_method): When emitting an error because a
+       method with the same name but conflicting types is found in the
+       same class or category interface, print a note with the location
+       of the original method.  Also, improved the error message to
+       clearly state that the conflict is due to conflicting types, and
+       produce it for protocols as well.  Emit an error if two identical
+       methods are declared in a protocol, but one is @required and the
+       other one is @optional.
+
+2010-12-30  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (start_class): Warn when a class attribute is
+       ignored.
+       (objc_declare_protocols): Warn when a protocol attribute in a
+       protocol forward-declaration is ignored.
+       (start_protocol): Warn when a protocol attribute is ignored.
+
+2010-12-30  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_set_method_opt): Tidy up error messages.  In
+       particular, explicitly mention whether the error is due to the
+       @optional or @required keyword instead of mentioning
+       "@optional/@required".
+
+2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       PR objc/47118
+       * objc-act.c (objc_build_synchronized): Check the argument of
+       @synchronized and emit an appropriate error if it is not a valid
+       Objective-C object.  Deal gracefully with that case.  Updated
+       comments and variable names.
+
+2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       PR objc/47075
+       * objc-act.h (PROPERTY_REF_DEPRECATED_GETTER): New.
+       * objc-tree.def (PROPERTY_REF): Increased the number of operands
+       from 3 to 4.
+       * objc-act.c (objc_finish_message_expr): Added optional argument
+       allowing to return the deprecated method prototype for deprecated
+       methods, instead of immediately emitting the deprecation warning.
+       (objc_maybe_build_component_ref): Do not warn for a deprecated
+       property.  When building the getter call, get the deprecated
+       method prototype from objc_finish_message_expr() and put it into
+       the PROPERTY_REF.
+       (objc_build_class_component_ref): Same change.
+       (finish_class): Mark the getter and setter as deprecated if they
+       are generated from a deprecated property.
+       (objc_gimplify_property_ref): If the getter is deprecated, emit a
+       deprecation warning.
+       (objc_build_setter_call, objc_build_message_expr,
+       objc_finish_foreach_loop): Updated call to
+       objc_finish_message_expr.
+
+2010-12-28  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       PR objc/47076
+       * objc-act.c (lookup_protocol): Added 'definition_required'
+       argument.  If 'definition_required', and the protocol is not
+       defined, emit a warning.
+       (objc_declare_protocols): Updated call to lookup_protocol.
+       (start_protocol): Same change.
+       (check_protocol_recursively): Same change.
+       (objc_build_protocol_expr): Same change.
+       (lookup_and_install_protocols): Added definition_required argument.
+       Pass it to lookup_protocol.
+       (objc_get_protocol_qualified_type): Updated call to
+       lookup_and_install_protocols.
+       (start_class): Updated calls to lookup_and_install_protocols; pass
+       true to 'definition_required' to get the warnings.
+       (start_protocol): Updated calls to lookup_and_install_protocols.
+
+2010-12-28  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_start_category_interface): Produce an error if
+       a class extension is found after the class @implementation.
+
+2010-12-28  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       PR objc/47073
+       * objc-act.c (encode_method_prototype): Fixed both location and
+       format string of error "type %qT does not have a known size".
+
+2010-12-26  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * config-lang.in (gtfiles): Added c-family/c-cppbuiltin.c.
+
+2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * objc-act.c (next_sjlj_build_enter_and_setjmp): Use prototype_p.
+
+2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_init): Call using_eh_for_cleanups.
+       (objc_init_exceptions): Renamed to objc_maybe_warn_exceptions.  Do
+       not call using_eh_for_cleanups.
+       (objc_begin_try_stmt): Do not call objc_init_exceptions.
+       (objc_build_throw_stmt): Updated call to
+       objc_maybe_warn_exceptions.
+
+2010-12-18  Iain Sandoe  <iains@gcc.gnu.org>
+
+       * objc/objc-act.c (objc_eh_personality): Select personality name on
+       runtime.
+       (objc_init_exceptions): New.
+       (objc_begin_try_stmt): Use objc_init_exceptions.
+       (objc_build_throw_stmt): Likewise.
+
+2010-12-10  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_in_class_extension): New.
+       (objc_start_category_interface): If -fobjc-std=objc1
+       was specified, produce an error if a class extension is used.
+       (objc_finish_interface): Reset objc_in_class_extension to false.
+       (objc_add_property_declaration): Allow a class extension to extend
+       readonly properties in the main @interface to be readwrite.
+       (start_class): Added code to deal with class extensions.  In that
+       case, return the existing interface after adding any additional
+       protocols to it and setting objc_in_class_extension to true.
+       (continue_class): If in a class extension, do not generate the
+       instance variable template.
+
+2010-12-08  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_build_throw_stmt): Check that the argument of
+       @throw is an object and emit an error if not.
+
+2010-12-08  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_finish_foreach_loop): Use error_at() instead of
+       error() when printing an error about the iterating variable or
+       collection not being an object.
+
+2010-12-06  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_finish_foreach_loop): Mark the
+       object_expression as used.
+
+2010-12-06  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c: Include c-family/c-objc.h.
+       * objc-lang.c: Same change.
+       * Make-lang.in (objc/objc-act.o): Depend on
+       c-family/c-objc.h.
+       (objc/objc-lang.o): Same change.
+       * config-lang.in (gtfiles): Added c-family/c-objc.h.
+
+2010-12-02  Joseph Myers  <joseph@codesourcery.com>
+
+       * lang-specs.h: Don't handle -ftraditional.
+
+2010-12-02  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_build_throw_stmt): Return error_mark_node and
+       not NULL_TREE when a @throw is used outside of a @catch block.
+
+2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_build_volatilized_type): Removed.
+       (objc_non_volatilized_type): Removed.
+       (objc_type_quals_match): Removed.
+       (local_variables_to_volatilize): New.
+       (objc_volatilize_decl): Add the decl to volatilize to
+       local_variables_to_volatilize, but don't volatilize it yet.
+       (objc_finish_function): New.
+       * objc-act.h (local_variables_to_volatilize): New.
+
+2010-11-29  Nicola Pero  <nicola.pero@meta-innovation.com>
+           Mike Stump  <mikestump@comcast.net>
+
+       Allow 'make check-objc -j2'
+       * Make-lang.in (lang_checks_parallelized): New.
+       (check_objc_parallelize): New.
+
+2010-11-29  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (start_class): When a class is reimplemented,
+       generate an error and avoid adding the class to the list of
+       implemented classes again, but do not return error_mark_node.
+
+2010-11-29  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_maybe_build_component_ref): Removed TODO.
+
+2010-11-29  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_eh_runtime_type): Avoid ICE if error_mark_node
+       is passed as argument.
+       (objc_begin_catch_clause): Added code to deal with an
+       error_mark_node or NULL_TREE argument.  Improved checks for
+       invalid arguments.  Added code to traverse typedefs.
+
+2010-11-29  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_demangle): Return immediately if the string is
+       too short.  Detect names that do not need demangling, and return
+       them unchanged.
+
+2010-11-27  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       Implemented optional properties.
+       * objc-act.h (PROPERTY_OPTIONAL): New.
+       * objc-act.c (objc_add_property_declaration): Set
+       PROPERTY_OPTIONAL if appropriate.
+       (finish_class): When generating definitions of setter and getter
+       methods associated with a property for a protocol, mark them as
+       optional if the property is optional.
+       (maybe_make_artificial_property_decl): Added 'getter_name'
+       argument.  Set PROPERTY_OPTIONAL.
+       (objc_maybe_build_component_ref): Updated calls to
+       maybe_make_artificial_property_decl.  Added code for optional,
+       readonly properties.
+       (objc_build_class_component_ref): Updated call to
+       maybe_make_artificial_property_decl.
+
+2010-11-27  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_build_struct): Fixed loops that save and
+       restore TYPE_OBJC_INFO to iterate over all variants of the type; a
+       special case for the current type is then no longer required.
+       Duplicate TYPE_LANG_SPECIFIC for each type before restoring
+       TYPE_OBJC_INFO.
+       (objc_get_protocol_qualified_type): Updated comments.
+
+2010-11-25  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_build_struct): Install TYPE_OBJC_INTERFACE
+       after finish_struct, not before, otherwise it may be wiped out by
+       it.  This fixes spurious warnings when a class has more than 15
+       instance variables.
+
+2010-11-23  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       PR objc/24358
+       * lang-specs.h: Added objective-c-cpp-output.  Mapped .mi to
+       objective-c-cpp-output instead of objc-cpp-output.  Print a
+       deprecation note every time objc-cpp-output is requested.
+
+2010-11-22  Joseph Myers  <joseph@codesourcery.com>
+
+       * objc-act.c (write_symbols): Don't declare here.
+
+2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       PR objc/41108
+       * objc-act.c (objc_generate_write_barrier): Added assert to make sure
+       this function is only called with the next runtime.
+
 2010-11-20  Jakub Jelinek  <jakub@redhat.com>
 
        PR c/46547
        class of a category.  Recognize the 'deprecated' attribute when
        starting and interface, and mark the interface with
        TREE_DEPRECATED if present.  Store attributes in the interface.
-       
-2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>     
+
+2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * objc-act.c (lookup_protocol): Added 'warn_if_deprecated'
        argument.  If it is 'true' and the protocol is deprecated, emit a
        (check_protocol_recursively): Same change.
        (lookup_and_install_protocols): Same change.
        * objc-act.h: Updated comments.
-       
+
 2010-11-17  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * objc-act.c (lookup_method_in_protocol_list): Search methods in
        (objc_add_synthesize_declaration_for_property): Check that the
        property to synthesize and the instance variable to use have the
        same type.
-       
+
 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
 
        * objc-act.c (objc_init): Use %' in diagnostic.
        protocols and superclasses as well.
        (objc_synthesize_setter): Search for the setter declaration in
        protocols and superclasses as well.
-       
+
 2010-11-08  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * objc-act.c (lookup_property): When checking categories, also
        PROPERTY_GETTER_NAME here; this is now done earlier, in
        objc_add_property_declaration.
        * objc-act.h (CLASS_NAME, CLASS_SUPER_NAME): Added comments.
-       
+
 2010-11-06  Nicola Pero  <nicola.pero@meta-innovation.com>
 
-       Fixed using the Objective-C 2.0 syntax with self and super.
+       Fixed using the Objective-C 2.0 dot-syntax with self and super.
        * objc-act.c (OBJC_LOOKUP_NO_INSTANCE_METHODS_OF_ROOT_CLASS): New.
        (maybe_make_artificial_property_decl): Added 'implementation'
        argument.  Use OBJC_LOOKUP_NO_INSTANCE_METHODS_OF_ROOT_CLASS when
        * objc-tree.def (PROPERTY_REF): Increased the number of operands
        from 2 to 3.  Updated comments.
        * objc-act.h (PROPERTY_REF_GETTER_CALL): New.
-       
+
 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
 
        PR target/44981
 
 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
 
-       Fixed using the Objective-C 2.0 dot-syntax with class names.    
+       Fixed using the Objective-C 2.0 dot-syntax with class names.
        * objc-act.c (objc_build_class_component_ref): New.
 
 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
        and do not warn if the property is readonly or if the type is a Class.
        (objc_finish_foreach_loop): Updated calls to
        objc_type_valid_for_messaging.
-       
+
 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        Implemented -fobjc-std=objc1 flag.
        (PROPERTY_HAS_NO_GETTER): New.
        (PROPERTY_HAS_NO_SETTER): New.
        * objc-tree.def: Updated comment.
-       
+
 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        Implemented format and noreturn attributes for Objective-C methods.
        "deprecated".  In the case of "format", adjust the arguments.
        Always process the attributes in the same way no matter if
        "sentinel" is in the list or not.
-       
+
 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * objc-act.c (objc_maybe_build_component_ref): Warn about using
        deprecated properties.
        (objc_maybe_printable_name): Support PROPERTY_DECL.
-       
+
 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
 
-       Implemented Objective-C 2.0 property accessors. 
+       Implemented Objective-C 2.0 property accessors.
        * objc-act.h (enum objc_tree_index): Added OCTI_GET_PROPERTY_DECL,
        OCTI_SET_PROPERTY_DECL, OCTI_COPY_STRUCT_DECL,
        OCTI_GET_PROPERTY_STRUCT_DECL and OCTI_SET_PROPERTY_STRUCT_DECL.
        work with properties that are not nonatomic, assign properties.
        (objc_synthesize_setter): Implemented synthesizing setters that
        work with properties that are not nonatomic, assign properties.
-       
+
 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
        (objc_gimplify_property_ref): New.
        (objc_gimplify_expr): Use a switch.  In case of a PROPERTY_REF, call
        objc_gimplify_property_ref.
-       
+
 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * objc-act.c (objc_add_property_declaration): Added arguments to
        (property_setter): Removed.
        (property_getter): Removed.
        (property_ivar): Removed.
-       (property_copies): Removed.     
+       (property_copies): Removed.
        (objc_set_property_attr): Removed.
        * objc-act.h (enum property_assign_semantics): New.
-       
+
 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * objc-act.c (objc_add_property_variable): Renamed to
        warnings and errors to use it.  Use error, not fatal_error, if a
        property declaration is found outside an interface or
        implementation context.
-       
+
 2010-10-24  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * objc-act.c (objc_build_keyword_decl): Updated comments.  Do not
        of DECLs that we don't recognize.  Immediately return NULL for them.
        (objc_printable_name): Removed C++-specific case, which is no
        longer used.  Updated comments.
-       
+
 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * objc-act.c (OBJC_GEN_METHOD_LABEL): Updated comments.
 2010-10-21  Iain Sandoe  <iains@gcc.gnu.org>
 
        Based on the CFString implementation in FSF apple/trunk branch.
-       
+
        * objc/objc-act.c (objc_build_string_object): Handle CFStrings.
 
 2010-10-21  Nicola Pero  <nicola.pero@meta-innovation.com>
        twice.  Added missing gcc_unreachable for default case - twice.
        (dump_interface): Use a switch instead of a chain of ifs.
        (handle_impent): Same change.
-       
+
 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * objc-act.h (objc_inherit_code): Removed.
        (objc_synthesize_getter): Updated call to
        objc_start_method_definition.  Do not set objc_inherit_code.
        (objc_synthesize_setter): Updated call to
-       objc_start_method_definition.  Do not set objc_inherit_code.    
-       
+       objc_start_method_definition.  Do not set objc_inherit_code.
+
 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        Merge from 'apple/trunk' branch on FSF servers.  Obvious updates
        (objc_declare_class): Enter class name into hash table.
        (objc_is_class_name): Do a hash look up of class name.
        (hash_init): Initialize the two new hash tables.
-       * objc-act.h: Added cls_name_hash_list and als_name_hash_list 
-       declarations, removed class_chain and alias_chain.      
+       * objc-act.h: Added cls_name_hash_list and als_name_hash_list
+       declarations, removed class_chain and alias_chain.
 
 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        for syntax-only run or PCH generation as this is done by the
        callers.
        * objc-act.h (objc_finish_file): Removed.
-       
+
 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        Implemented parsing @synthesize and @dynamic for
        * objc-act.c (objc_add_synthesize_declaration): New.
        (objc_add_dynamic_declaration): New.
 
-2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>     
+2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * objc-act.c (lookup_and_install_protocols): Return NULL if passed
        error_mark_node.
-       
+
 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        Merge from 'apple/trunk' branch on FSF servers.
        * 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.   
+        objc_implementation_context.
 
 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
 
-       Merge from 'apple/trunk' branch on FSF servers. 
-       
+       Merge from 'apple/trunk' branch on FSF servers.
+
        2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
 
        Radar 4330422
        * objc/objc-act.c (objc_non_volatilized_type): New
 
        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_type_quals_match): Use the new attribute to check on
        'volatilzed' type.
        (hash_init): removed unneeded code.
-       
+
 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        Merge from 'apple/trunk' branch on FSF servers.
-       
+
        2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
 
        Radar 4133425
 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
 
        * objc-act.c: Rename 'objc_public_flag' to  objc_ivar_visibility and
-       make its type 'objc_ivar_visibility_kind'.  
+       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 
+       (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
 
 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
 
-       merge from FSF apple 'trunk' branch. 
+       merge from FSF apple 'trunk' branch.
        2006 Fariborz Jahanian <fjahanian@apple.com>
-       
+
        Radars 4436866, 4505126, 4506903, 4517826
        * objc-act.c (CALL_EXPR_OBJC_PROPERTY_GETTER): New.
        property_readonly, property_getter, property_setter, property_ivar,
 
 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
 
-       merge from FSF apple 'trunk' branch. 
+       merge from FSF apple 'trunk' branch.
 
        2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
        Radar 3803157 (method attributes)
 
 2010-10-07  Iain Sandoe  <iains@gcc.gnu.org>
 
-       * objc-act.c (build_objc_method_call): Replace calls to 
+       * objc-act.c (build_objc_method_call): Replace calls to
        build_function_call () with the VEC equivalent.  Construct parameter
        lists as VECs.
 
 2010-10-07  Iain Sandoe  <iains@gcc.gnu.org>
 
-       * objc-act.c (objc_build_message_expr):  Call mark_exp_read () to 
+       * objc-act.c (objc_build_message_expr):  Call mark_exp_read () to
        signal that the receiver has been used.
 
 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
        for valid objc object types.
        (objc_finish_foreach_loop): Check for invalid objc objects in
        foreach header.
-       
+
 2010-10-05  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        Merge from 'apple/trunk' branch on FSF servers.
         Radar 4290840
        * objc-act.c (objc_start_method_definition): Check for
        error_mark_node for the selector name and make a quick exit.
-       
+
 2010-10-04  Andi Kleen <ak@linux.intel.com>
 
        * Make-lang.in (cc1obj-dummy, cc1obj): Add + to build rule.
        * objc/objc-act.h (CLASS_OPTIONAL_CLS_METHODS,
        CLASS_OPTIONAL_NST_METHODS): New macros accessing a protocol
        class's optional method chains.
-       
+
 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        Merge from 'apple/trunk' branch on FSF servers.
        * objc-act.c (objc_is_reserved_word): Removed.
 
 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
-       
-       * objc-act.c (objc_add_method_declaration): Handle and ignore 
+
+       * objc-act.c (objc_add_method_declaration): Handle and ignore
        attributes.
        (objc_start_method_definition): Likewise.
        (objc_generate_cxx_ctor_or_dtor): Pass NULL attributes to ctor/dtor.
        * 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.   
+       been decayed.
 
 2010-09-28  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * 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.
-       
+
 2010-09-28  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * objc-act.c (encode_type): Do not add 'r' with the next runtime.
        Encode C++ reference types as pointers.  Call encode_vector to
        encode vectors.
        (encode_vector): New function.
-       
+
 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        Merge from 'apple/trunk' branch on FSF servers.  I modified the
         Radar 4301047
 
        * objc-act.c (encode_type): Remove the hack.
-       
+
        2005-07-20  Ziemowit Laski  <zlaski@apple.com>
 
        Radar 4136935
 
        Radar 4229905
        * objc-act.c (objc_have_common_types): New function.
-       
+
        2005-06-22  Ziemowit Laski  <zlaski@apple.com>
 
        Radar 4154928
        * objc-act.c (objc_common_type): New function.
-       
+
 2010-09-27  Richard Guenther  <rguenther@suse.de>
 
        * objc-act.c (objc_get_class_reference): Use CP_TYPE_CONTEXT.
        * objc-act.c (objc_get_interface_ivars): New function.
        (objc_collecting_ivars): New variable.
        (continue_class): Set and reset objc_collecting_ivars for context.
-       
+
 2010-09-15  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        Merge from 'apple/trunk' branch on FSF servers.
        * 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).
-       
+
 2010-09-10  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * objc/objc-act.c (objc_begin_try_stmt): Generate an error if
        PR objc/44140
        * objc-act.c: build_objc_string_decl() remove declaration.
        (finish_var_decl): Remove forcing of var output and marking
-       as "Used". 
-       (init_def_list): Use integer_zero_node. 
+       as "Used".
+       (init_def_list): Use integer_zero_node.
        (init_objc_symtab): Use integer_zero_node, make the short
        integer type specific on relevant nodes.
-       (generate_objc_symtab_decl): Remove call to 
+       (generate_objc_symtab_decl): Remove call to
        forward_declare_categories().  Use null_pointer_node where
-       appropriate.  
-       (build_module_descriptor): Comment and mark this item as 
-       DECL_PRESERVE_P. 
+       appropriate.
+       (build_module_descriptor): Comment and mark this item as
+       DECL_PRESERVE_P.
        (generate_static_references): Use gcc_unreachable instead of
-       abort (). 
+       abort ().
        (diagnose_missing_method): New.
        (build_next_selector_translation_table): New.
        (build_gnu_selector_translation_table): New.
        ... and delete build_objc_string_decl().
        (generate_dispatch_table): Make integer types explicit.
        (generate_category): Pass implent and arrange for the data
-       to be extracted within the routine.  Do not start new vars, 
+       to be extracted within the routine.  Do not start new vars,
        but finish the ones collcted during parsing.
        (generate_shared_structures): Likewise.
        (finish_objc):  Reorder code so that we finish variables before
        referencing them.  Save the global data before calling meta-data
-       creation routines, and pass the current reference to the two 
-       main routines.  Only call generate_objc_image_info () for the 
+       creation routines, and pass the current reference to the two
+       main routines.  Only call generate_objc_image_info () for the
        NeXT runtime.
        (generate_classref_translation_entry): Comment on and make this
        item DECL_PRESERVE_P.
        (handle_class_ref): Use varpool interfaces, comment on and make
        this item DECL_PRESERVE_P.
        (handle_impent): Likewise.
-       (generate_objc_image_info): Only generate when the content is 
+       (generate_objc_image_info): Only generate when the content is
        non-zero.  Make integer types explict.
 
 2010-07-03  Nathan Froyd  <froydnj@codesourcery.com>
 2009-07-17  Aldy Hernandez  <aldyh@redhat.com>
            Manuel López-Ibáñez  <manu@gcc.gnu.org>
 
-       PR 40435 
+       PR 40435
        * objc-act.c: Add location argument to all calls to
        build_fold_addr_expr.
-       
+
 2009-07-14  Taras Glek  <tglek@mozilla.com>
            Rafael Espindola  <espindola@google.com>
 
 
        * objc-act.c (next_sjlj_build_catch_list): Replace EXPR_LOCUS by
        EXPR_LOCATION.
-       
+
 2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
 
        * objc-act.c: Replace %J by an explicit location. Update all
        calls.
-       
+
 2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
 
        * objc-act.c: Replace %H by an explicit location. Update all
        calls.
-       
+
 2009-06-22  Steven Bosscher  <steven@gcc.gnu.org>
 
        PR objc/28050
        * objc-act.c (objc_build_message_args): Return if ARGS is the
        error_mark_node.
-       
+
 2009-06-19  Ian Lance Taylor  <iant@google.com>
 
        * objc-act.c (objc_in_struct, objc_struct_types): Remove.
        label_context_stack_se or label_context_stack_vm.
 
 2009-06-12  Aldy Hernandez  <aldyh@redhat.com>
-       
+
        * objc-act.c (finish_var_decl): Pass location to finish_decl.
        (objc_get_parm_info): Same.
        (get_super_receiver): Same.
        build_modify_expr, build_compound_expr.
        * objc-act.c: Add location to all calls to start_struct, build_decl,
        finish_struct.
-       
+
 2009-06-09  Ian Lance Taylor  <iant@google.com>
 
        * objc-act.c (objc_gimplify_expr): Change return type to int.
        (add_class): Likewise.
 
 2007-01-02  Douglas Gregor  <doug.gregor@gmail.com>
-       
+
        * objc-act.c (objc_build_volatilized_type): Keep track of
        canonical types.
        (objc_get_protocol_qualified_type): Ditto.
-       
+
 2006-11-02  Andreas Tobler  <a.tobler@schweiz.org>
 
        * objc-act.c (objc_finish_file): Remove ifdef clause for OBJCPLUS and
        Move to c-objc-common.h.
 
 \f
-Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright