* ipa.c (cgraph_remove_unreachable_nodes): External references can always
be removed.
(cgraph_externally_visible_p): We can not bring local comdats that are known
to linker; fix handling of internal visibility.
(function_and_variable_visibility): Likewise.
From-SVN: r165057
2010-10-06 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/functional (struct _Weak_result_type_impl): Add
specializazions for cv-qualified function types, for variadic
function types and pointers and references to function types,
and for pointers to member function types.
(struct _Reference_wrapper_base): Add specializations for
cv-qualified unary and binary function types.
* testsuite/20_util/reference_wrapper/result_type.cc: New.
* testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
From-SVN: r165056
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* symbol.c (gfc_copy_formal_args_ppc): Free previous formal arg list
before overwriting it.
From-SVN: r165040
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* primary.c (gfc_free_structure_ctor_component): Also free the
component structure itself.
From-SVN: r165032
PR rtl-optimization/45394
* combine.c (cleanup_auto_inc_dec): Remove AFTER parameter and adjust.
(struct rtx_subst_pair): Remove AFTER field.
(propagate_for_debug_subst): Adjust call to cleanup_auto_inc_dec.
(propagate_for_debug): Remove MOVE parameter and adjust.
(try_combine): In the special case where I2 is a PARALLEL, combine only
destinations of SETs and set I2SRC to the I2 source.
Adjust calls to propagate_for_debug throughout.
* reload1.c (eliminate_regs_1) <ASM_OPERANDS>: Do not abort for debug
insns.
From-SVN: r165030
* config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO):
Define it to be UI_NONE for picochip.
(picochip_option_override): Do not disable exception flags
* config/picochip/picochip-protos.h (picochip_except_unwind_info)
Declare
From-SVN: r165023
In gcc/:
2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
Implemented fast enumeration for Objective-C.
* c-parser.c (objc_could_be_foreach_context): New.
(c_lex_one_token): Recognize RID_IN keyword in a potential
Objective-C foreach context.
(c_parser_declaration_or_fndef): Added parameter. Accept
Objective-C RID_IN keyword as terminating a declaration; in that
case, return the declaration in the new parameter.
(c_parser_extenral_declaration): Updated calls to
c_parser_declaration_or_fndef.
(c_parser_declaration_or_fndef): Same change.
(c_parser_compound_statement_nostart): Same change.
(c_parser_label): Same change.
(c_parser_objc_methodprotolist): Same change.
(c_parser_omp_for_loop): Same change.
(c_parser_for_statement): Detect and parse Objective-C foreach
statements.
(c_parser_omp_for_loop): Updated call to check_for_loop_decls().
* c-decl.c (check_for_loop_decls): Added parameter to allow ObjC
fast enumeration parsing code to turn off the c99 error but still
perform checks on the loop declarations.
* c-tree.h (check_for_loop_decls): Updated declaration.
* doc/objc.texi: Document fast enumeration.
In gcc/c-family/:
2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
Implemented fast enumeration for Objective-C.
* c-common.h (objc_finish_foreach_loop): New.
* stub-objc.c (objc_finish_foreach_loop): New.
In gcc/objc/:
2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
Implemented fast enumeration for Objective-C.
* objc-act.c (build_fast_enumeration_state_template): New.
(TAG_ENUMERATION_MUTATION): New.
(TAG_FAST_ENUMERATION_STATE): New.
(synth_module_prologue): Call build_fast_enumeration_state_template() and set up
objc_enumeration_mutation_decl.
(objc_create_temporary_var): Allow providing a name to temporary
variables.
(objc_build_exc_ptr): Updated calls to
objc_create_temporary_var().
(next_sjlj_build_try_catch_finally): Same change.
(objc_finish_foreach_loop): New.
* objc-act.h: Added OCTI_FAST_ENUM_STATE_TEMP,
OCTI_ENUM_MUTATION_DECL, objc_fast_enumeration_state_template,
objc_enumeration_mutation_decl.
Merge from 'apple/trunk' branch on FSF servers.
2006-04-12 Fariborz Jahanian <fjahanian@apple.com>
Radar 4507230
* objc-act.c (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.
In gcc/testsuite/:
2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
Implemented fast enumeration for Objective-C.
* objc.dg/foreach-1.m: New.
* objc.dg/foreach-2.m: New.
* objc.dg/foreach-3.m: New.
* objc.dg/foreach-4.m: New.
* objc.dg/foreach-5.m: New.
* objc.dg/foreach-6.m: New.
* objc.dg/foreach-7.m: New.
Merge from 'apple/trunk' branch on FSF servers:
2006-04-13 Fariborz Jahanian <fjahanian@apple.com>
Radar 4502236
* objc.dg/objc-foreach-5.m: New.
2006-04-12 Fariborz Jahanian <fjahanian@apple.com>
Radar 4507230
* objc.dg/objc-foreach-4.m: New.
2006-03-13 Fariborz Jahanian <fjahanian@apple.com>
Radar 4472881
* objc.dg/objc-foreach-3.m: New.
2005-03-07 Fariborz Jahanian <fjahanian@apple.com>
Radar 4468498
* objc.dg/objc-foreach-2.m: New.
2006-02-15 Fariborz Jahanian <fjahanian@apple.com>
Radar 4294910
* objc.dg/objc-foreach-1.m: New
In libobjc/:
2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
Implemented fast enumeration for Objective-C.
* Makefile.in (C_SOURCE_FILES): Added objc-foreach.c.
(OBJC_H): Added runtime.h
* objc-foreach.c: New file.
* objc/runtime.h: New file.
From-SVN: r165019
* config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Increment by
one.
(MDR_REGNUM): Define.
(FIXED_REGISTERS, CALL_USED_REGISTERS): Add MDR as a fixed
register.
(REG_CLASS_CONTENTS): Add MDR to ALL_REGS.
(INCOMING_RETURN_ADDR_RTX): Define in terms of MDR.
(REGISTER_NAMES): Add MDR.
(DWARF2_DEBUGGING_INFO): Define to 1.
* config/mn10300/mn10300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
(F): New function. Sets RTX_FRAME_RELATED_P.
(mn10300_gen_multiple_store): Use F.
(expand_prologue): Use F. Use gen_movsf() to push floating
point registers.
(expand_epilogue): Use gen_movsf() to pop floating point
registers.
(mn10300_option_override): Disable combine stack adjust pass.
From-SVN: r165015
PR middle-end/45838
* omp-builtins.def (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_TASK,
BUILT_IN_GOMP_PARALLEL_SECTIONS_START): Use
Revert back to ATTR_NOTHROW_LIST instead of ATTR_NOTHROW_LEAF_LIST.
* f95-lang.c (ATTR_NOTHROW_LEAF_LIST, ATTR_CONST_NOTHROW_LEAF_LIST,
ATTR_NOTHROW_LIST, ATTR_CONST_NOTHROW_LIST): Define.
(gfc_define_builtin): Change last argument to int bitmask from bool,
control addition of TREE_NOTHROW and leaf attribute as well.
(DO_DEFINE_MATH_BUILTIN): Adjust callers.
(gfc_init_builtin_functions): Likewise. Remove
ATTR_{,CONST_}NOTHROW_LIST enum.
From-SVN: r165012
In gcc/:
2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
* c-parser.c (c_parser_objc_method_definition): Updated comment.
In gcc/cp/:
2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc++/31125
* parser.c (cp_parser_objc_class_interface): If no identifier
follows an @interface token, stop parsing the interface after
printing an error.
(cp_parser_objc_class_implementation): If no identifier follows an
@implementation token, stop parsing the implementation after
printing an error.
2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc++/23707
* parser.c (cp_parser_objc_method_keyword_params): If the required
colon is not found while parsing parameters, stop parsing them.
2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc++/31126
* parser.c (cp_parser_objc_class_ivars): Do not eat the EOF or
@end after detecting it. Print an error if @end is found without
a '}'.
(cp_parser_objc_method_prototype_list): Do not eat the EOF after
detecting it. Fixed reading the next token when continuing
because of an error in a method signature. Print an error if EOF
is found without an '@end'.
(cp_parser_objc_method_definition_list): Same change.
2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from apple/trunk branch on FSF servers:
2005-10-17 Fariborz Jahanian <fjahanian@apple.com>
Radar 4290840
* parser.c (cp_parser_objc_method_keyword_params): Check for valid
method parameters and issue error.
(cp_parser_objc_method_definition_list): Check for invalid tokens
which cannot start a function definition.
2005-10-14 Fariborz Jahanian <fjahanian@apple.com>
Radar 4294425
* parser.c (cp_parser_objc_message_args): Check for missing message
arguments and syntax error.
2005-10-13 Fariborz Jahanian <fjahanian@apple.com>
Radar 4261146
* parser.c (cp_parser_objc_class_ivars): Check for @end/eof while
looking for '}'.
2005-08-15 Ziemowit Laski <zlaski@apple.com>
Radar 4093475
* parser.c (cp_parser_objc_interstitial_code): Catch stray
'{' and '}' tokens and issue appropriate errors.
2005-08-02 Ziemowit Laski <zlaski@apple.com>
Radar 4185810
(cp_parser_statement_seq_opt): In addition to '}' and
end-of-file, a statement sequence may also be terminated
by a stray '@end'.
In gcc/objc/:
2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
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.
In gcc/testsuite/:
2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc++/28050
* obj-c++.dg/syntax-error-10.mm: New.
2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc++/23707
* obj-c++.dg/syntax-error-9.mm: New.
2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc++/31126
* obj-c++.dg/syntax-error-8.mm: New.
2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2005-10-17 Fariborz Jahanian <fjahanian@apple.com>
Radar 4290840
* obj-c++.dg/syntax-error-7.mm: New
2005-10-14 Fariborz Jahanian <fjahanian@apple.com>
Radar 4294425
* obj-c++.dg/syntax-error-6.mm: New
2005-10-13 Fariborz Jahanian <fjahanian@apple.com>
Radar 4261146
* obj-c++.dg/syntax-error-5.mm: New
2005-08-15 Ziemowit Laski <zlaski@apple.com>
Radar 4093475
* obj-c++.dg/syntax-error-[3-4].mm: New.
2005-08-02 Ziemowit Laski <zlaski@apple.com>
Radar 4185810
* obj-c++.dg/syntax-error-[1-2].mm: New.
From-SVN: r164997