(build_tmp_function_decl): Call push_parm_decl with new format.
(start_class): Initialize unused_list.
(start_method_def): Call push_parm_decl with new format and mark _cmp as
possibly unused.
From-SVN: r9658
(build_objc_string_object): Build a full declaration if not using the next
runtime.
(objc_add_static_instance): New function.
(init_module_descriptor): Add reference to static instances table.
(build_module_descriptor): Add field for static instances table.
(get_objc_string_decl): New function.
(generate_static_references): New function.
(finish_objc): Call generate_static_references if needed.
From-SVN: r9500
(build_selector_translation_table): Reset
current_function_decl after hack_function_prototype build it.
(build_module_descriptor): Return constructor name from functions
decl_rtl.
From-SVN: r7944
* objc-act.c (get_proto_encoding, build_typed_selector_reference):
New fucnctions. (UTAG_PROTOCOL): New define.
(objc_selector_template, flag_typed_selectors): New variables.
(objc_init): set flag_typed_selectors if -fgnu-runtime.
(synth_module_prologue): Change declaration of
_OBJC_SELECTOR_TABLE when flag_typed_selectors is non-null.
(build_module_descriptor): Make sure the generated constructor
function is declared public.
(build_selector): Only cast to SEL when not doing typed selectors.
(build_selector_translation_table): Rewrite initialization.
(build_tmp_function_decl): Make up new name when called, since it
may now be called multiple times.
(hack_method_prototype): Use init_function_start to reinit args
machinery. Also set current_function_decl before calling
assign_parms.
(generate_protocols): Don't generate encoding twice.
(build_selector_template): New function.
(build_method_list_template): Generate (void*)0 as first element,
not (int)0.
(build_message_expr): move the call to build_selector_reference
towards the end, where we have determined the function prototype.
From-SVN: r7620
(offset_is_register): New variable
(forwarding_offset): Use apply_args_register_offset to get
register offset.
(encode_method_def, encode_method_prototype): Prepend argument
offset by '+' if passed in register.
(apply_args_register_offset): Added declaration.
(generate_method_descriptors, generate_ivar_lists,
generate_dispatch_tables): Reorganized use of constructors.
(build_descriptor_table_initializer, build_ivar_list_initializer,
build_dispatch_table_initializer): Removed argument `int *size'.
From-SVN: r5199
(build_shared_structure_initializer):
Call default_conversion for NAME.
(add_objc_string): Make an ADDR_EXPR to return.
(init_objc_symtab): Make ADDR_EXPR for UOBJC_SELECTOR_TABLE_decl.
Build all CONSTRUCTORs with types.
(build_constructor): New function. All CONSTRUCTOR builds changed.
(init_def_list, init_objc_symtab): New arg TYPE.
(init_module_descriptor): Likewise.
(init_objc_symtab): Pass TYPE arg to init_def_list.
(generate_objc_symtab_decl): Pass TYPE arg to init_objc_symtab.
(build_module_descriptor): Pass TYPE arg to init_module_descriptor.
(build_descriptor_table_initializer): New arg TYPE.
(generate_method_descriptors): Pass TYPE arg to
build_descriptor_table_initializer.
(generate_protocols): Pass TYPE arg to build_protocol_initializer.
(uild_protocol_initializer): New arg TYPE.
(build_ivar_list_initializer): New arg TYPE.
(generate_ivar_lists): Pass TYPE arg to build_ivar_list_initializer.
(build_dispatch_table_initializer): New arg TYPE.
(generate_dispatch_tables): Pass TYPE arg to
build_dispatch_table_initializer.
(build_category_initializer): New arg TYPE.
(build_shared_structure_initializer): New arg TYPE.
(generate_category): Pass TYPE arg to build_category_initializer.
(generate_shared_structures): Pass TYPE arg to
build_shared_structure_initializer.
From-SVN: r5049
(IS_ID, IS_PROTOCOL_QUALIFIED_ID, IS_SUPER): New type
checking macros.
(objc_comptypes, build_message_expr, gen_declspecs): Use them.
(IS_ID, IS_PROTOCOL_QUALIFIED_ID, IS_SUPER): New type
checking macros.
(objc_comptypes, build_message_expr, gen_declspecs): Use them.
(gen_declarator): Don't use strcpy's return value.
(build_message_expr): Allow any type that matches
objc_class_type.
(get_class_reference): We already have a name.
(build_objc_string): Use TREE_SET_CODE instead of
assigning to TREE_CODE.
(build_objc_string_object): Ditto.
From-SVN: r4158
(maybe_objc_comptypes): Return 0
(incompatible) rather than 2 (similar enough) as the default.
This was an inadvertent change in the Objective-C merge.
From-SVN: r4153
(-Wprotocol): added
(flag_warn_protocol): New variable
(check_methods_accessible): New function
(check_protocol): Use check_methods or check_methods_accessible
depending on flag_warn_protocol to check protocol conformance.
(start_class): For class implementations Assign
SUPER_CLASS_NAME from interface specification if not present.
From-SVN: r4121
Call assemble_external on anything we are about to generate a call to.
(get_super_receiver): Likewise.
(handle_class_ref): Put constant in readonly-data section, not text.
(build_objc_symtab_template): Correctly build index type for 0-length array.
From-SVN: r3734