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
2010-10-05 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/type_traits (_GLIBCXX_HAS_NESTED_TYPE): Add.
* include/std/functional (_Has_result_type_helper,
_Has_result_type): Remove; use the above to define __has_result_type.
* include/bits/stl_iterator_base_types.h: Use the above to define
__has_iterator_category.
* include/bits/allocator.h (__has_allocator_type): Use the above.
* include/bits/cpp_type_traits.h (__has_iterator_category,
__is_iterator): Remove.
From-SVN: r164993
PR tree-optimization/45752
* tree-vect-slp.c (vect_get_mask_element): Remove static
variables, make them function arguments.
(vect_transform_slp_perm_load): Pass new arguments to
vect_get_mask_element.
From-SVN: r164987
2010-10-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
Christian Borntraeger <Christian.Borntraeger@de.ibm.com>
* gcc/config/s390/s390.c (z196_cost): New.
(s390_handle_arch_option): Add -march=z196.
(s390_option_override): Use the new cost function and use the z10
defaults also for z196.
(legitimate_reload_constant_p): Adjust comment.
(legitimate_reload_fp_constant_p): New function.
(s390_preferred_reload_class): Distingiush between FP and Int constants.
(preferred_la_operand_p): Avoid la with index on z196.
(s390_adjust_priority): Trigger also for z196.
(s390_issue_rate): Issue rate for z196 is 3.
(s390_z10_fix_long_loop_prediction): Rename to ...
(s390_fix_long_loop_prediction): ... this.
(s390_reorg): Apply the z10 adjustments also for z196.
(s390_loop_unroll_adjust): Do this also for z196.
* gcc/config/s390/s390.h (enum processor_type): Add PROCESSOR_2817_Z196.
(enum processor_flags): Add PF_Z196.
(TARGET_AVOID_CMP_AND_BRANCH): New macro.
(TARGET_CPU_Z196, TARGET_Z196): New macros.
* gcc/config.gcc: Enable z196 for --with-arch.
* gcc/config/s390/2817.md: New file.
* gcc/config/s390/2084.md: New type for multiply and add.
* gcc/config/s390/2097.md: Likewise.
* gcc/config/s390/s390.md (UNSPEC_POPCNT, UNSPEC_COPYSIGN)
(UNSPECV_ATOMIC_OP): New constants.
(fmadddf, fmaddsf): New values for type attribute.
(z196prop): New insn attribute.
(cpu, cpu_facility): Add z196.
(ATOMIC_Z196): New code iterator.
(noxa): New code attribute.
(gk): New mode attribute.
(*mov<mode>_64, *mov<mode>_31, *mov<mode>_64dfp, mov<mode>):
Support load zero for fp constants.
(fixuns_truncdddi2, fixuns_trunctddi2)
(fixuns_trunc<BFP:mode><GPR:mode>2): Use the standard rtx pattern
for z196.
(fixuns_trunc<mode>si2, mov<mode>cc, popcountdi2, popcountsi2)
(popcounthi2, popcountqi2): New expander.
(*fixuns_trunc<FP:mode><GPR:mode>2_z196, floatsi<mode>2)
(floatuns<GPR:mode><FP:mode>2, *mov<mode>cc, sync_<atomic><mode>)
(sync_old_<atomic><mode>, *popcount<mode>, copysign<mode>3): New
insn definition.
(add<mode>3, *add<mode>3_carry1_cc, *add<mode>3_carry1_cconly)
(*add<mode>3_carry2_cc, *add<mode>3_carry2_cconly, *add<mode>3_cc)
(*add<mode>3_cconly, *add<mode>3_cconly2, *add<mode>3_imm_cc, *sub<mode>3)
(*sub<mode>3_borrow_cc, *sub<mode>3_borrow_cconly, *sub<mode>3_cc)
(*sub<mode>3_cc2, *sub<mode>3_cconly, *sub<mode>3_cconly2)
(*anddi3_cc, *anddi3_cconly, *anddi3, *andsi3_cc, *andsi3_cconly)
(*andsi3_zarch, *andsi3_esa, *andhi3_zarch, *andqi3_zarch, *iordi3_cc)
(*iordi3_cconly, *iordi3, *iorsi3_cc, *iorsi3_cconly, *iorsi3_zarch)
(*iorhi3_zarch, *iorqi3_zarch, *xordi3_cc, *xordi3_cconly, *xordi3)
(*xorsi3_cc, *xorsi3_cconly, *xorsi3, *xorhi3, *xorqi3, *<shift><mode>3)
(*<shift><mode>3_and, *ashr<mode>3_cc, *ashr<mode>3_cconly, *ashr<mode>3)
(*ashr<mode>3_cc_and, *ashr<mode>3_cconly_and, *ashr<mode>3_and):
Support new z196 instructions.
Co-Authored-By: Christian Borntraeger <Christian.Borntraeger@de.ibm.com>
From-SVN: r164985
2010-10-05 Richard Guenther <rguenther@suse.de>
PR middle-end/45877
* gimple-fold.c (gimplify_and_update_call_from_tree): Handle
case where gimplification optimizes away the stmt.
* g++.dg/torture/pr45877.C: New testcase.
From-SVN: r164984
2010-10-05 Robert Dewar <dewar@adacore.com>
* par-ch5.adb (Test_Statement_Required): Allow all pragmas in Ada 2012
mode.
2010-10-05 Pascal Obry <obry@adacore.com>
* gnat_rm.texi: Fix typo.
2010-10-05 Arnaud Charlet <charlet@adacore.com>
* gnat_ugn.texi: Add note about identifiers with same name and
-fdump-ada-spec.
From-SVN: r164983
2010-10-05 Robert Dewar <dewar@adacore.com>
* sem_ch4.adb: Minor reformatting.
* a-direct.ads: Minor comment update.
2010-10-05 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Add_Internal_Interface_Entities): Removing code that is
no longer required after change in New_Overloaded_Entity.
* sem_ch6.adb (New_Overloaded_Entity): Code reorganization to isolate
the fragment of code that handles derivations of interface primitives.
Add missing dependence on global variable Inside_Freezing_Actions to
ensure the correct management of internal interface entities.
* sem_ch13.adb (Analyze_Freeze_Entity): Add missing increase/decrease
of the global variable Inside_Freezing_Actions to ensure that internal
interface entities are well handled by New_Overloaded_Entity.
* sem_disp.adb (Find_Primitive_Covering_Interface): Add documentation
and complete the algorithm to catch hidden primitives derived of
private type that covers the interface.
* sem_disp.ads (Find_Primitive_Covering_Interface): Add missing
documentation.
From-SVN: r164982
2010-10-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Analyze_Task_Body_Stub): Diagnose duplicate stub for
task.
2010-10-05 Vincent Celier <celier@adacore.com>
* gnatbind.adb: If the main library file is not for a suitable main
program, change the error message.
2010-10-05 Vincent Celier <celier@adacore.com>
* a-direct.ads: Minor spelling error fixes in comments.
* gnat_rm.texi: Add three entries in "Implementation Defined
Characteristics" for the interpretations of the Form parameters in
Ada.Directories.
From-SVN: r164980