OSDN Git Service

* gcc.c (trad_capable_cpp, default_compilers): Don't handle
[pf3gnuchains/gcc-fork.git] / gcc / objc / ChangeLog
index f2f2a6a..ca63d7b 100644 (file)
@@ -1,3 +1,193 @@
+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
+       * objc-act.c (in_late_binary_op): Remove.
+
+2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_start_class_interface): Do not warn that class
+       attributes are unimplemented.  Pass the attributes to start_class.
+       (objc_start_category_interface): Updated call to start_class.
+       (objc_start_class_implementation): Same change.
+       (objc_start_category_implementation): Same change.
+       (objc_build_class_component_ref): Warn if the class is deprecated.
+       (build_private_template): Mark the template as deprecated if the
+       class is deprecated.
+       (start_class): Added 'attributes' argument.  Emit a warning if
+       using a deprecated class as superclass of a class, or original
+       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>     
+
+       * objc-act.c (lookup_protocol): Added 'warn_if_deprecated'
+       argument.  If it is 'true' and the protocol is deprecated, emit a
+       deprecation warning.
+       (objc_start_protocol): Do not warn that protocol attributes are
+       unimplemented.  Pass the attributes to start_protocol.
+       (start_protocol): Added attributes argument.  Recognize the
+       'deprecated' attribute and mark the protocols with TREE_DEPRECATED
+       if present.  Store attributes in the protocol.
+       (objc_declare_protocols): Added 'attributes' argument.  Recognize
+       the 'deprecated' attribute and mark the protocols with
+       TREE_DEPRECATED if present.  Store attributes in the protocol.
+       Updated call to lookup_protocol.
+       (objc_build_protocol_expr): Updated call to lookup_protocol.
+       (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
+       PROTOCOL_OPTIONAL_CLS_METHODS / PROTOCOL_OPTIONAL_NST_METHODS if
+       they are not found in PROTOCOL_CLS_METHODS / PROTOCOL_NST_METHODS.
+
+2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_build_setter_call): New.
+       (objc_maybe_build_modify_expr): Rewritten to build a compound
+       statement.
+       (objc_build_incr_expr_for_property_ref): Updated calls to
+       objc_maybe_build_modify_expr to call objc_build_setter_call
+       instead.  Use build_modify_expr () instead of build2 (MODIFY_EXPR,
+       ...).  Use convert () instead of build1 (NOP_EXPR, ...).  Use
+       TREE_NO_WARNING on the final compound statement to silence C++
+       warnings.
+
+2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_build_incr_expr_for_property_ref): New.
+       (objc_create_temporary_var): Moved it towards the beginning of the
+       file so that objc_build_incr_expr_for_property_ref can use it.
+
+2010-11-14  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_add_property_declaration): Check that the decl
+       we received from the parser is a FIELD_DECL; reject array and
+       bitfield properties.  Convert the warning when a property is
+       readonly and a setter is specified into an error.  Convert errors
+       when a property declaration does not match a property declaration
+       in a superclass into warnings.
+       (objc_add_synthesize_declaration_for_property): Use
+       DECL_BIT_FIELD_TYPE to determine the type of an instance variable
+       if it is a bitfield.  Throw an error if we are asked to synthesize
+       setters/getters for a bitfield instance variable but the property
+       is not appropriate - it must be assign and nonatomic.  If the
+       property is readonly, allow the instance variable type to be a
+       specialization of the property type.
+       (objc_type_valid_for_messaging): Fixed returning 'false' for a
+       Class qualified with a protocol when the 'accept_classes' argument
+       is 'false'.
+
+2010-11-13  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * objc-act.c (objc_get_protocol_qualified_type): detect cases
+       where we are asked to attach a protocol to something which is not
+       an Objective-C object type, and produce an error.
+
 2010-11-11  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * objc-act.c (objc_add_property_declaration): Check that the type
        
 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