summaryrefslogtreecommitdiff
path: root/gcc/objc
Commit message (Collapse)AuthorAgeFilesLines
* don't use build_function_type in the ObjC/C++ frontendsNathan Froyd2011-05-068-109/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | don't use build_function_type in the ObjC/C++ frontends * objc-runtime-shared-support.h (get_arg_type_list): Delete. (build_function_type_for_method): Declare. * objc-runtime-hooks.h (struct _objc_runtime_hooks_r): Change type of get_arg_type_base_list field. * objc-act.h (OBJC_VOID_AT_END): Delete. * objc-act.c (get_arg_type_list): Delete. (build_function_type_for_method): New function. (objc_decl_method_attributes): Call build_function_type_for_method. (really_start_method): Likewise. * objc-gnu-runtime-abi-01.c (gnu_runtime_abi_01_get_type_arg_list_base): Change prototype and adjust function accordingly. Update header comment. (build_objc_method_call): Call build_function_type_for_method. * objc-next-runtime-abi-01.c (next_runtime_abi_01_get_type_arg_list_base): Change prototype and adjust function accordingly. Update header comment. (build_objc_method_call): Call build_function_type_for_method. * objc-next-runtime-abi-02.c (next_runtime_abi_02_get_type_arg_list_base): Change prototype and adjust function accordingly. Update header comment. (objc_copy_to_temp_side_effect_params): Take fntype instead of a typelist. Use function_args_iterator for traversing fntype. (build_v2_build_objc_method_call): Adjust call to it. Call build_function_type_for_method From-SVN: r173465
* c-decl.c (finish_decl): Don't call get_pending_sizes.Joseph Myers2011-05-054-15/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-decl.c (finish_decl): Don't call get_pending_sizes. (grokparm): Add parameter expr. Pass it to grokdeclarator. (push_parm_decl): Add parameter expr. Pass it to grokdeclarator. (c_variable_size): Remove. (grokdeclarator): Use save_expr instead of c_variable_size. Don't call put_pending_sizes. (get_parm_info): Add parameter expr. Use it to set arg_info->pending_sizes. (store_parm_decls): Use arg_info->pending_sizes instead or calling get_pending_sizes. * c-parser.c (c_parser_parms_declarator): Update call to c_parser_parms_list_declarator. (c_parser_parms_list_declarator): Take parameter expr. Update call to push_parm_decl. Update recursive call. Don't call get_pending_sizes. Update calls to get_parm_info. (c_parser_objc_method_definition): Update calls to c_parser_objc_method_decl and objc_start_method_definition. (c_parser_objc_methodproto): Update call to c_parser_objc_method_decl. (c_parser_objc_method_decl): Add parameter expr. Update call to grokparm. (c_parser_objc_try_catch_finally_statement): Update call to grokparm. * c-tree.h (struct c_arg_info.pending_sizes): Change to a tree. (get_parm_info, grokparm, push_parm_decl): Update prototypes. c-family: * c-objc.h (objc_start_method_definition): Update prototype. * stub-objc.c (objc_start_method_definition): Add extra parameter. cp: * parser.c (cp_parser_objc_method_definition_list): Update call to objc_start_method_definition. objc: * objc-act.c (objc_start_method_definition): Add parameter expr. Update call to start_method_def. (objc_generate_cxx_ctor_or_dtor, objc_synthesize_getter, objc_synthesize_setter) Update calls to objc_start_method_definition. (objc_get_parm_info): Add parameter expr. Update call to get_parm_info. (start_method_def): Add parameter expr. Update call to objc_get_parm_info. * objc-gnu-runtime-abi-01.c (build_module_initializer_routine): Update call to objc_get_parm_info. * objc-runtime-shared-support.h (objc_get_parm_info): Add extra parameter. From-SVN: r173422
* Fixup whitespacing.Mike Stump2011-05-0413-835/+835
| | | | From-SVN: r173388
* objc-act.c (objc_fold_objc_type_ref): Remove.Jason Merrill2011-04-263-28/+5
| | | | | | | * objc-act.c (objc_fold_objc_type_ref): Remove. * objc-act.h: Remove prototype. From-SVN: r172986
* objc-act.c (synth_module_prologue): Call build_function_type_list instead of ↵Nathan Froyd2011-04-213-7/+12
| | | | | | | | | | | build_function_type. * objc-act.c (synth_module_prologue): Call build_function_type_list instead of build_function_type. * objc-next-runtime-abi-02.c (next_runtime_02_initialize): Likewise. From-SVN: r172844
* In gcc/objc/: 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2011-04-152-1/+35
| | | | | | | | | | In gcc/objc/: 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (ivar_of_class): New. (objc_is_public): Use ivar_of_class. From-SVN: r172523
* In gcc/c-family/: 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2011-04-152-9/+241
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In gcc/c-family/: 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com> * c-objc.h (objc_get_interface_ivars): Removed. (objc_detect_field_duplicates): New. * stub-objc.c: Likewise. In gcc/: 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com> * c-decl.c (detect_field_duplicates): Call objc_detect_field_duplicates instead of objc_get_interface_ivars. In gcc/objc/: 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (objc_get_interface_ivars): Removed. (objc_detect_field_duplicates): New. (hash_instance_variable): New. (eq_instance_variable): New. In gcc/objcp/: 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com> * objcp-decl.c (objcp_finish_struct): Use objc_detect_field_duplicates instead of having a local implementation. In gcc/testsuite/: 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/naming-4.m: Updated. * objc.dg/naming-5.m: Updated. * objc.dg/naming-6.m: New. * objc.dg/naming-7.m: New. * obj-c++.dg/naming-1.mm: Updated. * obj-c++.dg/naming-2.mm: Updated. * obj-c++.dg/naming-3.mm: New. * obj-c++.dg/naming-4.mm: New. From-SVN: r172511
* In gcc/c-family/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2011-04-142-23/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In gcc/c-family/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com> * stub-objc.c (objc_declare_protocols): Renamed to objc_declare_protocol. * c-objc.h: Likewise. In gcc/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com> * c-parser.c (c_parser_objc_protocol_definition): Updated for change from objc_declare_protocols() to objc_declare_protocol(). In gcc/objc/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (objc_declare_protocols): Renamed to objc_declare_protocol. Changed first argument to be an identifier instead of a tree chain of identifiers, so that callers don't have to create a temporary tree chain. In gcc/cp/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com> * parser.c (cp_parser_objc_protocol_declaration): Updated for change from objc_declare_protocols() to objc_declare_protocol(). From-SVN: r172444
* In gcc/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2011-04-142-32/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | In gcc/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com> * c-parser.c (c_parser_objc_class_declaration): Updated call to objc_declare_class. In gcc/c-family/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com> * stub-objc.c (objc_declare_class): Updated argument name. In gcc/cp/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com> * parser.c (cp_parser_objc_class_declaration): Updated for change in objc_declare_class(). In gcc/objc/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (objc_declare_class): Changed to take a single identifier as argument instead of a tree list. This means callers don't have to build temporary tree lists to call this function. (synth_module_prologue): Updated calls to objc_declare_class. From-SVN: r172425
* In gcc/objc/: 2011-04-13 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2011-04-132-1/+6
| | | | | | | | | | In gcc/objc/: 2011-04-13 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (build_keyword_selector): Use get_identifier_with_length instead of get_identifier. From-SVN: r172360
* ada-tree.h (union lang_tree_node): Check for TS_COMMON before calling ↵Nathan Froyd2011-04-134-31/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TREE_CHAIN. gcc/ada/ * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. * gcc-interface/misc.c (gnat_init_ts): New function. (LANG_HOOKS_INIT_TS): Define. gcc/ * c-decl.c (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. * print-tree.c (print_node): Likewise. * tree-inline.c (copy_tree_r): Likewise. * c-lang.c (LANG_HOOKS_INIT_TS): Define. * lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED instead of TS_COMMON. * lto-streamer-out.c (lto_output_tree_pointers): Likewise. * tree.c (initialize_tree_contains_struct): Handle TS_TYPED. (copy_node_stat): Zero TREE_CHAIN only if necessary. (MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these... (MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL): ...and these... (MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these... * tree.h: ...here. (TREE_CHAIN): Check for a TS_COMMON structure. (TREE_TYPE): Check for a TS_TYPED structure. gcc/c-family/ * c-common.h (c_common_init_ts): Declare. * c-common.c (c_common_init_ts): Define. gcc/cp/ * cp-lang.c (cp_init_ts): Call cp_common_init_ts. Move tree_contains_struct initialization to... * cp-objcp-common.c (cp_common_init_ts): ...here. Use MARK_* macros. * cp-objcp-common.h (cp_common_init_ts): Declare. * cp-tree.h (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. gcc/fortran/ * f95-lang.c (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. gcc/go/ * go-lang.c (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. gcc/java/ * java-tree.h (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. gcc/lto/ * lto-tree.h (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. * lto.c (lto_fixup_common): Likewise. gcc/objc/ * objc-lang.c (objc_init_ts): Move code for this function... * objc-act.c (objc_common_init_ts): ...here. Define. * objc-act.h (objc_common_init_ts): Declare. gcc/objcp/ * objcp-lang.c (objcxx_init_ts): Call objc_common_init_ts and cp_common_init_ts. From-SVN: r172359
* In gcc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2011-04-122-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In gcc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com> * c-parser.c (c_parser_initelt): Updated call to objc_build_message_expr. (c_parser_postfix_expression): Likewise. In gcc/c-family/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com> * c-objc.h (objc_build_message_expr): Updated prototype. * stub-objc.c (objc_build_message_expr): Likewise. In gcc/objc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (objc_build_message_expr): Accept two arguments instead of one so that callers can simply pass the arguments without having to create a temporary chain to hold them. In gcc/cp/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com> * parser.c (cp_parser_objc_message_expression): Updated call to objc_build_message_expr. From-SVN: r172338
* In gcc/objc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2011-04-122-28/+84
| | | | | | | | | | | | In gcc/objc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (comp_proto_with_proto): Do not create and use inefficient temporary argument lists. Compare the arguments directly. (match_proto_with_proto): Removed; incorporated into comp_proto_with_proto (). From-SVN: r172337
* In gcc/objc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2011-04-122-7/+24
| | | | | | | | | | | | In gcc/objc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (printable_ivar_name): New. (add_instance_variable): Call printable_ivar_name() when an error message needs to be printed. Do not prepare the instance variable for printing unless there is an actual error. From-SVN: r172328
* In gcc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2011-04-122-6/+18
| | | | | | | | | | | | | | | | In gcc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com> * c-parser.c (c_lex_one_token): Rewritten conditional used when compiling Objective-C to be more efficient. In gcc/objc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (objc_is_class_name, objc_is_id): For efficiency, avoid calling identifier_global_value() multiple times. From-SVN: r172327
* cgraph.h (cgraph_node): Remove function declaration.Martin Jambor2011-04-122-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2011-04-12 Martin Jambor <mjambor@suse.cz> * cgraph.h (cgraph_node): Remove function declaration. (cgraph_create_node): Declare. (cgraph_get_create_node): Likewise. * cgraph.c (cgraph_create_node): Renamed to cgraph_create_node_1. Updated all callers. (cgraph_node): Renamed to cgraph_create_node, assert that a node for the decl does not already exist. Call cgraph_get_create_node instead of cgraph_node. (cgraph_get_create_node): New function. (cgraph_same_body_alias): Update comment. (cgraph_set_call_stmt): Call cgraph_get_node instead of cgraph_node, assert it does not return NULL. (cgraph_update_edges_for_call_stmt): Likewise. (cgraph_clone_edge): Likewise. (cgraph_create_virtual_clone): Likewise. (cgraph_update_edges_for_call_stmt_node): Call cgraph_get_create_node instead of cgraph_node. (cgraph_add_new_function): Call cgraph_create_node or cgraph_get_create_node instead of cgraph_node. * cgraphbuild.c (record_reference): Call cgraph_get_create_node instead of cgraph_node. (record_eh_tables): Likewise. (mark_address): Likewise. (mark_load): Likewise. (build_cgraph_edges): Call cgraph_get_create_node instead of cgraph_node. (rebuild_cgraph_edges): Likewise. * cgraphunit.c (cgraph_finalize_function): Call cgraph_get_create_node instead of cgraph_node. (cgraph_copy_node_for_versioning): Call cgraph_create_node instead of cgraph_node. * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Call cgraph_create_node instead of cgraph_node. * c-decl.c (finish_function): Call cgraph_get_create_node instead of cgraph_node. * lto-cgraph.c (input_node): Likewise. * lto-streamer-in.c (input_function): Likewise. * varasm.c (mark_decl_referenced): Likewise. (assemble_alias): Likewise. gcc/c-family/ * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead of cgraph_node. gcc/cp/ * cp/class.c (cp_fold_obj_type_ref): Call cgraph_get_create_node instead of cgraph_node. * cp/decl2.c (cxx_callgraph_analyze_expr): Likewise. (cp_write_global_declarations): Likewise. * cp/optimize.c (maybe_clone_body): Likewise. * cp/semantics.c (maybe_add_lambda_conv_op): Likewise. * cp/mangle.c (mangle_decl): Likewise. * cp/method.c (make_alias_for_thunk): Likewise. (use_thunk): Likewise. gcc/ada/ * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node instead of cgraph_node. gcc/fortran/ * trans-decl.c (gfc_generate_function_code): Call cgraph_get_create_node instead of cgraph_node. gcc/objc/ * objc-act.c (mark_referenced_methods): Call cgraph_get_create_node instead of cgraph_node. From-SVN: r172307
* Remove doubled up words.Mike Stump2011-04-101-1/+1
| | | | From-SVN: r172247
* tm.texi.in: Document C target hooks as separate from general target hooks.Joseph Myers2011-04-063-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/tm.texi.in: Document C target hooks as separate from general target hooks. * doc/tm.texi: Regenerate. * genhooks.c (struct hook_desc): Add docname field. (HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC). Initialize docname field. (hook_array): Include c-target.def. (emit_documentation): Use docname field in output. (emit_init_macros): Take docname argument. Only emit definitions for hooks matching docname. (main): Expect additional arguments in all cases. Pass argument to emit_init_macros. * target.def: Move initial macro definitions and comments to target-hooks-macros.h. (gcc_targetcm): Move to c-family/c-target.def. * target.h (targetcm): Move declaration to c-family/c-target.h. * targhooks.c (default_handle_c_option): Move to c-family/c-opts.c. * targhooks.h (default_handle_c_option): Move declaration to c-family/c-common.h. * target-hooks-macros.h: New file. * config.gcc (target_has_targetcm): Define and use to add to c_target_objs and cxx_target_objs. * config/default-c.c: New file. * config/darwin-c.c: Include c-target.h and c-target-def.h instead of target.h and target-def.h. (TARGET_HANDLE_C_OPTION, targetcm): Define later in file. (darwin_objc_construct_string, darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Make static. (TARGET_OBJC_CONSTRUCT_STRING_OBJECT, TARGET_STRING_OBJECT_REF_TYPE_P, TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here. * config/darwin-protos.h (darwin_objc_construct_string, darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't declare. * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT, TARGET_STRING_OBJECT_REF_TYPE_P, TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM): Remove. * config/t-darwin (darwin-c.o): Update dependencies. * system.h (TARGET_HAS_TARGETCM): Poison. * Makefile.in (TARGET_H): Update. (TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define. (c-family/c-format.o, c-family/c-opts.o): Update dependencies. (default-c.o): New target. (s-target-hooks-def-h): Pass "Target Hook" string to genhooks. (c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New targets. (s-tm-texi): Pass -d option to genhooks. Also test timestamp on c-target.def. (build/genhooks.o): Update dependencies. c-family: * c-target-def.h: New file. * c-target.def: New file. * c-target.h: New file. * c-common.c (targetcm): Don't define here. * c-common.h (default_handle_c_option): Declare. * c-format.c: Include c-target.h instead of target.h. * c-opts.c: Include c-target.h instead of target.h. Explicitly include tm.h. (default_handle_c_option): Move from targhooks.c. objc: * objc-act.c: Include c-target.h instead of target.h. * Make-lang.in (objc/objc-act.o): Update dependencies. From-SVN: r172035
* lang-specs.h: Match -save-temps* instead of -save-temps.Joseph Myers2011-03-062-6/+10
| | | | | | | | | | | | | cp: * lang-specs.h: Match -save-temps* instead of -save-temps. objc: * lang-specs.h: Match -save-temps* instead of -save-temps. objcp * lang-specs.h: Match -save-temps* instead of -save-temps. From-SVN: r170715
* Implemented encoding property types for new ObjC ABIsNicola Pero2011-02-262-21/+58
| | | | From-SVN: r170516
* Removed conflict in usage of TYPE_LANG_SLOT_0 between Objective-C and CNicola Pero2011-02-233-6/+8
| | | | From-SVN: r170436
* Fixed check for flexible array members used in Objective-C instance variablesNicola Pero2011-02-222-24/+102
| | | | From-SVN: r170412
* * Make-lang.in (check_objc_parallelize): Refine for 4 processor machines.Mike Stump2011-02-222-2/+5
| | | | From-SVN: r170391
* Fixed ChangeLog dates of my last two commitsNicola Pero2011-02-201-2/+2
| | | | From-SVN: r170344
* Reverted usage of TARGET_64BIT for code generation for GNU Objective-C runtimeNicola Pero2011-02-203-19/+26
| | | | From-SVN: r170343
* Fixed Objective-C dotsyntax with a constant type right-hand sideNicola Pero2011-02-202-27/+55
| | | | From-SVN: r170342
* Updated commentsNicola Pero2011-02-193-285/+336
| | | | From-SVN: r170308
* Updated comments in objc-act.cNicola Pero2011-02-192-3/+25
| | | | From-SVN: r170299
* Updated comments - no change in codeNicola Pero2011-02-197-52/+76
| | | | From-SVN: r170298
* Do no emit GNU metadata if there is nothing to put into itNicola Pero2011-02-192-5/+22
| | | | From-SVN: r170292
* Added support for the 64-bit Apple Objective-C runtimeIain Sandoe2011-02-1813-4613/+11460
| | | | From-SVN: r170260
* In gcc/objc/: 2011-01-17 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2011-01-172-1/+7
| | | | | | | | | | | | | | | | | | In gcc/objc/: 2011-01-17 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/47314 * objc-act.c (finish_objc): When calling check_duplicates to check duplicated instance methods, set 'is_class' to 0, not 1. In gcc/testsuite/: 2011-01-17 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/47314 * objc.dg/selector-warn-1.m: New. * obj-c++.dg/selector-warn-1.mm: New. From-SVN: r168934
* re PR target/19162 (ICE while building libobjc's sendmsg.c)Mike Stump2011-01-141-0/+1
| | | | | | | | PR 19162 * objc-act.c (generate_struct_by_value_array): Do not output a definition for struct_forward_array. From-SVN: r168824
* objc-act.c (generate_struct_by_value_array): Do not output a definition for ↵Ben Elliston2011-01-142-9/+6
| | | | | | | | | | | struct_forward_array. 2011-01-14 Ben Elliston <bje@au.ibm.com> * objc-act.c (generate_struct_by_value_array): Do not output a definition for struct_forward_array. From-SVN: r168823
* update gcc/objc/Changelog copyright years.Iain Sandoe2011-01-081-1/+2
| | | | From-SVN: r168603
* objc-act.c (objc_finish_foreach_loop): Mark collection expression as read.Iain Sandoe2011-01-082-0/+7
| | | | | | | | | | | | | gcc/objc: * objc-act.c (objc_finish_foreach_loop): Mark collection expression as read. gcc/testsuite: * objc.dg/foreach-1.m: Add "-Wall" to flags. From-SVN: r168602
* Update Copyright years for files modified in 2010.Jakub Jelinek2011-01-034-5/+5
| | | | From-SVN: r168438
* Fix a typo.H.J. Lu2011-01-022-1/+5
| | | | | | | | 2011-01-02 H.J. Lu <hongjiu.lu@intel.com> * objc-act.c (check_that_protocol_is_defined): Fix a typo. From-SVN: r168400
* In gcc/objc/: 2011-01-02 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2011-01-022-4/+27
| | | | | | | | | | | | | | | | | | In gcc/objc/: 2011-01-02 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (check_that_protocol_is_defined): New. (lookup_protocol): Call check_that_protocol_is_defined. In gcc/testsuite/: 2011-01-02 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/protocol-forward-1.m: Removed TODO. * objc.dg/protocol-forward-2.m: New. * obj-c++.dg/protocol-forward-2.mm: Removed TODO. * obj-c++.dg/protocol-forward-2.mm: New. From-SVN: r168398
* Fixed typo in one of my last changelog entriesNicola Pero2010-12-301-1/+1
| | | | From-SVN: r168357
* In gcc/objc/: 2010-12-30 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2010-12-302-7/+34
| | | | | | | | | | | | | | | | | | | | In gcc/objc/: 2010-12-30 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (objc_types_are_equivalent): Fixed comparing protocol lists. Check them two-ways to fix comparisons when one protocol implements the other one, or when one list contains duplicated protocols. In gcc/testsuite/: 2010-12-30 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/method-conflict-3.m: New. * objc.dg/method-conflict-4.m: New. * obj-c++.dg/method-conflict-3.m: New. * obj-c++.dg/method-conflict-4.mm: New. From-SVN: r168356
* In gcc/objc/: 2010-12-30 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2010-12-302-35/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In gcc/objc/: 2010-12-30 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (objc_add_method): When emitting an error because a method with the same name but conflicting types is found in the same class or category interface, print a note with the location of the original method. Also, improved the error message to clearly state that the conflict is due to conflicting types, and produce it for protocols as well. Emit an error if two identical methods are declared in a protocol, but one is @required and the other one is @optional. When In gcc/testsuite/: 2010-12-30 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/class-extension-3.m: Updated. * objc.dg/method-1.m: Updated. * objc.dg/method-conflict-1.m: New. * objc.dg/method-conflict-2.m: New. * obj-c++.dg/class-extension-3.mm: Updated. * obj-c++.dg/method-8.mm: Updated. * obj-c++.dg/method-conflict-1.mm: New. * obj-c++.dg/method-conflict-2.mm: New. From-SVN: r168350
* In gcc/objc/: 2010-12-30 Nicola Pero <nicola@nicola.brainstorm.co.uk>Nicola Pero2010-12-302-0/+14
| | | | | | | | | | | | | | | | | | | | | In gcc/objc/: 2010-12-30 Nicola Pero <nicola@nicola.brainstorm.co.uk> * objc-act.c (start_class): Warn when a class attribute is ignored. (objc_declare_protocols): Warn when a protocol attribute in a protocol forward-declaration is ignored. (start_protocol): Warn when a protocol attribute is ignored. In gcc/testsuite/: 2010-12-30 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/attributes/class-attribute-3.m: New. * objc.dg/attributes/proto-attribute-4.m: New. * obj-c++.dg/attributes/class-attribute-3.mm: New. * obj-c++.dg/attributes/proto-attribute-4.mm: New. From-SVN: r168337
* In gcc/objc/: 2010-12-30 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2010-12-292-2/+17
| | | | | | | | | | | | | | | | | | In gcc/objc/: 2010-12-30 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (objc_set_method_opt): Tidy up error messages. In particular, explicitly mention whether the error is due to the @optional or @required keyword instead of mentioning "@optional/@required". In gcc/testsuite/: 2010-12-30 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/enhanced-proto-2.m: Updated. * obj-c++.dg/enhanced-proto-2.mm: Updated. From-SVN: r168327
* In gcc/objc/: 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2010-12-292-22/+61
| | | | | | | | | | | | | | | | | | | | In gcc/objc/: 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/47118 * objc-act.c (objc_build_synchronized): Check the argument of @synchronized and emit an appropriate error if it is not a valid Objective-C object. Deal gracefully with that case. Updated comments and variable names. In gcc/testsuite/: 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/47118 * objc.dg/sync-3.m: New. * obj-c++.dg/sync-3.mm: New. From-SVN: r168326
* In gcc/c-family/: 2010-12-29 Nicola Pero <nicola@nicola.brainstorm.co.uk>Nicola Pero2010-12-294-28/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In gcc/c-family/: 2010-12-29 Nicola Pero <nicola@nicola.brainstorm.co.uk> PR objc/47075 * c-objc.h (objc_finish_message_expr): Added argument to prototype. In gcc/objc/: 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/47075 * objc-act.h (PROPERTY_REF_DEPRECATED_GETTER): New. * objc-tree.def (PROPERTY_REF): Increased the number of operands from 3 to 4. * objc-act.c (objc_finish_message_expr): Added optional argument allowing to return the deprecated method prototype for deprecated methods, instead of immediately emitting the deprecation warning. (objc_maybe_build_component_ref): Do not warn for a deprecated property. When building the getter call, get the deprecated method prototype from objc_finish_message_expr() and put it into the PROPERTY_REF. (objc_build_class_component_ref): Same change. (finish_class): Mark the getter and setter as deprecated if they are generated from a deprecated property. (objc_gimplify_property_ref): If the getter is deprecated, emit a deprecation warning. (objc_build_setter_call, objc_build_message_expr, objc_finish_foreach_loop): Updated call to objc_finish_message_expr. In gcc/objcp/: 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com> * objcp-lang.c (objcp_tsubst_copy_and_build): Update call to objc_finish_message_expr. In gcc/testsuite/: 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/47075 * objc.dg/property/at-property-deprecated-1.m: Updated. * objc.dg/property/at-property-deprecated-2.m: New. * objc.dg/property/dotsyntax-deprecated-1.m: New. * obj-c++.dg/property/at-property-deprecated-1.mm: Updated. * obj-c++.dg/property/at-property-deprecated-2.mm: New. * obj-c++.dg/property/dotsyntax-deprecated-1.mm: New. From-SVN: r168315
* In gcc/objc/: 2010-12-28 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2010-12-292-18/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In gcc/objc/: 2010-12-28 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/47076 * objc-act.c (lookup_protocol): Added 'definition_required' argument. If 'definition_required', and the protocol is not defined, emit a warning. (objc_declare_protocols): Updated call to lookup_protocol. (start_protocol): Same change. (check_protocol_recursively): Same change. (objc_build_protocol_expr): Same change. (lookup_and_install_protocols): Added definition_required argument. Pass it to lookup_protocol. (objc_get_protocol_qualified_type): Updated call to lookup_and_install_protocols. (start_class): Updated calls to lookup_and_install_protocols; pass true to 'definition_required' to get the warnings. (start_protocol): Updated calls to lookup_and_install_protocols. In gcc/testsuite/: 2010-12-28 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/47076 * objc.dg/protocol-forward-1.m: New. * obj-c++.dg/protocol-forward-1.mm: New. * objc.dg/attributes/proto-attribute-2.m: Updated. * objc.dg/class-protocol-1.m: Updated. * obj-c++.dg/attributes/proto-attribute-2.mm: Updated. * obj-c++.dg/class-protocol-1.mm: Updated. From-SVN: r168307
* In gcc/objc/: 2010-12-28 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2010-12-282-0/+22
| | | | | | | | | | | | | | | | In gcc/objc/: 2010-12-28 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (objc_start_category_interface): Produce an error if a class extension is found after the class @implementation. In gcc/testsuite/: 2010-12-28 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/class-extension-4.m: New. * obj-c++.dg/class-extension-4.mm: New. From-SVN: r168294
* In gcc/testsuite/: 2010-12-28 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2010-12-282-2/+9
| | | | | | | | | | | | | | | | | In gcc/testsuite/: 2010-12-28 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/47073 * objc.dg/incomplete-type-1.m: New test. In gcc/objc/: 2010-12-28 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/47073 * objc-act.c (encode_method_prototype): Fixed both location and format string of error "type %qT does not have a known size". From-SVN: r168285
* In gcc/testsuite/: 2010-12-26 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero2010-12-262-1/+5
| | | | | | | | | | | | | | | | | | | In gcc/testsuite/: 2010-12-26 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/pr44509.m: New. In gcc/objc/: 2010-12-26 Nicola Pero <nicola.pero@meta-innovation.com> * config-lang.in (gtfiles): Added c-family/c-cppbuiltin.c. In gcc/objcp/: 2010-12-26 Nicola Pero <nicola.pero@meta-innovation.com> * config-lang.in (gtfiles): Added c-family/c-cppbuiltin.c. From-SVN: r168254