X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fobjc%2FChangeLog;h=780553a3c15b03e579a830d8fa0bdd5c34801246;hb=86d3c909af3776bac91dc2d0e0ff791910141600;hp=3c814c6ae4858db85426098b5ce0441c2da16c76;hpb=6bd9d862e29cd8444002527aba7daea833ab3e61;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index 3c814c6ae48..780553a3c15 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,384 @@ +2011-01-14 Ben Elliston + + * objc-act.c (generate_struct_by_value_array): Do not output a + definition for struct_forward_array. + +2011-01-08 Iain Sandoe + + * objc-act.c (objc_finish_foreach_loop): Mark collection expression + as read. + +2011-01-02 H.J. Lu + + * objc-act.c (check_that_protocol_is_defined): Fix a typo. + +2011-01-02 Nicola Pero + + * objc-act.c (check_that_protocol_is_defined): New. + (lookup_protocol): Call check_that_protocol_is_defined. + +2010-12-30 Nicola Pero + + * 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 + + * 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 + + * 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 + + * 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 + + 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 + + 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 + + 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 + + * 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 + + 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 + + * config-lang.in (gtfiles): Added c-family/c-cppbuiltin.c. + +2010-12-22 Nathan Froyd + + * objc-act.c (next_sjlj_build_enter_and_setjmp): Use prototype_p. + +2010-12-18 Nicola Pero + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * objc-act.c (objc_finish_foreach_loop): Mark the + object_expression as used. + +2010-12-06 Nicola Pero + + * 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 + + * lang-specs.h: Don't handle -ftraditional. + +2010-12-02 Nicola Pero + + * 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 + + * 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 + Mike Stump + + Allow 'make check-objc -j2' + * Make-lang.in (lang_checks_parallelized): New. + (check_objc_parallelize): New. + +2010-11-29 Nicola Pero + + * 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 + + * objc-act.c (objc_maybe_build_component_ref): Removed TODO. + +2010-11-29 Nicola Pero + + * 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 + + * 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 + + 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 + + * 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 + + * 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 + + 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 + + * objc-act.c (write_symbols): Don't declare here. + +2010-11-22 Nicola Pero + + 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 + + PR c/46547 + * objc-act.c (in_late_binary_op): Remove. + +2010-11-19 Nicola Pero + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * objc-act.c (objc_add_property_declaration): Check that the type + of a property and of an inherited property match. + (objc_maybe_build_component_ref): Tidied up indentation and + comments. + (objc_common_type): Added new type of check (-5). + (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 + + * objc-act.c (objc_init): Use %' in diagnostic. + (objc_set_method_opt): Remove trailing '.' from diagnostic. + 2010-11-10 Joseph Myers * objc-act.c (dump_base_name): Don't declare here. @@ -52,7 +433,7 @@ 2010-11-06 Nicola Pero - 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 @@ -665,7 +1046,7 @@ (objc_push_parm): Rebuild the PARM_DECL if its type has been decayed. -2010-09-28 Nicola Pero +2010-09-28 Nicola Pero * objc-act.c (encode_type): Fixed encoding enums with the next runtime. @@ -2402,7 +2783,8 @@ Move to c-objc-common.h. -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