| 2019-03-17 Jim Grosbach <grosbach@apple.com> |
| |
| Radar 6671703 |
| * objc-act.c (objc_synthesize_new_getter, objc_synthesize_new_setter): |
| On ARM, for atomic access to any type of larger than 4 bytes, use |
| objc_copyStruct(). |
| |
| 2009-05-06 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6083666 |
| * objc-act.c (objc_build_property_reference_expr): Never |
| issue diagnostics on use of an 'ivar' with property type |
| mismatch. Issue warning in all other cases and only in |
| legitimate property/user declared type mismatches. |
| (objc_build_property_reference_expr): Do not issue any |
| warning or error when property is more specialized than |
| its user declared accessor. |
| |
| 2009-04-24 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6825962 |
| * objc-act.c (objc_declare_property_impl): Issue property in |
| super class diagnostic even if explicitly asked for. |
| |
| 2009-04-20 Fariborz Jahanian <fjahanian@apple.com> |
| Radar 6803342 |
| * objc-act.c (generate_objc_image_info): Set the imfo_info |
| flag to 16 (1<<4) when in objc2, setter/getter issues error |
| on use of super class synthsized ivar. |
| |
| 2009-01-07 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6379842 |
| * objc-act.c (objc_add_property_variable): warn on |
| block property with no 'copy' attribute. |
| |
| 2008-11-14 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6370136 |
| * objc-act.c (objc_merge_protocol_methods): Merge copied |
| list of protocol's methods into class. |
| |
| 2008-11-13 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6351990 (minor tweak). |
| * objc-act.c (build_protocol_list_address_table): Move couple |
| of variables out of the loop. |
| |
| 2008-11-11 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6351990 |
| * objc-act.c (build_protocollist_reference_decl): Builds |
| a weak visibility hidder symbol for protocol reference |
| meta-data symbols. |
| (objc_add_to_protocol_list_chain): Takes addition argument |
| and builds a tree using this argument. |
| (build_protocol_list_address_table): Now builds a list |
| of protocol label and address of generated protocol symbol. |
| |
| 2008-11-07 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5847976 |
| * objc-act.c (objc_is_gcable_type): Made global. |
| (objc_build_weak_reference_tree): Quick return if |
| -fobjc-gc unspecified. |
| (objc_checkon_weak_attribute): Ditto. |
| (objc_generate_write_barrier): Generate write-barrier for |
| a __block variable declared as __weak. |
| (retain_block_component, release_block_component, |
| copy_in_object): Removed. |
| (cast_to_pointer_to_id): Removed. |
| |
| 2008-10-27 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6231433 |
| * objc-act.c (objc_compare_types, objc_have_common_type): |
| Take an extra argument for better diagnostics. |
| |
| 2008-10-23 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6307941 |
| * objc-act.c (build_objc_method_call, build_v2_build_objc_method_call, |
| get_arg_type_list): Take selector name as new argument. |
| (objc_init): Remove check for flag_objc_legacy_dispatch. |
| (objc_legacy_dispatched_selector_p): New |
| (objc_finish_message_expr): Call objc_legacy_dispatched_selector_p |
| to check on legacy dispatch message or objc2 abi. |
| |
| 2008-10-16 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6017984 |
| * objc-act.c (objc_merge_protocol_methods): New |
| (finish_class): Call objc_merge_protocol_methods for |
| anonymous categories. |
| |
| 2008-10-16 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6285794 (tweak) |
| * objc-act.c: Replace all build_int_cst (NULL_TREE, 0) |
| with integer_zero_node. |
| |
| 2008-10-15 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6285794 |
| * objc-act.c: All 0 initializers are converted to |
| pointer type of the initialized field, to suit |
| llvm-gcc restriction. |
| |
| 2008-10-13 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6255913 |
| * objc-act.c (build_protocollist_translation_table): Generate a |
| coalessable name for protocol meta-data reference with "l_OBJC" prefix. |
| (build_v2_protocol_reference): declare a 'weak' 'extern hidden' |
| symbol for protocol meta-data. |
| |
| 2008-10-03 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6267049 |
| * objc-act.c (objc_get_protocol_qualified_type): Issue error on bogus |
| protocol qualified syntax. |
| |
| 2008-10-03 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6264448 |
| * objc-act.c (objc_build_compound_setter_call): Do the default conversion |
| on temporary after it is passed to the setter call. |
| |
| 2008-10-01 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6255671 |
| * objc-act.c (managed_objc_object_pointer): block pointer |
| is also an ObjC pointer for property purposes. |
| (objc_add_property_variable): Issue hard error when |
| property of block pointer type is defaulted to |
| 'assign' attribute. |
| |
| 2008-09-23 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6230701 |
| * objc-act.c (access_block_ref_self_decl): New |
| (build_ivar_reference): Call it, instead of inline code. |
| (get_super_receiver): Call access_block_ref_self_decl to get |
| copied-in version of 'self' when building 'super' |
| messaging. |
| |
| 2008-09-19 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6230800 |
| * objc-act.c (objc_v2_build_ivar_ref): Better text for diagnostic. |
| |
| 2008-09-19 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4900615 |
| * objc-act.c (encode_type): Encode long double as 'D'. |
| |
| 2008-09-11 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5839123 |
| * objc-act.c (objc_compare_types): More detailed error |
| reporting. |
| |
| 2008-09-10 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6209554 |
| * objc-act.c (objc_declare_property_impl): Report on |
| location of previous property decl. |
| (error_previous_property_decl): New. |
| |
| 2008-09-08 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6064186 |
| * objc_act.c (generate_v2_property_list, |
| forward_declare_categories, |
| generate_descriptor_table, |
| generate_v2_ivars_list, |
| generate_dispatch_table, |
| generate_v2_dispatch_tables, |
| generate_v2_protocol_list, |
| generate_v2_method_descriptors, |
| newabi_append_ro, |
| generate_v2_shared_structures): Symbols which end up in DATA |
| section now start with "l_". |
| (build_message_reference_decl): Each message ref symbol is now prefixed |
| by "l_". It is also becomes 'private extern'. |
| |
| 2008-08-26 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5595325 (minor addition) |
| * objc-act.c (objc_finish_message_expr): Do not warn |
| on invalid receiver type if receiver is an |
| NSObject. |
| |
| 008-08-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5595325 |
| * objc-act.c (objc_nsobject_attribute_type): New |
| (objc_compare_types): Allow NSObject pointers to match 'id' |
| (objc_is_object_ptr): An SObject pointer is a valid objective-c |
| object. |
| |
| 2008-08-20 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6157135 |
| * objc-act.c (objc_delta_format_args): Don't change |
| number of first variarg if it is 0. |
| |
| 2008-08-19 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5435299 |
| * objc-act.c (objc_synthesize_new_getter): Do not call |
| objc_lookup_property_ivar with -fnew-property-ivar-synthesis |
| (objc_synthesize_new_setter): Ditto. |
| (objc_add_internal_ivar): Synthesize an ivar according to |
| new rules. |
| (lookup_property_impl_in_list): New |
| (lookup_ivar_in_property_list): New |
| (objc_declare_property_impl): Diagnose a corner case |
| of a missing 'ivar'. Synthesize 'ivar' at point |
| of @synthesize declaration. Issue more diagnostics. |
| |
| 2008-08-19 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5847641 |
| * objc-act.c (objc_declare_property_impl): Warn if |
| undeclared ivar is specified on @synthesize. |
| |
| 2008-08-18 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5424416 |
| * objc-act.c (objc_start_method_definition): Issue |
| diagnostics on methods returning array or function. |
| |
| 2008-08-18 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5453108 |
| * objc-act.c (property_method_in_class): New |
| (check_methods): Check on method being a property |
| method in current class by calling property_method_in_class. |
| |
| 2008-08-14 Dale Johannesen <dalej@apple.com> |
| |
| * objc-act.c (build_objc_string_decl): Rename to |
| build_objc_string_ident throughout. Make it return an |
| identifier instead of building a var_decl which gets |
| thrown away. |
| (add_objc_string): Modify for interface change. |
| |
| 2008-08-12 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6133042 |
| * objc-act.c (block_pointer_strong_value): New |
| (objc_build_aggregate_ivar_layout): Find GCability of |
| block pointer by calling above routine. |
| (objc_is_gcable_type): Ditto. |
| |
| 2008-08-05 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6040305 - work in proggress. |
| |
| * objc-act.c (build_ivar_reference): treat 'self' as |
| a copied in variable or ObjC++ as well. |
| |
| 2008-07-28 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6049617 |
| * objc-act.c (objc_finish_message_expr): Check and warn |
| on depricated/unavilable methods. |
| (build_objc_method_call): Removed above checking code. |
| (build_v2_build_objc_method_call): Ditto. |
| |
| 2008-07-25 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6023694 |
| * objc-act.h: (IS_SUPER) changed to compare |
| against the original type. |
| |
| 2008-07-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6029577 |
| * objc-act.c (objc_build_property_reference_expr): |
| Added support for property reference tree build when |
| property and/or getter is of a reference type. |
| |
| 2008-07-21 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6029624 |
| * objc-act.c: (objc_declare_property_impl): Consider property |
| of reference type as valid. |
| (objc_add_internal_ivar): Type of a synthesized ivar |
| of a property reference type is its referenced type. |
| |
| 2008-07-18 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6068877 |
| * objc-act.c: (objc_create_init_utf16_var): Removed. |
| |
| 2008-07-17 Fariborz Jahanian <fjahanian@apple.com> |
| Radar 6083530 |
| * objc-act.c: (objc_build_foreach_components): 'limit' and |
| 'counter' temporaries must have type unsigned long. |
| |
| 2008-07-08 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6061276 |
| * objc-act.c (objc_compare_types): Resolve a @class decl. |
| in type tree to its @interface decl. if can. |
| |
| 2008-06-16 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 6003871 |
| * objc-act.c (objc_build_ivar_layout): Free object after |
| its use not before. |
| |
| 2008-06-13 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5996271 |
| * objc-act.c (encode_type): encode 128-bit int. |
| |
| 2008-06-03 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5982789 |
| * objc-act.c (buildNSStringType): New |
| (objc_build_string_object): Type of a CFString literal is |
| now NSString *. |
| (objc_check_nsstring_pointer_type): Call buildNSStringType |
| to build "NSString" type. |
| |
| 2008-06-03 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5887355 |
| * objc-act.c (objc_build_string_object): Defer tree build |
| of cfstrings when in a template declaration. |
| (objc-tree.def): OBJC_STRING_REFERENCE is new tree code. |
| |
| 2008-05-27 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5962694 |
| * objc/objc-act.c (finish_class): For categories also merge |
| properties from their protocol list. |
| |
| 2008-05-16 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5932809 |
| * objc-act.c (objc_finish_message_expr) Don't warning on |
| [id release] or [id retain] messaging synthesized for byref |
| variable blocks. |
| (build_ivar_reference): build_closure_ref_decl call takes |
| on less argument (this is a clean up). |
| (retain_closure_component, release_closure_component): Set |
| donot_warn_missing_methods flag so we do not issue warning |
| on [id release] or [id retain] messaging synthesis. |
| (cast_to_pointer_to_id): New. |
| |
| 2008-04-23 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5882266 (tweaked). |
| * objc-act.c (objc_is_strong_p): Previous patch removed. |
| (objc_is_gcable_type): Special handling for finding '__weak' |
| attribute on block types. |
| |
| 2008-04-23 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5882266 |
| * objc-act.c (objc_is_strong_p): gc-attribute of |
| closure pointers are on its function type. |
| |
| 2008-04-10 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5849129 |
| * objc-act.c (encode_pointer): encode block pointer as '@'. |
| (encode_type): Add sncoding support for block pointer encopding. |
| |
| 2008-03-31 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5832193 |
| * objc-act.c (objc_is_gcable_type): A block type is also gc'able. |
| (objc_generate_write_barrier): Allow write-barriers when assigning to |
| a block pointer object. |
| |
| 2008-03-31 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5831920 |
| * objc-act.c (objc_type_valid_for_messaging): A block is a valid object for |
| messaging. |
| |
| 2008-03-28 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5808305 |
| * objc-act.c (release_closure_component): Do a plain bitwise copy |
| of object pointers of const copied-in object poiners (no more |
| retain autorelease thing). |
| |
| 2008-03-28 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5809099 |
| * objc-act.c (objc_finish_message_expr): Treat closure pointer receiver as |
| an 'id' object. |
| |
| 2008-03-26 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5782740 - Minor tweak. |
| * objc-act.c (release_closure_component): Message sent is |
| "release' instead of "retain". |
| |
| 2008-03-24 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5811191 |
| * objc-act.c (build_ivar_reference): Warn if an ivar is declared |
| inside an |...| block. Treat all ivar access such that their |
| implicit 'self' is copied-in const and ivar reference is |
| implicit byref. |
| |
| 2008-03-13 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5796058 - Minor change |
| * objc-act.c (build_ivar_reference): All 'ivar' in closures |
| are now treated as though declared 'byref'. |
| |
| 2008-03-12 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5795493 - type matching of closure types |
| * objc-act.c (objc_types_are_equivalent): Added case for |
| CLOSURE_POINTER_TYPE |
| |
| 2008-03-12 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5796058 - ivar in blocks |
| * objc-act.c (build_ivar_reference): If 'ivar' is used |
| in a block, register it as copied-in or byref ivar. |
| (objc_lookup_ivar): If variable representing a copied-in or byref |
| ivar just returh it. |
| |
| 2008-03-10 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5782740 (ivars) |
| * objc-act.c (build_ivar_reference): 'self' will be |
| a copied-in variable when implicitly used for an ivar |
| reference. |
| |
| 2008-03-06 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5782740 |
| * objc-act.c (retain_closure_component, release_closure_component, |
| copy_in_object, closure_requires_copying): New |
| |
| 2008-04-29 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5893391 |
| * objc-act.c (objc_build_property_reference_expr): Protocol qualified 'id' |
| typed receivers are valid object for property reference expressions. |
| (objc_build_getter_call): Generate getter call when receiver is |
| a protocol qualified 'id' experssion. |
| |
| 2008-04-24 Caroline Tice <ctice@apple.com> |
| |
| * objc-act.c (objc_start_function): Fix APPLE LOCAL markers. |
| |
| 2008-04-23 Caroline Tice <ctice@apple.com> |
| |
| Radar 5839812 |
| * objc-act.c (objc_start_function): Add new parameter, 'method'; |
| if 'method' is non-NULL, give 'fndecl' the same source location as |
| 'method'. |
| (objc_add_property_setter_method): Set the source location of |
| 'selector' to the source location of 'x'. |
| (build_module_initializer_routine): Pass NULL_TREE to |
| objc_start_function for the new method parameter. |
| (objc_synthesize_new_getter): copy 'decl' and give it the same source |
| location as 'property' before passing it to |
| objc_start_method_definition. |
| (objc_synthesize_new_setter): Likewise. |
| (finish_class): Give 'getter_decl' the same source location as 'x'; |
| likewise for 'setter_decl'. |
| (really_start_method): Pass 'method' to objc_start_function. |
| (objc_declare_property_impl): Assign 'property_decl' the current |
| input location. |
| |
| 2008-04-15 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5852190 |
| * objc-act.c (objc_synthesize_new_setter): Be smarter |
| in finding setter method's value argument. |
| |
| 2008-04-03 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5724385 (tweaked for bitfield ivars). |
| * objc-act.c (build_v2_ivar_list_initializer): Alignment of |
| bitfield ivar is that of its underlying type. |
| |
| 2008-04-01 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5835805 |
| * objc-act.c (start_class): If using a class alias, |
| resolve it to its class. |
| |
| 2008-03-26 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5218071 |
| * objc-act.c (objc_compare_types): Add special handling for property |
| types in base and derived class, to check for more specialization. |
| (diagnose_property_mismatch): When type of readonly properties mismatch |
| check for specialization. |
| (objc_merge_proto_properties_in_class): call to diagnose_property_mismatch |
| takes an extra argument. |
| (objc_compare_properties_with_super): Ditto |
| |
| 2008-03-20 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5809596 |
| * objc-act.c (objc_init): For all objc ABIs |
| -fobjc-call-cxx-cdtors is on by default |
| |
| 2008-03-20 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5802025 |
| * objc-act.c (objc_build_property_getter_func_call): New |
| (objc_gimplify_expr): Use objc_build_property_getter_func_call |
| |
| 2008-03-19 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5471096 |
| * objc-act.c (objc_is_public): For cateogies, look for 'ivar' |
| in its class. |
| |
| 2008-03-11 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5791701 |
| * objc-act.c (objc_build_aggregate_ivar_layout): Special |
| treatment when last field is a bitfield for ivar layout. |
| |
| 2008-03-11 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5781140 |
| * objc-act.c (objc_build_aggregate_ivar_layout): Check on |
| no-field and return. |
| |
| 2008-03-04 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5774213 |
| * objc-act.c (handle_impent): Output global category name |
| for 32bit abi only. |
| |
| 2008-03-03 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5777307 |
| * objc-act.c (lookup_nested_method): Lookup in protocol list for |
| setter/getter declarations. |
| |
| 2008-03-03 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5698469 |
| * objc-act.c (objc_add_property_variable): Say "default assign" |
| when warning. |
| |
| 2008-02-14 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5724385 |
| * objc-act.c (build_v2_ivar_list_initializer): Remove dead code. |
| Fix alignment of fields to the alignment of underlying type. |
| (generate_v2_ivar_lists): Compute number of ivars to exclude unnamed |
| bitfields. |
| |
| 2008-02-06 Josh Conner <jconner@apple.com> |
| |
| Radar 5726269 |
| * objc-act.c (objc_init): Invoke OBJC_TARGET_FLAG_OBJC_ABI. |
| |
| 2008-01-16 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5370783 |
| * objc-act.c (add_method_to_hash_list): Change argument passed |
| to comp_proto_with_proto. |
| (objc_add_method): Ditto. |
| (objc_process_getter_setter): Change argument passed |
| to match_proto_with_proto. |
| (match_proto_with_proto): With 'strict' equal 1, allow |
| valid object pointer conversion as valid type match. |
| (really_start_method): Allow finding prototype in one |
| of super classes of current implementation. |
| |
| 2008-01-14 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5676962 |
| * objc-act.c (objc_build_struct): Save and restore |
| TYPE_LANG_SPECIFIC objects. |
| |
| 2008-01-10 Josh Conner <jconner@apple.com> |
| |
| Radar 5675908 |
| * objc-act.c (objc_synthesize_new_setter): Don't force |
| flag_objc_gc to 1 before calling build_modify_expr. |
| |
| 2008-01-10 Josh Conner <jconner@apple.com> |
| |
| Radar 5680184 |
| * objc-act.c (objc_init): Add support for |
| flag_objc_legacy_dispatch with objc-2.0. |
| (synth_module_prologue): Likewise. |
| (get_arg_type_list): Likewise. |
| (objc_finish_message_expr): Likewise. |
| |
| 2007-11-29 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5607453 |
| * objc-act.c (objc_add_property_variable): Exclude 'id' and |
| 'Class" object types for "NSCopying" protocol warning. |
| |
| 2007-11-28 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5610134 |
| * objc-act.c (ivar_offset_ref): assertion added. |
| (objc_synthesize_new_getter): Produce non-fragile offset tree |
| for 64bit ABI. |
| (objc_synthesize_new_setter): Ditto. |
| |
| 2007-11-05 Josh Conner <jconner@apple.com> |
| |
| Radar 5569420 |
| * objc-act.c (build_objc_method_call): Use aggregate_value_p |
| to determine dispatch mechanism. |
| |
| 2007-10-26 Josh Conner <jconner@apple.com> |
| |
| Radar 5562046 |
| * objc-act.c (generate_v2_shared_structures): Fix signedness |
| mismatch. |
| |
| 2007-08-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4947311 |
| * objc-act.c (objc_start_protocol): Takes attribute list as new argument |
| (start_protocol): Takes attribute list as new argument and |
| Sets protocol's PROTOCOL_ATTRIBUTES field. |
| (objc_declare_protocols): Ditto. |
| (objc_handle_protocol_attrs): New routine to warn on 'deprecated' and |
| 'unavailable' protocols. |
| (lookup_and_install_protocols): Call objc_handle_protocol_attrs to warn |
| on protocol attributes. |
| * objc-act.h (PROTOCOL_ATTRIBUTES): Macro for protocol's attributes. |
| |
| 2007-08-21 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5424473 |
| * objc-act.c (start_method_def): Exclude +finalize from |
| warning issuance (was radar 4757423). |
| |
| 2007-08-20 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5422751 |
| * objc-act.c (objc_protocol_implementation): Function removed. |
| |
| 2007-08-17 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5376125 (64bit abi) |
| * objc-act.c (objc_property_access_info): Warning check for 32bit abi only. |
| (objc_v2_build_ivar_ref): Warning for 64bit abi. |
| |
| 2007-08-16 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 3533972 |
| * objc-act.c (objc_finish_message_expr): Do the receiver type |
| conversion if user has provided one. |
| |
| 2007-08-14 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5409313 |
| * objc-act.c (objc_build_selector_expr): Diagnose empty @selector |
| directive. |
| |
| 2007-08-14 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5407792 |
| * objc-act.c (objc_v2_encode_prop_attr): Add 'N' for nonatomic |
| property attribute encoding. |
| |
| 2007-08-10 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5376125 |
| * objc-act.c (objc_warn_direct_ivar_access): New |
| (objc_build_getter_call): Warn if 'ivar' accessed outside |
| property context. |
| (objc_synthesize_new_getter): Turn off above warning if 'ivar' is |
| accessed for getter synthesis. |
| (objc_synthesize_new_setter): Turn off above warning if 'ivar' is |
| accessed for setter synthesis. |
| |
| 2007-08-10 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5398274 |
| * objc-act.c (objc_synthesize_new_setter): Set 'used' flag |
| on '_value' argument when doing lhs = _value; |
| |
| 2007-08-08 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5389292 |
| * objc-act.c (objc_declare_property_impl): For ivar decl. get the |
| underlying bitfield type for comparison. |
| |
| 2007-08-07 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5390587 |
| * objc-act.c (objc_build_property_reference_expr): Preserve the original |
| receiver.property_name information. |
| (objc_resolve_build_property_setter_name): Get 'setter' name from original property name. |
| (objc_finish_message_expr): return error_mark_node on error. |
| (finish_class): Set property context field only when new getter is |
| introduced (but not when existing one is found). |
| |
| 2007-07-31 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5259868 |
| * objc-act.c (objc_build_ivar_layout): Compress ivar layout nibbles |
| if can. |
| |
| 2007-07-27 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 3742561 |
| * objc-act.h (objc_memmove_collectable_decl): New declaration |
| * objc-act.c (objc_build_memmove_collectable): New |
| (objc_aggr_type_strong): New |
| (objc_generate_write_barrier): Generate write barrier call for |
| structs holding object pointers (or __strong pointers). |
| (build_next_objc_exception_stuff): Generate the write barrier function |
| declaration. |
| |
| 2007-07-24 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5355344 |
| * objc-act.c (cp_objc_protocol_id_list): New |
| |
| 2007-07-17 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5338634 |
| * objc-act.c (finish_class): Fix check for name conflict between |
| property name and its setter name. |
| |
| 2007-07-16 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5333233 |
| * objc-act.c (generate_v2_shared_structures): If class has no |
| 'ivar', set 'field' to class's hiden field (for its super class). |
| |
| 2007-07-13 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5277239 |
| * objc-act.c (lookup_method_static): Takes a new argument. |
| (objc_property_access_info): Now recognizes 'receiver' when |
| it is a class object. |
| (objc_build_property_reference_expr): Can now build property |
| reference expression for class-name.class-method syntax as well. |
| (objc_build_getter_call): Can now build method-call expression from |
| property reference expression. |
| (objc_resolve_build_property_setter_name): Can now build a setter name |
| (which should be a class method) for a property dot-syntax used on a |
| class object. |
| (objc_finish_message_expr): Add argument in call to lookup_method_static. |
| (really_start_method): Ditto. |
| (lookup_method_static): Has a new argument which when true only finds class |
| methods. |
| |
| 2007-07-10 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5285911 |
| * objc-tree.def (OBJC_PROPERTY_REFERENCE_EXPR): New code tree. |
| * objc-act.c (objc_property_access_info): New |
| (objc_build_property_reference_expr): New |
| (objc_property_reference_expr): New |
| (objc_property_call): Removed |
| (objc_v2_build_setter_call): Removed |
| (objc_v2_build_incr_decl_setter_call): Removed |
| (objc_build_getter_call): Revised and greatly simplified. |
| (objc_build_setter_call): Revised and greatly simplified. |
| (objc_build_incr_decr_setter_call): Revised and greatly simplified. |
| (objc_gimplify_expr): Build getter for OBJC_PROPERTY_REFERENCE_EXPR |
| tree before gimplification. |
| |
| 2007-06-29 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5082000 |
| * lang-specs.h (print-objc-ivar-layout): Add |
| * objc-act.c (total_type_elements): New |
| (OUTPUT_LAYOUT_BYTE): New macro |
| (adjust_max_layout_buf_size): New |
| (objc_build_aggregate_ivar_layout): Add support to handle |
| layout for ivar of array type. |
| (objc_build_ivar_layout): Modified to support dynamic |
| buffer allocation and printing of gc ivar layout on demand. |
| |
| 2007-06-29 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5251019 |
| * objc-act.c (objc_build_ivar_layout): ivar layout nibble string |
| must include count of words to skip at the end. |
| |
| |
| 2007-06-29 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5276085 |
| |
| * objc-tree.def (OBJC_WEAK_REFERENCE_EXPR): New tree code. |
| (objc_tree_is_weak_expr): New routine to decide if expression |
| is 'weak' reference. |
| (objc_build_weak_reference_tree): New routine to build a |
| 'weak' reference tree. |
| (objc_weak_reference_expr): New routine to return the 'weak' |
| reference expression tree. |
| (objc_synthesize_getter, objc_synthesize_new_getter): Call |
| objc_build_weak_reference_tree. |
| (objc_generate_weak_read): Removed. |
| (objc_remove_weak_read): Removed. |
| (objc_gimplify_expr): Take a OBJC_WEAK_REFERENCE_EXPR |
| tree and covert it into a 'weak' reference API before |
| gimplification. |
| |
| 2007-06-29 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5279122 |
| * objc-act.c (objc_build_compound_setter_call): Decay rhs before using it in |
| a setter call generation. |
| |
| 2007-06-18 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5265737 |
| * objc-act.c (objc_v2_build_setter_call, objc_build_setter_call): |
| Look into rhs of TARGET_EXPR for the getter tree (c++ only). |
| |
| 2007-06-18 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5265608 |
| * objc-act.c (objc_declare_property_impl): Error reporting |
| replaces gcc_assert. |
| |
| 2007-06-06 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5250860 (Remove old property) |
| * objc/objc-act.c (objc_set_property_attr, |
| objc_add_property_variable, objc_build_getter_call, |
| objc_setter_func_call, objc_v2_encode_prop_attr, |
| objc_v2_merge_property, declare_atomic_property_api, |
| aggregate_contains_objc_pointer, synth_module_prologue, |
| objc_finish_message_expr, objc_merge_proto_properties_in_class, |
| objc_process_getter_setter, objc_synthesize_getter, |
| objc_synthesize_setter, objc_gen_property_data, |
| objc_add_internal_ivar, finish_class): Remove code related to old |
| property. |
| * objc/objc-act.h: Remove all declarations related to old |
| property. |
| |
| 2007-05-31 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5172645 |
| * objc-act.c (objc_add_property_variable): Check |
| for warn_property_assign_default flag added. |
| |
| 2007-05-30 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5232840 |
| * objc-act.c (objc_synthesize_new_setter): Set TREE_USED |
| flag on parameter being used. |
| |
| 2007-05-29 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5217964 |
| * objc-act.c (objc_build_ivar_layout): Skip count bits must all |
| come before the scan count bits. |
| |
| 2007-05-23 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5195402 |
| * objc-act.c (objc_check_nsstring_pointer_type): New |
| (objc_check_format_nsstring): Call objc_check_nsstring_pointer_type |
| |
| 2007-05-18 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5202926 |
| * objc-act.c (build_metadata_decl): Takes a new argument. |
| (forward_declare_categories, synth_v2_forward_declarations, |
| generate_v2_shared_structures): Pass false/true to |
| build_metadata_decl. |
| (objc_anonymous_local_objc_name): New. |
| |
| 2007-05-17 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5207415 |
| * objc-act.c (objc_synthesize_new_getter): Use existing getter name for |
| synthesis. |
| (objc_synthesize_new_setter): Use existing setter name for synthesis. |
| |
| 2007-05-16 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5207415 |
| * objc-act.c (objc_synthesize_new_getter): Use existing getter name for |
| synthesis. |
| (objc_synthesize_new_setter): Use existing setter name for synthesis. |
| |
| 2007-05-12 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5192466 |
| * objc-act.c (build_v2_protocol_template): Define two new fields |
| for 'struct protocol_t'. |
| (build_protocol_initializer): Initialize the two new fields. |
| |
| 2007-05-07 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4157812 |
| * objc-act.c (objc_add_property_setter_method): Call to objc_build_keyword_decl |
| has new argument. |
| (finish_class): Ditto. |
| (objc_add_method_declaration): Quick return on errornous selector. |
| (objc_build_keyword_decl): Save argument attribute passed to objc_build_keyword_decl |
| in newly built argument node. |
| (start_method_def): Process selector argument's attribute. |
| * objc-act.h (KEYWORD_ARG_ATTRIBUTE): New macro |
| |
| 2007-05-03 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5180172 |
| * objc-act.c (objc_declare_property_impl): Issue error on use of @synthesize |
| in a category implementation. |
| |
| 2007-05-03 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4874626 |
| * objc-act.c (objc_finish_file): Pass current input_location |
| to emit_instantiate_pending_templates. |
| |
| 2007-04-30 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5159695 |
| * objc-act.c (objc_add_property_variable): Warn on mismatched attribute |
| in class continuation property declaration. |
| |
| 2007-04-30 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5168496 |
| * objc-act.c (managed_objc_object_pointer): New |
| (objc_add_property_setter_method): Call it instead |
| of objc_type_valid_for_messaging. |
| (objc_add_property_variable): Ditto. |
| (objc2_valid_objc_catch_type): Replaced inline code |
| with call to managed_objc_object_pointer. |
| |
| 2007-04-25 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5159707 |
| * objc-act.c (objc_add_property_variable): Warn on mismatched type of |
| property in class continuation and its main class. |
| |
| 2007-04-23 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5153561 |
| * objc-act.c (objc_init): Initialize data structures needed in |
| objc2_eh_runtime_type routine. |
| |
| 2007-04-23 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5142207 |
| * objc-act.c (IS_CLS_META, CLS_HIDDEN, OBJC2_CLS_HIDDEN): New macros. |
| (build_shared_structure_initializer): Use IS_CLS_META. |
| (generate_v2_shared_structures): Add CLS_HIDDEN flag to 'info' field |
| of class's meta-data. |
| (generate_v2_shared_structures): Use OBJC2_CLS_HIDDEN instead of numeric |
| value. |
| |
| 2007-04-20 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5130983 |
| * objc-act.c (objc_finish_foreach_loop): Issue error on non-lvalue |
| selector expression. |
| |
| 2007-03-12 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5023725 |
| * objc-act.c (OBJC_FLAG_ZEROCOST_EXCEPTIONS): New macro |
| (objc_init_exceptions): Use it. |
| |
| 2007-04-19 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5140757 |
| * objc-act.c (objc_build_compound_setter_call): Use save_expr |
| instead of copy_node for rhs. |
| |
| 2007-04-18 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5128402 |
| * objc-act.c (objc_finish_foreach_loop): Set elem to nil at the else part |
| of the outer if-stmt instead of at the begining. |
| |
| 2007-04-09 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5096648 |
| * objc-act.c (TARGET_CFSTRING_P): Removed |
| (objc_NSString_format): Removed |
| |
| 2007-04-05 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5109807 |
| * objc-act.c (objc_build_ivar_layout): skip the gap |
| |
| 2007-04-02 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4929049 |
| (objc_remove_weak_read): Modify how typecast is applied. |
| |
| Change code because input tree has changed. |
| |
| 2007-03-30 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4727191 (tweaked) |
| (objc_build_compound_setter_call): Set DECL_SEEN_IN_BIND_EXPR_P |
| on Dupe'd local variable. |
| |
| 2007-03-29 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5096644 |
| * objc-act.c (objc_add_property_variable): Check for forward class |
| use of property type before doing some checking. |
| |
| 2007-03-29 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5080710 |
| * objc-act.c (objc_finish_message_expr, build_objc_method_call, |
| objc_synthesize_new_getter, objc_synthesize_new_setter): Added check |
| for TREE_ADDRESSABLE flag in deciding if method returns its structure |
| value in memory. |
| |
| 2007-03-29 Fariborz Jahanian <fjahanian@apple.com> |
| Radar 4947014 - objc atomic property |
| |
| * objc-act.h (umsg_GetAtomicProperty, umsg_SetAtomicProperty, |
| umsg_CopyAtomicStruct, umsg_NSCopying_Type): New decl. |
| (ATOMIC_PROPERTY, PROPERTY): New macros. |
| * objc-act.c (objc_set_property_attr): Register atomic/nonatomic |
| properties. |
| (objc_add_property_variable): Issue new warning for -fobjc-gc-only |
| when default 'assign' property's object implements '<NSCopying>'. |
| (declare_atomic_property_api): New routine |
| (build_id_NSCopying_type): New routine |
| (declare_prototype_property_bycopy): Clean up to call build_id_NSCopying_type. |
| (aggregate_contains_objc_pointer): New routine |
| (diagnose_property_mismatch): Diagnose on atomic/nonatomic mismatch. |
| (objc_synthesize_new_getter): Generate atomic 'helper's in getters for |
| 'copy'/'retain', as well as those struct objects passed in memory under |
| a variety of situations. |
| (objc_synthesize_new_setter): Generate atomic 'helper's in setters for |
| 'copy'/'retain', as well as those struct objects passed in memory under |
| a variety of situations. |
| |
| 2007-03-29 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4564694 |
| * objc-act.c (objc_is_reserved_word): @package is new objc keyword. |
| (add_instance_variable): Treat @package ivar same as @public (32bit) |
| and same as @private (64bit) for linkage purposes. |
| |
| 2007-03-27 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5040740 |
| * objc-act.c (lookup_nested_method): New |
| (objc_synthesize_new_getter): Call lookup_nested_method. |
| (objc_synthesize_new_setter): Ditto. |
| (lookup_nested_property): New |
| (objc_declare_property_impl): Call lookup_nested_property. |
| |
| 2007-03-23 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5060975 |
| * objc-act.c (build_objc_exception_stuff): objc_exception_throw (id) |
| claims that it may throw an exception |
| |
| 2007-03-27 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5025001 |
| * objc-act.c (objc_build_struct): Inser a new char :0 bf if last ivar |
| was a bitfield. |
| (build_v2_ivar_list_initializer): Fix an unrelated objctivec-c++ bug. |
| |
| 2007-03-27 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5005756 |
| * objc-act.c (build_objc_method_call, build_v2_build_objc_method_call): |
| Don't check on method attributes sent to receiver of 'id' or 'Class' |
| types. |
| |
| 2007-03-23 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5002848 |
| * objc-act.c (generating_property_type_encoding): Declare |
| (objc_v2_encode_prop_attr): Set generating_property_type_encoding. |
| (encode_pointer): Get underlying type of a type name for encoding. |
| |
| 2007-03-23 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4985544 |
| * objc-act.c (objc_check_format_nsstring): New |
| (objc_NSString_format): New |
| |
| 2007-03-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4994854 |
| * objc-act.c (objc_start_category_interface): If anonymous category |
| already declared, then use it. |
| (objc_add_property_variable): Insert new property into primary class. |
| |
| 2007-03-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4965989 |
| * objc-act.h (ANONYMOUS_CATEGORY): New macro. |
| * objc-act.c (objc_add_property_variable): Add merging of |
| property in anonymous category into primary class. |
| (objc_merge_methods): New. |
| (finish_class): Merge methods from anonymous categories into |
| primary class. |
| |
| 2007-03-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Removed objc2 hybrid abi |
| * objc-act.c: All code and checking related to hybrid abi |
| is removed. |
| |
| 2007-03-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4995942 |
| * objc-act.c (objc2_build_ehtype_initializer): Change setting of |
| _objc_ehtype_vtable field. |
| |
| 2007-03-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4995066 |
| * objc-act.c (objc_build_ivar_assignment): Takes new argument. |
| (objc_build_ivar_assignment): Call objc2_outervar for valid |
| 'non-fragile' ivars only. |
| (objc_generate_write_barrier): Add objc2_ivar_ref as 2nd argument. |
| |
| 2007-03-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4982951 |
| * objc-act.c (objc2_outervar): New |
| (objc2_build_indirect_ref_ivar2): New |
| (objc_substitute_decl): Handle objc2's 'non-fragile' ivar reference. |
| (objc_build_ivar_assignment): Get the outervar for objc2 |
| (objc_v2_ivar_reference): Now returns the objc2's ivar offset variable |
| upon success. |
| (objc_strip_off_indirection, objc_generate_write_barrier): Calls |
| objc_v2_ivar_reference differently. |
| |
| 2007-03-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4957534 |
| * objc-act.c (objc2_build_throw_call): Call objc_exception_rethrow |
| for @throw in objc2's abi. |
| (build_objc_exception_stuff): Define objc_rethrow_exception_decl. |
| * objc-act.h (objc_rethrow_exception_decl): Renamed from |
| objc_rethrow_exception (previously unsed). |
| |
| 2007-03-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5008110 - part2 (minor tweak) |
| * objc-act.c (init_UOBJC2_EHTYPE_decls): Moved up. |
| (objc2_build_ehtype_initializer): Call init_UOBJC2_EHTYPE_decls. |
| |
| 2007-03-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 5008110 |
| * objc-act.c (objc2_build_ehtype_var_decl): Takes two new argument. |
| (objc2_objc_exception_attr): New |
| (objc2_eh_runtime_type): Generate extern or weak EHTYPE meta-data |
| depending on setting of __objc_exception__ attribute. |
| (generate_v2_shared_structures): Generate EHTYPE meta-data depending on setting |
| of __objc_exception__ attribute. |
| |
| 2007-03-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4951324 |
| * objc-act.c (objc2_eh_runtime_type): Remove call to |
| init_UOBJC2_EHTYPE_decls. |
| (objc_init_exceptions): Call init_UOBJC2_EHTYPE_decls here. |
| (objc2_build_extern_decl_catch_object): New |
| (objc_begin_catch_clause): Call objc2_build_extern_decl_catch_object |
| to declare objc2's new typeinfo declarations. |
| |
| 2007-03-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4995967 |
| * objc-act.c (objc_begin_catch_clause) Assume 'id obj' for |
| the @catch (...) expression. |
| |
| 2007-03-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 2848255 |
| * objc-act.h: New declaratons for objc2 exception APIs. |
| * objc-act.c (objc_init): Use objc2_eh_runtime_type with |
| -fobjc-zerocost-exceptions for exception type mangling. |
| (create_weak_decl): New. |
| (objc2_build_ehtype): New. |
| objc2_build_ehtype_initializer): New. |
| (objc2_build_ehtype_var_decl): New. |
| (objc2_valid_objc_catch_type): New. |
| (objc2_eh_runtime_type): New. |
| (objc_init_exceptions): New objc2 exception initialization, |
| declare __objc_personality_v0 personality function. |
| (objc_begin_catch_clause): Add support for objc2 catch ABI and |
| new @catch(...) syntax. |
| (objc2_liteweight_finish_try_stmt): New. |
| (objc_finish_catch_clause): Add support for insertion of |
| new control for objc2 catch. |
| (objc_build_throw_stmt): Now calls objc2_build_throw_call. |
| (objc2_build_throw_call): New routine to call for the throw ABI. |
| (build_objc_exception_stuff): Declares vaiours objc2 new ABI functions. |
| |
| 2007-02-06 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4894756 |
| * objc-act.c (STRING_V2_IVAR_OFFSET_PREFIX): New macro. |
| (objc_v2_ivar_reference): New routine. |
| (objc_strip_off_indirection): Don't strip off an objc2 ivar |
| reference tree. |
| (objc_is_ivar_reference_p): Check for objc2 ivar tree. |
| (objc_generate_write_barrier): Added support for generation |
| of write barrier for new objc2 ivar reference tree. |
| (objc_class_visibility): Use STRING_V2_IVAR_OFFSET_PREFIX. |
| |
| 2007-02-06 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4966565 |
| * objc-act.c (get_category_base_class_impl): New. |
| (lookup_accessor_in_base_class_impl): New. |
| (objc_gen_property_data): Further look into base class |
| implementation before issuing warning on unimplemented |
| accessor. |
| |
| 2007-02-06 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4963113 |
| * objc-act.c (check_methods_accessible): Do not warn of unimplemmented |
| |
| 2007-02-06 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4968128 |
| * objc-act.c (strip_end_colon): New |
| (finish_class): Call strip_end_colon to strip ':' |
| for setter method name declaration. |
| |
| 2007-02-06 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4959107 |
| * objc-act.c (objc_build_getter_call): Lookup in protocol list also. |
| |
| 2007-02-06 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4951615 |
| * objc-act.h (IVAR_PUBLIC_OR_PROTECTED): New macro. |
| * objc-act.c (ivar_offset_ref): Use IVAR_PUBLIC_OR_PROTECTED to |
| decide if 'ivar' offset variable is 'private extern' or not. |
| (add_instance_variable): Set IVAR_PUBLIC_OR_PROTECTED flag. |
| |
| 2007-02-06 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4954480 |
| * objc-act.c (objc_v2_build_ivar_ref): Check for bad 'ivar' use. |
| |
| 2007-02-06 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4949034 |
| * objc-act.c (objc_init): Set default setting |
| for flag_objc_call_cxx_cdtors. |
| |
| 2007-02-06 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4923634 |
| * objc-act.c (finish_objc): Use correct value for objc2's |
| CLS_HAS_CXX_STRUCTORS flag. |
| |
| 2007-02-06 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4945770 |
| * objc-act.c (objc_build_struct): Check for corner cases before |
| building the TYPE_OBJC_INFO tree list. |
| |
| 2007-02-06 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4897159 |
| * objc-act.c (objc_synthesize_new_setter): Get the first argument |
| of setter in a fail-safe manner. |
| |
| 2007-02-06 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4899564 |
| * objc-act.c (finish_class): Diagnose __weak on 'retain'/'copy'. |
| |
| 2007-02-06 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4903391 |
| * objc-act.c (objc_common_type): Take a new value for argno |
| for property @synthesize type comparison. |
| (objc_declare_property_impl): Call objc_compare_types to |
| compare ivar and property's type according to objc's type |
| conversion rules. |
| |
| 2007-02-06 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4879524 |
| * objc-act.c (objc_add_property_variable): typo in warning fixed. |
| |
| 2007-02-06 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4781080 |
| * objc-act.c (objc_finish_message_expr): Use umsg_fixup_decl for |
| float/double returning methods. |
| |
| 2006-12-18 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4888238 |
| * objc-act.c (generate_objc_image_info): Declare _OBJC_IMAGE_INFO |
| as a local symbol. |
| |
| 2006-12-15 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4449535 |
| * objc-act.c (objc_impl_forwardInvocation): New |
| (check_protocol): Call objc_impl_forwardInvocation |
| |
| 2006-12-16 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4838528 |
| * objc-act.c (objc_setter_func_call): Check type of |
| setter method. |
| |
| 2006-12-14 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4841013 |
| * objc-act.h (PROPERTY_ASSIGN): Modified |
| * objc-act.c (objc_add_property_variable): No 'assign' |
| warning for 'readonly' property decl. |
| |
| 2006-12-14 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4712415 |
| * objc-act.c (objc_add_property_variable): Carry deprecated attribute |
| into property node. |
| (objc_add_property_setter_method): Carry deprecated attribute from |
| property node into instance method node. |
| (finish_class): Ditto |
| |
| 2006-12-14 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4854605 |
| * objc-act.c (objc_finish_foreach_loop): Set iterator |
| to nil. |
| |
| 2006-12-14 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4855821 |
| * objc-act.c (objc_add_property_variable): Don't warn if 'assign' |
| storage attribute is explicit. |
| |
| 2006-12-13 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4531086 |
| * objc-act.c (OBJC_WARN_OBJC2_FEATURES): New macro to warn on |
| use of objc2 features for older OS's. |
| (objc_init): Warn |
| (objc_add_property_variable): Warn |
| (objc_build_foreach_components): Warn |
| |
| 2006-12-13 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4862848 |
| * objc-act.c (OBJC_FLAG_OBJC_ABI): define macro if undefined. |
| (objc_init): Use OBJC_FLAG_OBJC_ABI |
| (objc_is_public): Error recovery found by accident. |
| |
| 2006-12-11 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4869979 |
| * objc-act.c (objc_type_has_bycopy_attr): New |
| (objc_diagnose_bycopy_type): New |
| (objc_add_method_declaration): Call objc_diagnose_bycopy_type |
| |
| 2006-12-07 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Addendum to Radar 4810587 |
| |
| * objc-act.c (generate_objc_image_info): Remove what was done |
| for 4.0 and replace it with force symbol generation for |
| _OBJC_IMAGE_INFO object. |
| |
| 2006-12-01 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4859096 |
| * objc-act.c (objc_property_call): New function. |
| |
| 2006-11-17 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4843145 |
| * objc-act.c (objc_visibly_hidden_class): Removed. |
| (objc_class_visibility): New |
| (objc_create_global_decl_for_class): New |
| (ivar_offset_ref): Call objc_create_global_decl_for_class. |
| (generate_v2_shared_structures): Call |
| objc_create_global_decl_for_class. |
| (objc_warn_on_class_attributes): Don't warn on "default" |
| visibility either. |
| |
| 2006-11-10 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4829803 |
| * objc-act.c (objc_is_gcable_type): Make quick return |
| of C++'s unknown type. |
| |
| 2006-11-09 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4810609 |
| * objc-act.c (objc_init): Set flag_objc_gc if |
| flag_objc_gc_only is set. |
| (generate_objc_image_info): For generate_objc_image_info |
| flag bits are 11x with flag_objc_gc_only. |
| |
| 2006-11-08 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4810587 |
| * objc-act.c (finish_objc): Generate objc section info. |
| in all cases. |
| (generate_objc_image_info): Force zeros in objc section not to |
| go to bss section. |
| |
| 2006-11-06 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4781080 (part 2) |
| * objc-act.c (synth_module_prologue): Removed TARGET_i386 switch. |
| (objc_finish_message_expr): Call objc_fpreturn_msgcall in new place. |
| (build_objc_method_call) : Ditto |
| |
| 2006-11-06 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4781080 |
| * objc-act.c (objc_finish_message_expr): Call objc_fpreturn_msgcall |
| (build_objc_method_call) : Ditto |
| |
| 2006-11-03 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4805612 |
| * objc-act.c (objc_is_public): Check for accessibility of 'ivar' |
| in a c-function nested in an objective-c class. |
| |
| 2006-11-02 Fariborz Jahanian <stuart@apple.com> |
| |
| Radar 4817072 |
| * objc-act.c (objc_lookup_property_ivar): New |
| (objc_synthesize_new_getter, objc_synthesize_new_setter): |
| Call objc_lookup_property_ivar. |
| (objc_declare_property_impl): Remove code which diagnosed missing ivar |
| and inserted it (too soon). |
| |
| 2006-11-02 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4815054 |
| * objc-act.c (finish_class): Change text of diagnostic. |
| |
| 2006-11-02 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4815061 |
| * objc-act.c (diagnose_property_mismatch): Warn when readwrite is restricted |
| to readonly in derived class. |
| |
| 2006-11-02 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4816280 |
| * objc-act.c (objc_gen_property_data): Warn when @implementation does not |
| implemented property. |
| |
| 2006-11-01 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4805321 (new property). |
| |
| * objc-act.h (PROPERTY_COPY, PROPERTY_RETAIN, |
| PROPERTY_ASSIGN, PROPERTY_READWRITE): Add property macros. |
| * objc-act.c (objc_set_property_attr): Add cases for new |
| property attrbutes added. |
| (objc_resolve_build_property_setter_name): Add. |
| (diagnose_property_mismatch): Add. |
| (objc_compare_properties_with_super): Add. |
| (objc_synthesize_new_getter): Add. |
| (objc_synthesize_new_setter): Add. |
| (objc_declare_property_impl): Add. |
| (objc_add_property_variable): Big change to support addition of new |
| property declarations. |
| (objc_build_getter_call): Several changes to support the new |
| property getter call semantics. |
| (objc_setter_func_call): Support for new setter call in |
| new property. |
| (objc_v2_build_setter_call): Fix a bug found on the side-line |
| when setter is called on 'super'. |
| (objc_v2_encode_prop_attr): Added support for new property in the |
| metadata for properties. |
| (objc_build_aggregate_ivar_layout): Fixed bug found on side line |
| when several objective-c property test cases compiled as objective-c++. |
| (objc_v2_merge_property): Added support for new property merge of data. |
| (objc_finish_message_expr): Better diagnostic for new property error. |
| (lookup_method_static): Added argument to facilitate new property lookup. |
| (objc_merge_proto_properties_in_class): Added support for new property |
| and diagnosis when merging protocol properties into adoptin class. |
| (objc_gen_property_data): Added supprt for synthesis of getter |
| or setter in new property. |
| (objc_add_internal_ivar): Modified to support synthesis of 'ivar' |
| in new property. |
| (finish_class): Support for the new property. |
| |
| 2006-10-23 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4783068 |
| * objc-act.c (objc_build_ivar_assignment): Turn off Winvalid-offsetof |
| for synthesized null-pointer dereferencing expression. |
| |
| 2006-10-06 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4725660 |
| * objc-act.c (objc_build_getter_call): Check for a valid class. |
| |
| 2006-09-29 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4757423 |
| * objc-act.c (should_call_super_finalize): New flag. |
| (objc_finish_message_expr): if [super finalize] |
| reset the flag. |
| (start_method_def): flag that method is a 'finalize' |
| definition. |
| (objc_finish_method_definition): If flag is still true |
| then warn. |
| |
| 2006-09-28 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4477797 |
| * objc-act.c (objc_build_struct): Set DECL_IGNORED_P flag in |
| 'super' class. |
| |
| 2006-09-22 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 3904139 |
| * objc-act.c (objc_demangle): Use exclusively |
| cxx_printable_name for obj-c++ name demangling. |
| |
| 2006-09-21 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4695274 |
| * objc-act.c (objc_add_internal_ivar): Insert property ivar before |
| c++'s inserted type_decl field node. |
| |
| 2006-09-20 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4738176 |
| * objc-act.c (objc_build_compound_setter_call): Set |
| TREE_NO_WARNING on synthesized compound expression. |
| |
| 2006-09-19 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4734562 |
| * objc-act.c (objc_demangle): Takes new argument |
| to decide if doing 'pretty' printing or not. |
| (objc_printable_name): Pass down previously |
| unused argument to objc_demangle. |
| |
| 2006-09-18 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4667060 |
| * objc-act.c (objc_finish_foreach_loop): Add support for |
| setting of foreach loop controlling variable to 'nil' on |
| normal loop exit. |
| |
| 2006-09-15 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4727659 |
| * objc-act.c (really_start_method): Copy 'noreturn' |
| attribute flag into FUNCTION_DECL node. |
| |
| 2006-09-14 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4724822 |
| * objc-act.c (lookup_property): Check for incomplete |
| class. |
| |
| 2006-09-11 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4727191 |
| (objc_build_compound_setter_call): Set DECL_SEEN_IN_BIND_EXPR_P |
| on Dupe'd local temp node. |
| |
| 2006-09-11 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4625843 - part2 |
| * objc-act.c (object_setProperty_bycopy): New. |
| (synth_module_prologue): Remove prototype declaration of |
| object_getProperty_bycopy and object_setProperty_bycopy builtins. |
| (objc_build_getter_retval): Check for existance of |
| umsg_getProperty_bycopy prototype. |
| (objc_synthesize_getter): Build prototype declaration for |
| umsg_getProperty_bycopy. |
| (objc_build_setter_stmt): Check for existance of |
| umsg_setProperty_bycopy. |
| (objc_synthesize_setter): Build prototype declaration for |
| umsg_setProperty_bycopy. |
| |
| 2006-09-07 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4660569 |
| * objc-act.c (objc_synthesize_getter): Look up for accessors in categories |
| before issuing the warning. |
| * (objc_synthesize_setter): Ditto. |
| |
| 2006-09-07 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4719165 |
| * objc-act.c (setup_string_decl): In new objc2 abi use |
| NSConstantString metadata in setting up the constant |
| string structure. |
| |
| 2006-09-01 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4712269 |
| * objc-act.c (objc_build_compound_incr_decr_setter_call): New. |
| (objc_v2_build_incr_decl_setter_call): New. |
| (objc_build_incr_decr_setter_call): New. |
| |
| 2006-08-31 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4712188 |
| * objc-act.c (objc_build_compound_setter_call): Set |
| TREE_NO_WARNING to suppress c++ warning. |
| |
| 2006-08-31 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4697411 |
| * objc-act.c (objc_volatilize_component_ref): New function. |
| |
| 2006-08-29 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4705298 |
| * objc-act.c (objc_visibly_hidden_class): New. |
| (ivar_offset_ref): Select function to declare the symbol |
| according to setting of the 'visibility' attribute. |
| (generate_v2_shared_structures): Ditto. |
| (objc_warn_on_class_attributes): Recognize |
| visibility("hidden") setting attribute on a class. |
| |
| 2006-08-29 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4705214 |
| * objc-act.c (build_v2_class_template): Move 'superclass' from |
| 'class_ro_t' to 'class_t' metadata. |
| Move 'ro' field to last of 'class_t's data member. |
| (build_class_t_initializer): Corresponding changes to initialization |
| of the fields. |
| (build_class_ro_t_initializer): Corresponding changes to initialization |
| of the fields. |
| (generate_v2_shared_structures): Caller of build_class_t_initializer |
| and build_class_ro_t_initializer with new argument list. |
| |
| 2006-08-28 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4702359 |
| * objc-act.c (generate_v2_shared_structures): instanceStart, instanceSize |
| is now sizeof (struct class_t). |
| |
| 2006-08-25 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4689268 |
| * objc-act.c (start_class): On duplicate class implementation |
| error, return the old class for graceful recovery. |
| |
| 2006-08-25 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4699834 |
| * objc-act.c (synth_module_prologue): Removed _rtp suffix from |
| objc_msgSend_fixup_rtp and variants. |
| |
| 2006-08-25 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4698856 |
| * objc-act.c (synth_module_prologue): Initialization of UOBJC_V2_CACHE_decl, |
| UOBJC_V2_VTABLE_decl moved. |
| (build_empty_cache_vtable_vars): New routine to declare UOBJC_V2_CACHE_decl |
| and UOBJC_V2_VTABLE_decl. |
| (generate_v2_shared_structures): Call build_empty_cache_vtable_vars. |
| |
| 2006-08-24 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4695101 |
| * objc-act.h (PROTOCOL_IMPL_OBJ): Removed. |
| * objc-act.c (build_v2_class_template): weakIvarLayout is the new |
| field. |
| (build_class_ro_t_initializer): Takes weakIvarLayout as new |
| argument and initializes the 'weakIvarLayout' field. |
| (generate_v2_shared_structures): Construct and pass ivarLayout and |
| weakIvarLayout to build_class_ro_t_initializer. |
| (generate_v2_protocols): Construct property table and pass its |
| pointer to build_protocol_initializer. |
| |
| 2006-08-24 Fariborz Jahanian <fjahania@apple.com> |
| |
| Radar 4695109 |
| * objc/objc-tree.def (PROTOCOL_IMPLEMENTATION_TYPE): Removed. |
| * objc-act.c (objc_protocol_implementation): Now just issue error. |
| (build_v2_protocol_template): New fields for optionalInstanceMethods and |
| optionalClassMethods added to protocol_t, First field renamed to 'isa'. |
| (generate_v2_protocol_references): No longer needed code for implementation |
| of protocols is removed. |
| (generate_method_descriptors): optional method list pointers must have |
| unique names. |
| (build_protocol_initializer): Routine modified to accomodate initialization |
| of new and modified fields in 'struct protocl_t'. |
| (generate_v2_method_descriptors): Routine takes a new 'is_optional' argument and |
| uses that to set values for UOBJC_PROTOCOL_OPT_CLS_METHODS_decl and |
| UOBJC_PROTOCOL_OPT_NST_METHODS_decl variables. |
| (generate_v2_category): Remove last argument in call to generate_v2_protocol_list. |
| (objc_add_to_protocol_list_chain): Changed global_protocol_decl to |
| protocol_decl to reflect that it is no longer global. |
| (build_protocollist_translation_table): Pointer to protocol meta-data is now local. |
| (build_v2_protocol_reference): Variable which holds protocol meta-data is now |
| local. |
| (generate_v2_protocols): Remove conditional on variable being extern. |
| Code added for encoding optional methods. |
| (objc_build_protocol_expr): build_v2_protocol_reference takes one less argument. |
| |
| 2006-08-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4491211 |
| * objc-act.c (build_objc_method_call): Method return type |
| must be complete (instantiated) before determining if it is |
| memory bound. |
| |
| 2006-08-17 Fariborz Jahanian |
| |
| Radar 4590221 |
| * objc-act.c (OFFS_MSGSEND_FAST, OFFS_ASSIGNIVAR_FAST): Moved to |
| darwin.h. |
| (synth_module_prologue): Replace POWERPC64 with check for OFFS_MSGSEND_FAST flag. |
| Move setting of umsg_fpret_decl to the top. |
| Remove setting of flag_objc_direct_dispatch. |
| (objc_build_ivar_assignment): Use objc_assign_ivar_decl unconditionally. |
| (build_next_objc_exception_stuff): Replace TARGET_POWERPC with check |
| for OFFS_ASSIGNIVAR_FAST flag. Remove setting of objc_assign_ivar_fast_decl |
| in favor of setting of objc_assign_ivar_decl in both branch. |
| (build_objc_method_call): Use umsg_decl unconditionally. |
| * objc-act.h: Remove umsg_fast_decl and objc_assign_ivar_fast_decl decl. |
| |
| 2006-08-16 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4660579 |
| * objc/objc-act.c (objc_add_property_setter_method): New. |
| (objc_add_property_variable): Resolve conflict between |
| 'readonly' interface property and writable implementation |
| property. |
| (is_property): Removed (unrelated to this radar). |
| (finish_class): Call objc_add_property_setter_method instead of |
| inlined code. |
| |
| 2006-08-15 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4668023 |
| * objc/objc-act.c (build_property_reference): Removed. |
| (objc_lookup_ivar): Supert for property name access without |
| use of 'self' qualifier is removed. |
| |
| 2006-08-14 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4666559 |
| * objc/objc-act.c (objc_continue_interface): Postpone outputting |
| debug info. for objective-c classes. |
| (objc_finish_interface): Output debug info. for objective-c classes. |
| (build_private_template): Postpone setting TREE_USED flag until after |
| debug info. is output. |
| |
| 2006-08-04 Mike Stump <mrs@apple.com> |
| |
| Radar 4669052 |
| * Make-lang.in (objc-parse.y): Ensure that we don't rebuild. |
| |
| 2006-08-03 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4664707 |
| * objc/objc-act.c (objc_create_named_tmp_var): Takes extra argument. |
| (objc_build_compound_setter_call): New. |
| (objc_v2_build_setter_call): Call objc_build_compound_setter_call to |
| generate compound version of call to setter function. |
| (objc_build_setter_call): Ditto. |
| (objc_build_foreach_components): call objc_create_named_tmp_var |
| with prefix argument. |
| |
| 2006-08-01 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4660366 |
| * objc/objc-act.c (objc_build_setter_stmt): Set flag_objc_gc so |
| objc_assign_weak is generated on 'weak' setter ivar. |
| |
| 2006-08-01 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4660569 |
| * objc/objc-act.c (objc_synthesize_getter): Warn if no synthesized |
| or user getter. |
| (objc_synthesize_setter): Warn if no synthesized or user setter. |
| |
| 2006-07-31 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4653319 |
| * objc/objc-act.c (objc_add_property_variable): Issue diagnostic if class has no |
| ivar attribute and implementation does not refer to a specific 'ivar' in the |
| interface. |
| (objc_build_getter_call): Support super.property. |
| (nested_ivar_lookup): New. |
| (objc_gen_one_property_data): Call nested_ivar_lookup to look for ivar |
| in current and base class hierarchy. |
| (objc_build_getter_retval): Ditto. |
| (objc_build_setter_stmt): Ditto. |
| (finish_class): Ditto. |
| |
| 2006-07-28 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4656712 |
| * objc/objc-act.c (objc_build_setter_stmt): Recover when synthesized |
| argument not found. |
| (finish_class): Issue error when user declared accessor and compiler |
| is trying to synthesize one. |
| |
| 2006-07-26 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4649718, 4651088 |
| * objc/objc-act.c (objc_add_property_variable): err on bad property |
| declarations. |
| |
| 2006-07-26 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4653242 |
| * objc/objc-act.c (objc_gen_one_property_data): Check for missing |
| setter/getter in @implementation is removed. |
| |
| 006-07-26 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4649701 |
| * objc/objc-act.c (objc_gen_one_property_data): Also look in |
| class's protocol-list for user-declared setter/getter names. |
| |
| 006-07-25 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4649663 |
| * objc/objc-act.c (objc_build_getter_retval): Remove meth_decl argument. |
| Use argument passed after 'self', called '_cmd' to build getter call. |
| (objc_synthesize_getter): Remove method_decl argument in call to |
| objc_build_getter_retval. |
| (objc_build_setter_stmt): Remove meth_decl argument. |
| Use argument passed after 'self', called '_cmd' to build setter call. |
| (objc_synthesize_setter): Remove method_decl argument in call to |
| objc_build_setter_stmt. |
| |
| 006-07-25 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4590191 |
| * objc/objc-act.c (objc_init_exceptions): Issue warning on use of |
| @try/@catch and for Mac OS X version 10.2 and lower. |
| |
| 006-07-19 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4638467 |
| * objc/objc-act.c (objc_demangle): Changed argument to tree decl. |
| call c++'s cxx_printable_name for demangling c++ names. |
| (objc_printable_name): Pass tree decl for the name to objc_demangle. |
| |
| 006-07-18 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4592503 |
| * objc/objc-act.c (objc_checkon_weak_attribute): New routine to check for |
| __weak attribute use on declarations. |
| |
| 2006-07-17 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4631814 |
| * objc-act.c (build_property_reference): Preserve original 'self' tree in |
| generated call to property's 'getter'. |
| |
| 2006-07-17 Fariborz Jahanian <fjahanian@apple.com> |
| Radar 4621020 - small change |
| * objc-act.c (objc_set_property_attr): Supprt 'weak' attribute |
| unconditionally. |
| |
| 2006-07-14 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4621020 |
| * objc-act.c (objc_set_property_attr): Gather 'weak' attribute setting. |
| (objc_add_property_variable): 'weak' attribute setting into property node. |
| Diagnose a variety of mis-use. |
| (objc_v2_encode_prop_attr): Encode 'weak attribute as 'W'. |
| ( objc_synthesize_getter): Call to objc_generate_weak_read for possible |
| call to objc_read_weak of a __weak return ivar. |
| (objc_add_internal_ivar): For 'weak' property, declare inserted 'ivar' as |
| __weak. |
| (finish_class): Diagnose if 'weak', 'bycopy' and 'byref' are not mutually |
| exclusive. On an existin 'ivar', make sure that it is declared weak. |
| |
| 2006-07-13 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4625843 |
| * objc-act.c (objc_add_property_variable): Issue diagnostic if |
| category's 'ivar' attribute does not include an ivar name. |
| (synth_module_prologue): Generate protocol qualified type for |
| object_getProperty_bycopy and object_setProperty_bycopy. |
| (finish_class): For categories, look for 'ivar' name in its |
| class. |
| |
| 2006-07-12 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4625635 |
| * objc-act.c (objc_add_property_variable): Make 'byref' the dafault |
| attribute for pointer-to-object properties. |
| |
| 2006-07-11 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4623423 |
| * objc-act.c (objc_type_valid_for_messaging): 'Class' is a valid |
| selector type as well. |
| |
| 2006-07-10 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4398221 |
| * objc-act.c (lookup_and_install_protocols): Takes a new |
| argument and warns on use of incomplete protocol in a |
| class definition. |
| (objc_get_protocol_qualified_type, |
| start_class, start_protocol): Pass the extra argument 'true' |
| or 'false' in call to lookup_and_install_protocols. |
| |
| 2006-06-29 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4585769 |
| * objc-act.h: Variety of new global declarations. |
| * objc-act.c (OBJC_VERSION): Bump version to 7. |
| (ivar_bytepos_cmp): New call back routine for qsort. |
| (objc_build_aggregate_ivar_layout): New routine to compute |
| byte offset position of 'gc' scannable and 'gc' skipped |
| ivar fields. |
| (objc_build_ivar_layout): New routine to build the layout map of |
| 'gc' skipped and scanned ivar fields. |
| (build_objc_protocol_extension_template): New. |
| (generate_objc_protocol_extension): New. |
| (build_objc_class_ext_template): New. |
| (generate_objc_class_ext): New. |
| (synth_module_prologue): Moved build of "struct _prop_list_t*" type |
| uncoditional. |
| (generate_v2_protocol_references): Type of "isa" is now |
| "struct _objc_protocol_extension*". |
| (generate_method_descriptors): takes on a new argument used to |
| generate "optional" method descriptors. |
| (generate_protocol_references): Calls generate_method_descriptors with |
| extra argument. |
| (generate_protocols): Build "objc_protocol_extension" metadata. |
| (build_protocol_initializer): Set the "isa" field of objc_class to |
| "_objc_protocol_extension" metadata. |
| (build_category_template): New fields added to "objc_category". They are |
| objc_category.size and objc_category.instance_properties. |
| (build_v2_class_template): objc_class has two new fields |
| objc_class.ivar_layout and objc_class.ext |
| (build_class_template): Accomodate build of these two new |
| fields. |
| (build_category_initializer): Initialize the two new field for |
| "objc_category". |
| (build_shared_structure_initializer): Takes new arguement for the |
| new field objc_class_ext addded to objc_class. |
| Calls objc_build_ivar_layout to get the tree to fill in objc_class.ivar_layout. |
| Initializes objc_class.objc_class_ext. |
| (generate_category): Pass UOBJC_V2_PROPERTY_decl to build_category_initializer. |
| (generate_shared_structures): Pass extra argument to build_shared_structure_initializer. |
| (generate_v2_protocols): Pass extra argument to build_protocol_initializer. |
| (finish_objc): Generate declaraton for "objc_class_ext" metadata. |
| Call generate_v2_property_tables in default (current) abi. |
| |
| 2006-06-29 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4577849 |
| * objc-act.c: (encode_protocol_list): New routine to encode |
| protocol list. |
| (encode_pointer): Call encode_protocol_list. |
| |
| 2006-06-29 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4606233 |
| * objc-act.c: (really_start_method): Remove check for missing |
| attribute on @implementation methods. |
| |
| 2006-06-26 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4591909 |
| * objc-act.h: New declarations to supprot the new |
| property spec. |
| * objc-act.c: (objc_set_property_attr): Changed to support |
| new attributes and change in the 'ivar' attribute spec. |
| (objc_add_property_variable): Ditto. |
| (objc_add_property_variable): Changed to support the new attribute |
| semantics and issue a variety of errors for their mis-use. |
| (objc_v2_encode_prop_attr): Encoding of attributes had changed. |
| (objc_v2_merge_property): Use to be called objc_v2_merge_dynamic_property. |
| (synth_module_prologue): Added declaration of bycopy and byref objc2 |
| library calls. |
| (objc_gen_one_property_data): Removed generation of internal 'ivar'. |
| (objc_build_getter_retval): New. |
| (objc_synthesize_getter): Call objc_build_getter_retval to get the getter's |
| ivar. |
| (objc_build_setter_stmt): New. |
| (objc_synthesize_setter): call objc_build_setter_stmt. |
| (objc_gen_property_data): Do the merge of class's property |
| list into the implementation first. |
| (objc_add_internal_ivar): New. |
| (finish_class): A variety of semantics check for the new |
| and improved property attributes. |
| |
| 006-06-24 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4591756 |
| * objc-act.c (objc_build_weak_read): Pass address of 'id' expr |
| to objc_read_weak. |
| (objc_remove_weak_read): dereference 'exp'. |
| (objc_strip_off_indirection): New. |
| (objc_generate_write_barrier): Strip off tree |
| added in objc_remove_weak_read. |
| (build_next_objc_exception_stuff): Type of objc_read_weak is now |
| objc_read_weak(*id). |
| |
| 2006-06-12 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4582997 |
| * objc-act.c (is_property): Lookup property in the interface, |
| not in its implementation. |
| |
| 2006-06-12 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4582204 |
| * objc-act.c (build_message_ref_translation_table): Initializer tree-list |
| is fixed. |
| |
| 2006-06-12 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4581680 |
| * objc-act.c (objc_start_method_definition): Generate nonlazy section |
| for 'hybrid' abi as well. |
| |
| 2006-06-08 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4359757 |
| * objc-act.h: Several declaration of new hash tables. |
| * objc-act.c (hash_ident_lookup, hash_ident_enter): New. |
| (get_objc_string_decl): Replaces linear search with hash lookup. |
| (add_objc_string): Ditto. |
| (build_next_runtime_selector_reference): New. replaces |
| build_selector_reference to do hash lookup instead of |
| linear search. |
| (objc_finish_message_expr): Call the new |
| build_next_runtime_selector_reference. |
| (hash_init): Initialize new hash tables. |
| (class_method_hash_lookup): New routine to do a scope qualified |
| hash lookup. |
| (add_class_method_hash): New to add to methods to hash table. |
| (fast_lookup_method): Replaces lookup_method to do hash look |
| up of methods. |
| (lookup_method_static): Call fast_lookup_method instead of |
| lookup_method. |
| (objc_add_method): Ditto. |
| (check_methods): Ditto. Also LIST argument is removed. |
| (check_protocol): Remove unneeded argument from check_methods |
| calls. |
| (finish_class): Ditto. |
| |
| 2006-06-09 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4292049 |
| * objc-act.c (objc_generate_write_barrier): Turn on warning on pointer |
| arithmatic of gc objects. |
| |
| 2006-06-07 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4576123 |
| * objc-act.c (build_v2_property_table_initializer): Set/Reset |
| generating_instance_variables. |
| |
| 2006-06-02 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4568791 |
| * objc-act.c (objc_method_inherited): New. |
| (check_methods): Warn only if method is not |
| declared in the inheritance hierarchy. |
| (check_protocol, check_protocols): Take interface as |
| new argument and pass it down to check_methods. |
| |
| 2006-05-31 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4563333 |
| * objc-act.c (objc_finish_foreach_loop): Set input_location to |
| foreach's location |
| |
| 2006-05-31 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4564386 |
| * objc-act.c (objc_merge_proto_properties_in_class): New. |
| (finish_class): Merge properties from protocol(s) of the |
| class into the class. |
| |
| 2006-05-30 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4476365 |
| * objc-act.c (encode_type): Encode c++'s reference type. |
| |
| 2006-05-30 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4547918 |
| * objc-act.c (objc_finish_message_expr): Issue warning on sending |
| message to a forward class declaration. |
| |
| 2006-05-25 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4561192 |
| * objc-act.c (objc_set_alignment_attribute): |
| (build_class_list_address_table, build_category_list_address_table, |
| build_protocol_list_address_table): Set the alignment attribute to |
| align to array's element alignment. |
| |
| 2006-05-24 Mike Stump <mrs@apple.com> |
| |
| * objc-act.c (JBLEN): Update for x86_64. |
| |
| 2006-05-23 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4559114 |
| * objc-act.h (PROTOCOL_IMPL_OBJ): New macro for |
| PROTOCOL_INTERFACE_TYPE nodes. |
| * objc-act.c (generate_v2_property_tables): Takes a new argument to |
| know if generating metadata for protocol's declared properties. |
| (build_v2_protocol_reference): Changed name of last argument. |
| For each protocol implementation, generate its meta-data. |
| (generate_v2_protocols): Use the property meta-data name saved |
| in its PROTOCOL_INTERFACE_TYPE node. |
| |
| 2006-05-23 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4558088 - revised |
| * objc-act.c (objc_add_property_variable): Diagnose mismatched |
| property declarations by calling comptypes. |
| |
| 2006-05-23 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4558088 |
| * objc-act.c (objc_add_property_variable): Diagnose mismatched |
| property declarations. |
| |
| 2006-05-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4557598 |
| * objc-act.c (objc_add_property_variable): Fix typo. |
| (synth_module_prologue): Declare objc_msgSend_fpret_fixup_rtp |
| function. |
| (objc_finish_message_expr): Use it. |
| * objc-act.h: Declare umsg_fpret_fixup_decl. |
| |
| 2006-05-19 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4550413 (optional protocol) |
| * objc-act.c (lookup_method_in_protocol_list): Also search for methods |
| in list of optional protocols. |
| |
| 2006-05-18 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4548636 (objc attributes on class) |
| * objc-act.h (CLASS_ATTRIBUTES): New macro to access interface's |
| attribute list. |
| * objc-act.c (objc_warn_on_class_attributes): New. |
| (objc_attach_attrs_to_type): New. |
| (objc_start_class_interface): takes attributes as new argument |
| and sets it to class's CLASS_ATTRIBUTES field. |
| (build_private_template): Updates 'record' of the class with |
| unavailable/deprecated attributes. |
| (add_category): Warn on use of deprecated class in declaring a new |
| category. |
| (start_class): Warn on use of a deprecated class as a super class. |
| |
| 2006-05-17 Fariborz Jahanian <fjahanian@apple.com> |
| |
| radar 4551602 |
| * objc-act.c (continue_class): Use ggc_alloc_cleared to allocate |
| and clear out 'struct imp_entry' objects. |
| Change radar number 5433974 to 4533974 in apple local markers. |
| |
| 2006-05-15 Fariborz Jahanian <fjahanian@apple.com> |
| |
| radar 4529765 |
| * objc-act.c (objc_delta_format_args): New. |
| * (objc_any_recognized_attribute): New. |
| * (objc_start_method_definition): Warn on attribute decl. |
| on method implementation. |
| * (objc_decl_method_attributes): Call objc_any_recognized_attribute. |
| |
| 2006-05-10 Fariborz Jahanian <fjahanian@apple.com> |
| |
| radar 4180592 |
| * objc-act.c (objc_finish_message_expr): Check for error node. |
| |
| 2006-05-09 Fariborz Jahanian <fjahanian@apple.com> |
| |
| radar 4538105 |
| * objc-act.c (objc_finish_foreach_loop): Mark element |
| selector as being used. |
| |
| 2006-05-08 Fariborz Jahanian <fjahanian@apple.com> |
| |
| radar 4533107 |
| * objc/objc-act.c (lookup_property_in_list): Lookup |
| further in main property list. |
| |
| 2006-05-08 Fariborz Jahanian <fjahanian@apple.com> |
| |
| radar 4540451 |
| * objc/objc-act.c (create_ivar_offset_name): Change ivar offset |
| symbol name. |
| |
| 2006-05-08 Fariborz Jahanian <fjahanian@apple.com> |
| |
| radar 4535676 |
| * objc/objc-act.c (objc_v2_get_class_super_reference, |
| build_classlist_super_reference_decl, |
| build_classlist_super_translation_table): New. |
| (get_super_receiver): Build classlist_super_ref_chain or |
| metaclasslist_super_ref_chain class list chain. |
| (finish_objc): Build the class list table found in |
| classlist_super_ref_chain/metaclasslist_super_ref_chain |
| chains. |
| * objc-act.h: (classlist_super_ref_chain, metaclasslist_super_ref_chain): |
| New declarations. |
| |
| 2006-05-05 Fariborz Jahanian <fjahanian@apple.com> |
| |
| radar 4533974 - ObjC new protocol |
| * objc/objc-tree.def (PROTOCOL_IMPLEMENTATION_TYPE): New tree node. |
| * objc/objc-act.h: Bunch of new global decls and enums. |
| * objc/objc-act.c (objc_add_to_protocol_list_chain, |
| build_protocol_list_address_table, build_protocollist_translation_table, |
| objc_v2_get_protocol_reference, build_protocollist_reference_decl): New. |
| (objc_protocol_implementation): Top-level routine to implement new |
| protocol meta-data generation syntax. |
| (synth_module_prologue): Remove build of getProtocol_decl function. |
| (build_v2_protocol_template): New 'version' field added to protocol_t |
| table. |
| (generate_v2_protocol_references): Takes a new argument to generate |
| only the first protocol if argument is true. |
| (build_protocol_initializer): Added initialization for 'version' |
| field. |
| (build_category_initializer): Fixed up a initializer type for the |
| 'protocol_list_ptr' field initialization which caused c++ to complain. |
| (generate_v2_category): New argument addded to call to |
| generate_v2_protocol_references. |
| (generate_v2_shared_structures): Ditto. |
| (build_v2_protocol_reference): Takes a new argument to generate extern |
| or global variable for protocol meta-data table. |
| (generate_v2_protocols): Generate extern variables for protocol meta-data |
| indirectly referenced in a generated protocol meta-data. Add generated |
| protocol meta-data to the list for later generation. |
| (objc_build_protocol_expr): Generate new abi for @protocol(proto) |
| expression. |
| (start_class): For PROTOCOL_IMPLEMENTATION_TYPE install protocols |
| to its list. |
| (continue_class): Add protocol implementation to the to-be-implemented |
| list. |
| (finish_class): Ignore PROTOCOL_IMPLEMENTATION_TYPE. |
| (finish_objc): Generate meta-data table. Generate content of |
| __protocol_list and __protocol_refs section. |
| |
| 2006-05-01 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4531482 |
| * objc/objc-act.c (generate_objc_symtab_decl): Generate |
| _OBJC_SYMBOLS metadata for hybrid abi. |
| (finish_objc): Generate MODULE descriptor for hybrid abi. |
| |
| 2006-04-28 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4512786 |
| * objc/objc-act.c (objc_init_exceptions): Remove warning. |
| |
| 2006-04-26 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4523837 |
| * objc/objc-act.c (objc_build_getter_call): Restore 'receiver' |
| to its original tree in call tree. |
| |
| 2006-04-26 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 3803157 (method attributes) |
| * objc/objc-act.h (METHOD_TYPE_ATTRIBUTES): New macro. |
| * objc/objc-act.c (objc_decl_method_attributes): New. |
| (objc_add_method_declaration): Process method's attribute. |
| (objc_start_method_definition): Ditto. |
| (build_objc_method_call): Inject method attribute into |
| built function type. |
| (build_v2_build_objc_method_call): Ditto. |
| (objc_synthesize_getter): objc_start_method_definition takes |
| an extra argument. |
| (objc_synthesize_setter): Ditto. |
| (really_start_method): Check for consistant attribute |
| declaration on method decl. and method def. |
| (objc_method_decl): New. |
| |
| 2006-04-19 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4517826 |
| * objc/objc-act.c (objc_build_getter_call): Check for null tree(s) |
| before accessing their fields. |
| |
| 2006-04-12 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4506893 |
| * objc/objc-act.c (objc_setter_func_call): Set |
| in_objc_property_setter_name_context. |
| (objc_finish_message_expr): Issue proper error |
| when setter not found and only when property |
| is used to call setter. |
| |
| 2006-04-13 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4512937 |
| * objc/objc-act.c (objc_build_foreach_components): Use an existing |
| declaration of 'NSFastEnumerationState' if one is available. |
| |
| 2006-04-10 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4506903 |
| * objc/objc-act.c (objc_build_getter_call): Lookup property in |
| id<protocol>.property as well. |
| |
| 2006-04-12 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4507230 |
| * objc-act.c (objc_finish_message_expr): Don't warn on |
| calling the internal objc runtime routine. |
| (objc_type_valid_for_messaging): New routine to check for valid |
| objc object types. |
| (objc_finish_foreach_loop): Check for invalid objc objects |
| in foreach header. |
| |
| 2006-04-07 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4505126 |
| * objc-act.c (lookup_property, lookup_property_in_list, |
| lookup_property_in_protocol_list): New. |
| (objc_build_getter_call): Call lookup_property to find a property. |
| Also fix a minor C* property bug uncovered. |
| |
| 2006-04-06 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4436866 |
| (Missing copies attribute) |
| * objc-act.h (PROPERTY_COPIES): New field in property node. |
| * objc-act.c (objc_set_property_attr): Set property_copies |
| flag. |
| (objc_add_property_variable): Update field PROPERTY_COPIES |
| corresponding to 'copies' attribute. |
| (objc_v2_encode_prop_attr): Ancode 'copies' attribute in |
| attribute field of metadata. |
| (objc_v2_merge_dynamic_property): Merge 'copies' attribute. |
| |
| 2006-04-04 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4498373 |
| (Metadata for objective-c properties) |
| * objc-act.h (objc_v2_property_template, UOBJC_V2_PROPERTY_decl, |
| prop_names_attr_chain, objc_prop_list_ptr): New global |
| declarations. |
| * objc-act.c (build_v2_property_template, build_v2_property_list_template, |
| generate_v2_property_tables, build_v2_property_table_initializer, |
| objc_v2_encode_prop_attr, generate_v2_property_list, |
| objc_v2_merge_dynamic_property): New functions for property's |
| meta-data generation. |
| (string_section): prop_names_attr is the new enum for property |
| name/attribute strings section. |
| (objc_add_property_variable): Fix a latentbug to prevent crash on user |
| error. |
| (synth_module_prologue): Define a new type for _prop_list_t*. |
| (build_objc_string_decl): Add property name/attributes to their own |
| list. |
| (add_objc_string): Add support for property name/attribute names. |
| (get_objc_string_decl): Add list of property name/attributes among |
| those to search for. |
| (generate_strings): Generate the property name/attribute data. |
| (build_v2_protocol_template): Add the new field "properties" |
| to 'struct protocol_t'. |
| (build_protocol_initializer): Add the initializer for "properties" |
| field. |
| (build_v2_category_template): Add the new field "properties" |
| to 'struct category_t'. |
| (build_category_initializer): Add the initializer for "properties" |
| field. |
| (build_v2_class_template): Add the new field "properties" |
| to 'struct class_ro_t'. |
| (build_class_ro_t_initializer): Add the new field "properties" |
| to 'struct class_ro_t'. |
| (generate_v2_shared_structures): Fixed a latent bug. |
| (check_methods): Don't issue error if synthesize declarations |
| found in interface don't have an implementation. |
| (objc_gen_property_data): Merege 'dynamic' properties into |
| class's implementation. |
| (finish_class): Set the context for synthesized instance methods. |
| (finish_objc): Call to generate_v2_property_tables to generate |
| property metadata. |
| |
| 2006-03-31 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4494634 |
| * objc-act.c (objc_build_string_object): Call build1 directly. |
| |
| 2006-03-31 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4494634 |
| * objc-act.c (objc_build_string_object): Suppress strict-alias |
| warning when converting to type 'id'. |
| |
| 2006-03-27 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4133425 |
| * objc-act.c (objc_diagnose_private_ivar): New. |
| |
| 2006-03-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4436866 |
| * objc-act.c (objc_gen_one_property_data): New. |
| (objc_gen_property_datae): New. |
| (objc_synthesize_getter): New. |
| (objc_process_getter_setter): New. |
| (objc_synthesize_setter): New. |
| (objc_build_property_ivar_name): New. |
| (objc_build_property_setter_name): New. |
| (objc_v2_build_setter_call): New. |
| (objc_setter_func_call): New. |
| (build_property_reference): New. |
| (match_proto_with_proto): New. |
| (is_property): New. |
| (finish_class): Generate what needed for property in class |
| and category. |
| (comp_proto_with_proto): Bulk of code moved to match_proto_with_proto. |
| (objc_lookup_ivar): Added support to lookup property name. |
| * objc-tree.def (PROPERTY_DECL): New tree node. |
| * objc-act.h: Several new macros to access various @property |
| fields. |
| |
| 2006-03-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4486614 |
| * objc/objc-act.c (objc_generate_weak_read): Don't attempt |
| to generate 'weak' barriers in templates. |
| |
| 2005-03-10 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4466530 |
| * objc/objc-act.c (synth_module_prologue): -fobjc-direct-dispatch |
| should be a no-op on ppc64 |
| |
| 2005-03-09 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4457381 |
| * objc/objc-act.c (objc_finish_message_expr): Look for message in |
| @class's protocol list. |
| |
| 2005-03-08 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4468456 |
| * objc/objc-act.c (objc_finish_foreach_loop): 'continue' label belongs |
| to current (inner) while-do loop. |
| |
| 2005-02-28 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4156731 |
| * objc/objc-act.c (gen_type_name_0): Handle Error reporting of |
| nameless types. |
| |
| 2005-02-28 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4441049 |
| * objc/objc-act.c (objc_v2_bitfield_ivar_bitpos): New routine to |
| compute ivar bitfield bit position from start of its starting byte. |
| (ivar_offset_ref): ivar bitfield byte position recomputed. |
| |
| 2006-02-15 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4439126 |
| * objc/objc-act.c (objc_finish_file): call cp_finish_file before |
| genertating any meta-data so all instantiation have taken place |
| (some metadata (such as selectors) may go missing otherwise). |
| |
| 2006-02-15 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4441551 |
| * objc/objc-act.c (diagnose_selector_cast): New function definition. |
| |
| 2006-02-14 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4445586 |
| * objc/objc-act.h: PROTOCOL_LANG_SLOT_ELTS has two new slots. |
| (PROTOCOL_OPTIONAL_CLS_METHODS, PROTOCOL_OPTIONAL_NST_METHODS): Renamed to |
| reflect the slot they belong to. |
| * objc/objc-act.c ((PROTOCOL_OPTIONAL_CLS_METHODS, |
| PROTOCOL_OPTIONAL_NST_METHODS): Ditto. |
| |
| 2006-02-14 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4441049 |
| * objc/objc-act.h: ivar_offset_hash_list new decl. |
| * objc/objc-act.c (hash_name_enter, hash_name_lookup): New functions. |
| (create_global_decl, create_extern_decl): Use the hash tables for looking |
| up the global/extern variables used to represent various meta-data. |
| (build_classlist_translation_table, generate_v2_category): Create a |
| new extern variable not global. |
| (objc_generate_weak_read): For C++ template expressions type |
| is NULL. Ignore such expressions. |
| (objc_v2_build_ivar_ref): This routine cannot handle bitfields. |
| (build_v2_ivar_t_template, ivar_offset_ref): Use correct type for |
| field offsets which match that of the middle-end. |
| (hash_init): New hash table initialization. |
| |
| 2006-02-08 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4437670 (new abi stuff) |
| * objc/objc-act.c: Use internale names for pre-defined types |
| for the new abi. |
| (synth_module_prologue): Declare new builtin function objc_getProtocol. |
| (objc_finish_message_expr): Use the new API for @protocol usage. |
| (generate_v2_protocol_list): Use correct protocol list name. |
| (build_v2_protocol_reference): Ue correct protocol reference name. |
| |
| 2006-02-3 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4431864 |
| * objc/objc-act.c (objc_set_global_decl_fields): New routine to set |
| the flags for a new global declaration. |
| (start_var_decl): Call objc_set_global_decl_fields to set the global flags. |
| (create_global_decl): Use the pre-existinig extern declaration, if one |
| exists, to declare the new global declaration. |
| |
| 2006-02-02 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4426814 |
| * objc/objc-act.h (objc_assign_weak_decl, objc_read_weak_decl): New globals |
| for two weak function calls; objc_read_weak and objc_assign_weak. |
| * objc/objc-act.c (objc_build_weak_read, objc_build_weak_read, |
| objc_generate_weak_read, objc_remove_weak_read): New functions defs. |
| (objc_build_global_assignment): Takes an added argument for generation |
| of 'strong' or 'weak' assignment calls. |
| (objc_is_gcable_type): Now returns 1(strong), -1(weak) or 0(neither). |
| (objc_is_strong_p): Now returns 1(strong), -1(weak) or 0(neither). |
| (objc_generate_write_barrier): Is not capable of generating both |
| weak and strong write barriers. |
| (build_next_objc_exception_stuff): Declare the new functions. |
| |
| 2006-01-30 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4386773 |
| * objc/objc-act.c (objc_set_method_opt): New function. |
| (objc_start_protocol, objc_finish_interface): Reset |
| objc_method_optional_flag flag. |
| (objc_add_method_declaration): Pass on the new |
| flag to objc_add_method. |
| (objc_add_method): Add optional methods to new chain in |
| the protocol class. |
| * objc/objc-act.h (CLASS_OPTIONAL_CLS_METHODS, |
| CLASS_OPTIONAL_NST_METHODS): New macros accessing a protocol |
| class's optional method chains. |
| |
| 2006-01-27 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4345837 |
| * objc/objc-act.c (hash_class_name_enter): New. |
| (hash_class_name_lookup): New. |
| (objc_declare_alias): Enter alias name into hash table. |
| (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. |
| |
| 2006-01-24 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4310884 |
| * objc/objc-act.c (objc_build_struct): Rebuild TYPE_LANG_SPECIFIC for |
| new class type after call to finish_struct. |
| |
| 2006-01-23 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4360146 |
| * objc/objc-act.h: (metaclasslist_ref_chain): New global declaration. |
| * objc/objc-act.c (build_v2_method_list_template): New routine to |
| declare "struct method_list_t". |
| (objc_v2_get_metaclass_reference): New routine to build list |
| of metaclass references. |
| (objc_build_internal_classname): Takes new argument to build |
| either internal class or metaclass name. |
| (synth_module_prologue, objc_get_class_reference, |
| objc_build_protocol_expr, continue_class): Generate new meta-data in |
| hybrid abi as well. |
| (init_v2_def_list): Routine is removed. |
| (init_objc_symtab): New abi dependent code is removed since objc_symtab is |
| not generated in new and hybrid abi. |
| (forward_declare_categories): For hybrid abi generate both new and old |
| category meta-data names. |
| (generate_objc_symtab_decl, objc_v2_build_ivar_ref, |
| build_private_template, build_super_template, synth_id_with_class_suffix): Add |
| test for hybrid abi. |
| (build_classlist_translation_table): New argument to check for generation |
| of metaclass reference table. |
| (build_method_list_template): Remove dependency on abi flag. |
| (generate_v2_dispatch_tables, generate_v2_method_descriptors): Call |
| build_v2_method_list_template. |
| (get_super_receiver): For super call in class method add metaclass name to |
| reference chain. |
| (finish_objc): Generate new and old metadata/declarations for hybrid abi. |
| Build metaclass reference table. |
| |
| 2006-01-18 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4294910 |
| * objc/objc-act.c (build_objc_fast_enum_state_type, |
| objc_create_named_tmp_var, objc_finish_foreach_loop, |
| objc_build_foreach_components): New functions. |
| (objc_build_component_ref): Made global. |
| (synth_module_prologue): Define 'struct __objcFastEnumerationState' |
| type and objc_enumerationMutation functions. |
| * objc/objc-act.h (objc_fast_enum_state_type, |
| objc_enum_mutation_decl): New declarations. |
| |
| 2006-01-18 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4360146 |
| * objc/objc-act.c (objc_add_to_class_list_chain, |
| build_class_list_address_table, objc_add_to_category_list_chain, |
| build_category_list_address_table, |
| objc_add_to_nonlazy_category_list_chain, |
| objc_add_to_nonlazy_class_list_chain): New functions. |
| (objc_start_method_definition): Insert declaration of class |
| method "load" in one of the __nonlazy_class or __nonlazy_category |
| lists. |
| (forward_declare_categories): Change name of category meta-data so |
| it ends up in its correct section. |
| (synth_forward_declarations): Comment changed. |
| (generate_v2_dispatch_tables): Correct name of meta-data |
| table for category methods. |
| (generate_v2_category): Add to list of pointers in |
| __category_list section. |
| (generate_v2_shared_structures): Fix the bug whereby offset of |
| first ivar was not computed correctly. |
| (synth_id_with_class_suffix): Fix the problem with duplicate category |
| symbol names. |
| (finish_objc): Generate various new symbol lists. |
| * objc/objc-act.h: Assortment of new global declarations. |
| |
| 2006-01-10 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4404766 |
| * objc/objc-act.c (JBLEN): define 64bit version of this macro as well. |
| |
| 2005-12-22 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4360146 |
| * objc/objc-act.c (generate_v2_ivar_lists): Remove generation of class |
| variabe offset for the root of inheritance in new abi. |
| |
| 2005-12-21 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4360146 |
| * objc/objc-act.c (create_hidden_decl): New. |
| (ivar_offset_ref): Visibility of private ivar offset |
| variables must be "hidden". |
| |
| 2005-12-21 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4360146 |
| * objc/objc-act.c (objc_is_ivar): Perform correct name lookup for |
| ivar names when generating ivar offset variables. |
| (finish_objc): Don't generate objc_module meta-data in new abi. |
| (generate_objc_symtab_decl): Don't generate objc_symtab meta-data |
| in new abi. |
| (generate_v2_ivar_lists): Change names of class and instance ivars |
| in new abi so they end up in .data section. |
| (generate_v2_dispatch_tables): Change names of method meta-data |
| in new abi so they end up in .data section. |
| (generate_v2_method_descriptors): Ditto. |
| |
| 2005-12-16 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4360146 |
| * objc/objc-act.c (ivar_offset_ref): Uniquify ivar offset variable |
| names not based on offect value but based on their name. |
| (generate_v2_ivar_lists): Use OBJC_TYPE_NAME macro so c++ works as well. |
| (generate_v2_protocol_list): Use objc_v2_protocol_template and not |
| objc_protocol_template. |
| (build_class_ro_t_initializer): Type of class_ro_t.baseProtocols |
| initializer must be protocol_list_t*. |
| (generate_v2_protocols): Type of protocol_t.protocol_list |
| initizlier is protocol_list_t *. |
| |
| 2005-12-15 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4229905 |
| * objc/objc-act.c (objc_compare_types): New. |
| |
| 2005-12-09 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4360146 |
| |
| * objc/objc-act.h (PROTOCOL_LANG_SLOT_ELTS): Bump it by one. |
| (PROTOCOL_V2_FORWARD_DECL): Correct its definition. |
| (OCTI_V2_CAT_TEMPL): New definition. |
| (objc_v2_category_template): New declaration. |
| |
| * objc/objc-act.c (OBJC_VERSION): Internal version number is 10 |
| for objc abi version 2.0. |
| (build_classlist_reference): This function is removed. |
| (synth_v2_forward_declarations): New |
| (init_v2_def_list): New |
| (objc_v2_get_class_reference): New |
| (objc_build_internal_classname): New |
| (build_v2_category_template): New |
| (generate_v2_category): New |
| (synth_module_prologue): Now build all built-in messaging functions for |
| abi version 2.0 as well. |
| Build new protocol_t type for abi version 2.0. |
| (init_objc_symtab): For abi vesion 2.0, initialize _objc_symtab.defs field |
| to the new definition of ivars. |
| (forward_declare_categories): For abi version 2.0 declare a new object |
| for category metadata. |
| (build_classlist_reference_decl): New name for visible pointer to class_t meta |
| data for abi version 2.0. |
| (build_classlist_translation_table): Build initializers for each externally |
| visible class reference. |
| (objc_get_class_reference): Call objc_v2_get_class_reference to add a new |
| visible class reference to the classlist_ref_chain chain. |
| (objc_v2_build_ivar_ref): Remove call to objc_is_public to avoid duplicate |
| error reporting. |
| (objc_v2_build_ivar_ref): Preserve type of the field on the new abi's |
| ivar reference expression. |
| (synth_forward_declarations): Remove version 2.0 specfic code (it now goes |
| in its own routine). |
| (build_super_template): Build the second field, renamed to "cls", for abi version |
| 1.0 or 2.0 with different types. |
| (ivar_offset_ref): New logic to avoid duplicate generation of offset variables |
| with identical offset values. |
| (build_v2_ivar_list_initializer): Skip over unnamed bitfields. |
| (generate_v2_shared_structures): Remove call to build_classlist_reference. |
| (receiver_is_class_object): Search 'classlist_ref_chain' or 'cls_ref_chain' |
| list, dependending on the abi, for the identifier node for the referenced class. |
| (objc_finish_message_expr): New messaging is also generated for abi version 2.0. |
| (generate_v2_protocols): Add class name to the list of visible classes whose |
| metadata address must be exported. |
| (objc_build_protocol_expr): When generating @protocol expression, for abi version 2.0, |
| the version 2.0 protocol meta-data need be generated. |
| (continue_class): Separate the work depending on abi version. |
| (objc_declare_protocols): Initialize PROTOCOL_V2_FORWARD_DECL. |
| (start_protocol): Ditto. |
| (get_super_receiver): In code generation for [super self], set super_t.cls field properly |
| for abi version 2.0. |
| (finish_objc): Top-level meta-data generation routine. Depending on abi version, call the |
| version 1.0 or version 2.0 version of routines for various meta data generation. |
| |
| 2005-12-06 Fariborz Jahanian <fjahanian@apple.com> |
| |
| Radar 4360146 |
| |
| * objc/objc-act.c (objc_is_ivar, create_ivar_offset_name): |
| New utility routines. |
| (objc_v2_build_ivar_ref): Main routine to generate the new ivar |
| reference code. |
| (create_extern_decl): Modified to generate unique 'extern' variable |
| declarations at file scope. |
| (synth_module_prologue):Type of UOBJC_V2_VTABLE_decl is corrected. |
| (ivar_offset_ref): Use create_ivar_offset_name to create name for ivar |
| offset variable. Create global offset variables for public/protected |
| ivars. |
| (generate_v2_shared_structures): Miscellanous type correction and |
| cleanups. |
| (build_ivar_reference): For ivar references call objc_v2_build_ivar_ref |
| to generate ivar references using ivar offset variable. |
| |
| 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 |
| Radar 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. |