platform/upstream/gcc.git
15 years agoarm.c (arm_init_libfuncs): Add __sync_synchronize.
Andrew Haley [Wed, 12 Aug 2009 15:54:37 +0000 (15:54 +0000)]
arm.c (arm_init_libfuncs): Add __sync_synchronize.

2009-08-11  Andrew Haley  <aph@redhat.com>

* config/arm/arm.c (arm_init_libfuncs): Add __sync_synchronize.

From-SVN: r150697

15 years agoRemove pragma GCC diagnostic warning "-Wc++-compat".
Sebastian Pop [Wed, 12 Aug 2009 15:13:52 +0000 (15:13 +0000)]
Remove pragma GCC diagnostic warning "-Wc++-compat".

2009-08-12  Sebastian Pop  <sebastian.pop@amd.com>

PR bootstrap/40103
* graphite.c: Remove pragma GCC diagnostic warning "-Wc++-compat".

From-SVN: r150696

15 years agoalias.c (get_alias_set): Honor TYPE_STRUCTURAL_EQUALITY_P.
Richard Guenther [Wed, 12 Aug 2009 15:10:47 +0000 (15:10 +0000)]
alias.c (get_alias_set): Honor TYPE_STRUCTURAL_EQUALITY_P.

2009-08-12  Richard Guenther  <rguenther@suse.de>

* alias.c (get_alias_set): Honor TYPE_STRUCTURAL_EQUALITY_P.
* gimplify.c (gimplify_modify_expr): Do not use
lang_hooks.types_compatible_p.
* tree-ssa.c (useless_type_conversion_p): For aggregates
just return false if the canonical types differ.

From-SVN: r150695

15 years agoPrepare expressions to be good phi arguments.
Sebastian Pop [Wed, 12 Aug 2009 14:32:31 +0000 (14:32 +0000)]
Prepare expressions to be good phi arguments.

2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

PR middle-end/40980
* sese.c (convert_for_phi_arg): New.
(add_guard_exit_phis): Use convert_for_phi_arg.

* testsuite/gfortran.dg/graphite/id-17.f: New.

From-SVN: r150694

15 years agoDont add unknown subscript upper bounds.
Sebastian Pop [Wed, 12 Aug 2009 14:31:21 +0000 (14:31 +0000)]
Dont add unknown subscript upper bounds.

2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (pdr_add_data_dimensions): Dont add
unknown subscript upper bounds.

* testsuite/gcc.dg/graphite/interchange-6.c: Un-XFAIL.

From-SVN: r150693

15 years agoReimplement interchange heuristic.
Sebastian Pop [Wed, 12 Aug 2009 14:30:06 +0000 (14:30 +0000)]
Reimplement interchange heuristic.

2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>
    Pranav Garg  <pranav.garg2107@gmail.com>

* graphite-interchange.c (gather_access_strides): Removed.
(ppl_max_for_le): New.
(build_linearized_memory_access): New.
(memory_stride_in_loop): New.
(pbb_interchange_profitable_p): Reimplemented.
* graphite-ppl.h (ppl_new_id_map): New.
(ppl_interchange): New.

* testsuite/gcc.dg/graphite/interchange-6.c: XFAILed.

Co-Authored-By: Pranav Garg <pranav.garg2107@gmail.com>
From-SVN: r150692

15 years agoRemove interchange heuristic.
Sebastian Pop [Wed, 12 Aug 2009 14:28:15 +0000 (14:28 +0000)]
Remove interchange heuristic.

2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-interchange.c (compute_subscript): Removed.
(compute_array_size_cstr): Removed.
(compute_array_size_poly): Removed.
(compute_array_size): Removed.
(gather_access_strides_poly): Removed.
(gather_access_strides): Empty.

From-SVN: r150691

15 years agoAdd PDR->nb_subscripts.
Sebastian Pop [Wed, 12 Aug 2009 14:27:33 +0000 (14:27 +0000)]
Add PDR->nb_subscripts.

2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-dependences.c (dependence_polyhedron_1): Replace
pdr_nb_subscripts with PDR_NB_SUBSCRIPTS.
(graphite_legal_transform_dr): Same.
(graphite_carried_dependence_level_k): Same.
* graphite-poly.c (new_poly_dr): Add a parameter nb_subscripts.
Initialize PDR_NB_SUBSCRIPTS.
(print_pdr_access_layout): Replace pdr_nb_subscripts with
PDR_NB_SUBSCRIPTS.
* graphite-poly.h (struct poly_dr): Add nb_subscripts field.
(PDR_NB_SUBSCRIPTS): New.
(pdr_nb_subscripts): Removed.
(pdr_dim): Simplified.
* graphite-sese-to-poly.c (build_poly_dr): Replace pdr_nb_subscripts
with PDR_NB_SUBSCRIPTS.

From-SVN: r150690

15 years agoUndo changes to the PDR representation.
Sebastian Pop [Wed, 12 Aug 2009 14:26:42 +0000 (14:26 +0000)]
Undo changes to the PDR representation.

2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-interchange.c (compute_array_size): Remove use of
PDR_DATA_CONTAINER.
* graphite-poly.c (new_poly_dr): Remove argument data_container.
Do not initialize PDR_DATA_CONTAINER.
(print_pdr): Do not print PDR_DATA_CONTAINER.
* graphite-poly.h (struct poly_dr): Remove data_container field.
(PDR_DATA_CONTAINER): Removed.
* graphite-sese-to-poly.c (pdr_add_data_dimensions): Remove use of
PDR_DATA_CONTAINER.
(build_poly_dr): Same.

From-SVN: r150689

15 years agoAdd interchange testcase.
Sebastian Pop [Wed, 12 Aug 2009 14:25:32 +0000 (14:25 +0000)]
Add interchange testcase.

2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

* testsuite/gcc.dg/graphite/interchange-9.c: New.

From-SVN: r150688

15 years agoFix memory leak in DD XFAILs some interchange testcases.
Konrad Trifunovic [Wed, 12 Aug 2009 14:24:01 +0000 (14:24 +0000)]
Fix memory leak in DD XFAILs some interchange testcases.

2009-08-05  Konrad Trifunovic  <konrad.trifunovic@gmail.com>
    Sebastian Pop  <sebastian.pop@amd.com>

* graphite-dependences.c (graphite_legal_transform_dr): Work on a
copy of the dependence polyhedron.  Free the temporary objects.
(graphite_carried_dependence_level_k): Free unused objects before
returning.

* testsuite/gcc.dg/graphite/interchange-1.c: XFAILed.
* testsuite/gcc.dg/graphite/interchange-2.c: XFAILed.
* testsuite/gcc.dg/graphite/interchange-3.c: XFAILed.
* testsuite/gcc.dg/graphite/interchange-4.c: XFAILed.
* testsuite/gcc.dg/graphite/interchange-7.c: XFAILed.

Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com>
From-SVN: r150687

15 years agoRestore original scattering when the transform is not legal.
Sebastian Pop [Wed, 12 Aug 2009 14:23:01 +0000 (14:23 +0000)]
Restore original scattering when the transform is not legal.

2009-08-05  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-blocking.c (scop_do_strip_mine): Call store_scattering.
Early return without analyzing the data dependences if no
transform has been done.  Call restore_scattering if the transform
is not legal.
(graphite-interchange.c): Same.
* graphite-poly.c (print_scattering_function): Test for PBB_TRANSFORMED.
(graphite_read_transforms): Initialize PBB_TRANSFORMED.
(apply_poly_transforms): Do not gcc_assert that
the transform is legal.
(new_poly_bb): Initialize PBB_TRANSFORMED, PBB_SAVED, and PBB_ORIGINAL.
Do not initialize PBB_NB_SCATTERING_TRANSFORM, PBB_NB_LOCAL_VARIABLES,
PBB_TRANSFORMED_SCATTERING, and PBB_ORIGINAL_SCATTERING.
(free_poly_dr): Free PBB_TRANSFORMED, PBB_SAVED, and PBB_ORIGINAL.
* graphite-poly.h (struct poly_scattering): New.
(struct poly_bb): Add original, transformed, and saved fields.
Remove transformed_scattering, original_scattering, nb_local_variables,
and nb_scattering_transform fields.
(PBB_ORIGINAL, PBB_TRANSFORMED, PBB_SAVED): New.
(poly_scattering_new): New.
(poly_scattering_free): New.
(poly_scattering_copy): New.
(store_scattering_pbb): New.
(store_scattering): New.
(restore_scattering_pbb): New.
(restore_scattering): New.
* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons):
Initialize PBB_TRANSFORMED and PBB_ORIGINAL.

From-SVN: r150686

15 years agoCorrectly parenthesize pretty print structures.
Sebastian Pop [Wed, 12 Aug 2009 14:20:22 +0000 (14:20 +0000)]
Correctly parenthesize pretty print structures.

2009-08-05  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-poly.c (print_pbb): Add parentheses in the pretty print.
(print_scop): Same.

From-SVN: r150685

15 years agoRecompute profile after Graphite.
Sebastian Pop [Wed, 12 Aug 2009 14:19:33 +0000 (14:19 +0000)]
Recompute profile after Graphite.

2009-08-05  Sebastian Pop  <sebastian.pop@amd.com>

* Makefile.in (graphite.o): Depends on PREDICT_H.
* graphite.c: Include predict.h.
(graphite_finalize): Call tree_estimate_probability.
* predict.c (predict_loops): Do not call scev_initialize and
scev_finalize.
(tree_estimate_probability_bb): New.
(tree_estimate_probability): Do not initialize loops: move that
code to the driver.  Call tree_estimate_probability_bb.
(tree_estimate_probability_driver): New.
(pass_profile): Use tree_estimate_probability_driver.
* predict.h (tree_estimate_probability): Declared.

From-SVN: r150684

15 years agoMeasure time spent in DD analysis and in code gen.
Sebastian Pop [Wed, 12 Aug 2009 14:18:17 +0000 (14:18 +0000)]
Measure time spent in DD analysis and in code gen.

2009-08-05  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (gloog): Add time to TV_GRAPHITE_CODE_GEN.
* graphite-dependences.c (graphite_legal_transform): Add time to
TV_GRAPHITE_DATA_DEPS.
(dependency_between_pbbs_p): Same.
* timevar.def (TV_GRAPHITE_DATA_DEPS, TV_GRAPHITE_CODE_GEN): New.

From-SVN: r150683

15 years ago[multiple changes]
Andrey Belevantsev [Wed, 12 Aug 2009 11:50:22 +0000 (15:50 +0400)]
[multiple changes]

2009-08-12  Andrey Belevantsev  <abel@ispras.ru>

    PR rtl-optimization/41033
    * alias.c (nonoverlapping_component_refs_p): Punt if strict aliasing is disabled.

2009-08-12  Richard Guenther  <rguenther@suse.de>

    PR rtl-optimization/41033
    * gcc.dg/pr41033.c: New test.

From-SVN: r150680

15 years agore PR fortran/41034 (Wrongly rejected proc pointer assignment with CDECL (compiler...
Tobias Burnus [Wed, 12 Aug 2009 09:03:38 +0000 (11:03 +0200)]
re PR fortran/41034 (Wrongly rejected proc pointer assignment with CDECL (compiler-directive_1.f90))

2009-08-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41034
        * symbol.c (gfc_copy_attr): Merge bits instead of replace
        bits in gfc_copy_attr.
        * gfc_check_pointer_assign (gfc_check_pointer_assign):
        Initialize ext_attr bits by zero.

From-SVN: r150678

15 years agotrans-types.c (gfc_get_derived_type): Do not clear TYPE_CANONICAL.
Richard Guenther [Wed, 12 Aug 2009 08:33:15 +0000 (08:33 +0000)]
trans-types.c (gfc_get_derived_type): Do not clear TYPE_CANONICAL.

2009-08-12  Richard Guenther  <rguenther@suse.de>

* trans-types.c (gfc_get_derived_type): Do not clear TYPE_CANONICAL.

From-SVN: r150676

15 years agoextc++.h: Don't include TR1 if C++0x.
Benjamin Kosnik [Wed, 12 Aug 2009 00:56:12 +0000 (00:56 +0000)]
extc++.h: Don't include TR1 if C++0x.

2009-08-11  Benjamin Kosnik  <bkoz@redhat.com>

* include/precompiled/extc++.h: Don't include TR1 if C++0x.
* include/precompiled/stdc++.h: Don't include cassert if
_GLIBCXX_NO_ASSERT defined.
* include/ext/cast.h (_GLIBCXX_BEGIN_NAMESPACE): Remove extra
semi-colon.
* include/ext/pointer.h (_GCC_CXX_POINTER_COMPARISON_OPERATION_SET):
Same.

* testsuite/17_intro/headers/all.cc: Move into dialect-specific
directory.
* testsuite/17_intro/headers/all_pedantic_errors.cc: Same.
* testsuite/17_intro/headers/all_assert_neg.cc: Same.
* testsuite/17_intro/headers/all_c++200x_compatibility.cc: Same.

* testsuite/17_intro/headers/c++1998/all.cc: Use extc++.h include.
* testsuite/17_intro/headers/c++1998/stdc++.cc: Converted all.cc,
use stdc++.h include.
* testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc: Same.
* testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Same.
* testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc: Same.
* testsuite/17_intro/headers/c++1998/all_no_exceptions.cc: New.
* testsuite/17_intro/headers/c++1998/all_multiple_inclusion.cc: To...
* testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc
...this.
* testsuite/17_intro/headers/c++200x/all.cc: To...
* testsuite/17_intro/headers/c++200x/stdc++.cc: ..this.
* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: To...
* testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc:
...this.
* testsuite/17_intro/headers/c++200x/all_no_exceptions.cc: New.
* testsuite/17_intro/headers/c++200x/all_pedantic_errors.cc: New.

From-SVN: r150672

15 years agoDaily bump.
GCC Administrator [Wed, 12 Aug 2009 00:17:07 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r150671

15 years agore PR fortran/41022 ([F03] procedure pointer components as actual arguments)
Janus Weil [Tue, 11 Aug 2009 20:08:35 +0000 (22:08 +0200)]
re PR fortran/41022 ([F03] procedure pointer components as actual arguments)

2009-08-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/41022
* trans-expr.c (gfc_conv_procedure_call): Handle procedure pointer
components as actual arguments.

2009-08-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/41022
* gfortran.dg/proc_ptr_comp_14.f90: New.

From-SVN: r150665

15 years agore PR debug/40990 (bad .debug_pubnames entry from gcj)
Dodji Seketeli [Tue, 11 Aug 2009 18:39:54 +0000 (18:39 +0000)]
re PR debug/40990 (bad .debug_pubnames entry from gcj)

Fix PR debug/40990

PR debug/40990
* lang.c (put_decl_node): Outputs different level of information
depending on the verbosity level.

From-SVN: r150659

15 years agopredicates.md (qi_mask_operand, [...]): New predicates.
Adam Nemet [Tue, 11 Aug 2009 17:41:09 +0000 (17:41 +0000)]
predicates.md (qi_mask_operand, [...]): New predicates.

* config/mips/predicates.md (qi_mask_operand, hi_mask_operand,
si_mask_operand, and_load_operand, low_bitmask_operand,
and_reg_operand, and_operand): New predicates.
* config/mips/constraints.md (Yb, Yh, Yw, Yz): New constraints.
* config/mips/mips.c (and_operands_ok): New function.
* config/mips/mips-protos.h (and_operands_ok): Declare it.
* config/mips/mips.md (move_type): Add ext_ins and logical.
(type): Handle them.
(and<mode>3): Use and_reg_operand as the second operand's
predicate.
(*and<mode>3): Add alternatives for lbu, lhu, lwu, <d>ext and
shift_shift.  Remove commutative constraint modifier.
(*and<mode>3_mips16): Add alternatives for lbu, lhu, lwu and
shift_shift.
(*clear_upper32_dext): Remove define_insn_and_split.
(*clear_upper32): Turn this define_insn_and_split ...
(splitter for ANDing register with 0xffff_ffff): .. into this.

testsuite/
* gcc.target/mips/ext-5.c: New test.
* gcc.target/mips/ext-6.c: New test.
* gcc.target/mips/ext-7.c: New test.
* gcc.target/mips/ext-8.c: New test.
* gcc.target/mips/extend-2.c: New test.

From-SVN: r150657

15 years agocombine.c (try_widen_shift_mode): Factor out code to check if an integer constant...
Adam Nemet [Tue, 11 Aug 2009 17:31:09 +0000 (17:31 +0000)]
combine.c (try_widen_shift_mode): Factor out code to check if an integer constant is a low-order bitmask from here ...

* combine.c (try_widen_shift_mode): Factor out code to check if an
        integer constant is a low-order bitmask from here ...
* rtlanal.c (low_bitmask_len): ... to here.
* rtl.h (low_bitmask_len): Declare.

From-SVN: r150656

15 years agore PR target/8603 ([Alpha] s?addl pattern doesn't work)
Uros Bizjak [Tue, 11 Aug 2009 17:05:38 +0000 (19:05 +0200)]
re PR target/8603 ([Alpha] s?addl pattern doesn't work)

PR target/8603
* config/alpha/alpha.md (addsi3): Remove expander.
(addsi3): Rename from *addsi3_internal insn pattern.
(subsi3): Remove expander.
(subsi3): Rename from *subsi3_internal insn pattern.

From-SVN: r150654

15 years agoalpha.c (alpha_init_builtins): Nullify FWRITE and FWRITE_UNLOCKED.
Douglas B Rupp [Tue, 11 Aug 2009 16:41:41 +0000 (16:41 +0000)]
alpha.c (alpha_init_builtins): Nullify FWRITE and FWRITE_UNLOCKED.

* config/alpha/alpha.c (alpha_init_builtins): Nullify FWRITE and
FWRITE_UNLOCKED.

From-SVN: r150653

15 years agoalpha.c (alpha_return_in_memory): On VMS...
Vasiliy Fofanov [Tue, 11 Aug 2009 16:33:41 +0000 (16:33 +0000)]
alpha.c (alpha_return_in_memory): On VMS...

* config/alpha/alpha.c (alpha_return_in_memory): On VMS, ensure
that records that fit in 64 bits are returned by immediate value,
as required by OpenVMS Calling Standard.
(function_value): Adjust for above modification.
(alpha_va_start) <TARGET_ABI_OPEN_VMS>: Use
virtual_incoming_args_rtx as base object, not next_arg.
* config/alpha/vms.h: (DEFAULT_PCC_STRUCT_RETURN): Define as 0.

Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r150652

15 years agoreload.c (find_reloads_subreg_address): Check the original req_equiv_mem address...
Ulrich Weigand [Tue, 11 Aug 2009 13:56:52 +0000 (13:56 +0000)]
reload.c (find_reloads_subreg_address): Check the original req_equiv_mem address to detect the case where an address is...

* reload.c (find_reloads_subreg_address): Check the original
req_equiv_mem address to detect the case where an address is
not valid in the outer mode.

From-SVN: r150649

15 years agore PR bootstrap/40788 (ICE on sparc: tree check: expected class 'expression', have...
Richard Guenther [Tue, 11 Aug 2009 11:39:43 +0000 (11:39 +0000)]
re PR bootstrap/40788 (ICE on sparc: tree check: expected class 'expression', have 'declaration' (var_decl) in gimplify_va_arg_expr, at builtins.c:5107)

2009-08-11  Richard Guenther  <rguenther@suse.de>

        PR bootstrap/40788
        * builtins.c (gimplify_va_arg_expr): Do not call
        SET_EXPR_LOCATION.

From-SVN: r150648

15 years agovms.h (OPTIMIZATION_OPTIONS): Remove
Douglas B Rupp [Tue, 11 Aug 2009 05:19:31 +0000 (05:19 +0000)]
vms.h (OPTIMIZATION_OPTIONS): Remove

* config/alpha/vms.h (OPTIMIZATION_OPTIONS): Remove
(OVERRIDE_OPTIONS): Incorporate removed OPTIMIZATION_OPTIONS.

From-SVN: r150647

15 years agoalpha.c (alpha_sa_size): Force procedure type to PT_STACK when frame_pointer_needed...
Olivier Hainque [Tue, 11 Aug 2009 05:14:48 +0000 (05:14 +0000)]
alpha.c (alpha_sa_size): Force procedure type to PT_STACK when frame_pointer_needed on OpenVMS.

* config/alpha/alpha.c (alpha_sa_size): Force procedure type to
PT_STACK when frame_pointer_needed on OpenVMS.
(alpha_pv_save_size, alpha_using_fp): Remove.
(alpha_vms_can_eliminate): New function. Support for CAN_ELIMINATE
with proper processing for PT_NULL.
(alpha_vms_initial_elimination_offset): New function. Support for
INITIAL_ELIMINATION_OFFSET with proper processing for PT_NULL.
(alpha_sa_size): Force procedure type to PT_STACK when
frame_pointer_needed on OpenVMS.
* config/alpha/alpha-protos.h (alpha_pv_save_size): Remove prototype.
(alpha_using_fp): Likewise.
(alpha_vms_can_eliminate): Add prototype.
(alpha_vms_initial_elimination_offset): Likewise.
* config/alpha/vms.h (CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET):
Call alpha_vms_can_eliminate and alpha_vms_initial_elimination_offset.

Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
From-SVN: r150646

15 years agoalpha.c (common_object_handler): New function.
Eric Botcazou [Tue, 11 Aug 2009 05:00:51 +0000 (05:00 +0000)]
alpha.c (common_object_handler): New function.

* config/alpha/alpha.c (common_object_handler): New function.
(vms_attribute_table): Declare a single attribute "common_object".
(vms_output_aligned_decl_common): New global function.
(SECTION_VMS_OVERLAY): Delete.
(SECTION_VMS_GLOBAL): Likewise.
(SECTION_VMS_INITIALIZE): Likewise.
(vms_asm_named_section): Remove support for above flags.
(vms_section_type_flags): Delete.
(TARGET_SECTION_TYPE_FLAGS): Likewise.
* config/alpha/alpha-protos.h (vms_output_aligned_decl_common): New.
* config/alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Delete.
(ASM_OUTPUT_ALIGNED_DECL_COMMON): New macro.

Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
From-SVN: r150645

15 years agofuture: Move error handling bits outside macro guard.
Benjamin Kosnik [Tue, 11 Aug 2009 04:30:35 +0000 (04:30 +0000)]
future: Move error handling bits outside macro guard.

2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

* include/std/future: Move error handling bits outside macro guard.
* src/future.cc: Adjust.

* include/precompiled/stdc++.h: Add future.
* doc/xml/manual/using.xml: Same.

From-SVN: r150642

15 years agohashtable.cc: Just definitions.
Benjamin Kosnik [Tue, 11 Aug 2009 01:24:59 +0000 (01:24 +0000)]
hashtable.cc: Just definitions.

2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

* src/hashtable.cc: Just definitions.
* src/hashtable_c++0x.cc: Compile C++0x versions.
* src/hash.cc: Same.
* src/hash_c++0x.cc: Same.
src/hash_tr1.cc: Compile TR1 versions.
src/hashtable_tr1.cc: Same.

* src/limits_c++0x.cc: Sync build error handling.

* src/Makefile.am (sources): Change hash.cc to hash_tr1.cc,
hashtable.cc to hashtable_tr1.cc.
* src/Makefile.in: Regenerate.

From-SVN: r150641

15 years agofunctional: Doxygen markup.
Benjamin Kosnik [Tue, 11 Aug 2009 00:29:21 +0000 (00:29 +0000)]
functional: Doxygen markup.

2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

* include/tr1_impl/functional: Doxygen markup.

* doc/html/*: Regenerate.

From-SVN: r150640

15 years agoDaily bump.
GCC Administrator [Tue, 11 Aug 2009 00:16:39 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r150639

15 years agore PR target/41015 (SH: miscompilation for sh4-linux)
SUGIOKA Toshinobu [Mon, 10 Aug 2009 20:57:35 +0000 (05:57 +0900)]
re PR target/41015 (SH: miscompilation for sh4-linux)

PR target/41015
* longlong.h [__sh__] (udiv_qrnnd): Add T register to clobber list.
(sub_ddmmss): Likewise.

From-SVN: r150635

15 years agoImplement DR 757...
Jason Merrill [Mon, 10 Aug 2009 20:47:55 +0000 (16:47 -0400)]
Implement DR 757...

Implement DR 757: It's OK for a decl to use a type without linkage
so long as the decl is defined in the current translation unit.
* decl2.c (no_linkage_decls): New vector.
(mark_used): Add decls that use types with no linkage.
(cp_write_global_declarations): Check that they are defined.
(decl_defined_p, no_linkage_error): New fns.
* cp-tree.h (DECL_NO_LINKAGE_CHECKED): New macro.
(struct lang_decl_base): Add flag.
* decl.c (grokfndecl): Don't check type linkage.
(grokvardecl): If the type has no linkage, just make sure
DECL_LANG_SPECIFIC is set.
* pt.c (check_instantiated_arg): Don't check type linkage.
* name-lookup.c (is_local_extern): New fn.
* name-lookup.h: Declare it.

From-SVN: r150634

15 years agofuture: Fixes for -fno-exceptions.
Benjamin Kosnik [Mon, 10 Aug 2009 18:24:47 +0000 (18:24 +0000)]
future: Fixes for -fno-exceptions.

2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

* include/std/future: Fixes for -fno-exceptions.
* include/bits/functexcept.h: Same.
* libsupc++/exception_ptr.h: Same.
* src/pool_allocator.cc: Same.
* src/future.cc: Same.
* src/functexcept.cc: Same.
* config/abi/pre/gnu.ver: New exports.
* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust.
* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Same.
* testsuite/30_threads/unique_future/cons/assign_neg.cc: Same.
* testsuite/30_threads/unique_future/cons/copy_neg.cc: Same.
* testsuite/30_threads/shared_future/cons/assign_neg.cc: Same.
* testsuite/30_threads/promise/cons/assign_neg.cc: Same.
* testsuite/30_threads/promise/cons/copy_neg.cc: Same.

* testsuite/23_containers/deque/operators/1.cc: Separate in two...
* testsuite/23_containers/deque/operators/2.cc: New.

From-SVN: r150633

15 years agore PR bootstrap/41018 (bootstrap broken on FreeBSD powerpc)
Andreas Tobler [Mon, 10 Aug 2009 18:23:57 +0000 (18:23 +0000)]
re PR bootstrap/41018 (bootstrap broken on FreeBSD powerpc)

2009-08-10  Andreas Tobler  <a.tobler@schweiz.org>

PR bootstrap/41018
* config/rs6000/freebsd.h: Define SVR4_ASM_SPEC. Adjust copyright
year.

From-SVN: r150632

15 years agodg.exp: Test also c-c++-common dir.
Manuel López-Ibáñez [Mon, 10 Aug 2009 17:10:50 +0000 (17:10 +0000)]
dg.exp: Test also c-c++-common dir.

2009-08-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>

testsuite/
       * gcc.dg/dg.exp: Test also c-c++-common dir.
       * g++.dg/dg.exp: Likewise.
       * g++.dg/warn/Wconversion-real.C: Delete.
       * gcc.dg/Wconversion-real.c: Move to ...
       * c-c++-common/Wconversion-real.c: ... here.
       * lib/target-supports.exp
       (check_effective_target_c,check_effective_target_c++): New.

From-SVN: r150627

15 years agore PR middle-end/37053 (ICE in reload_cse_simplify_operands, at postreload.c:395)
Ulrich Weigand [Mon, 10 Aug 2009 15:34:09 +0000 (15:34 +0000)]
re PR middle-end/37053 (ICE in reload_cse_simplify_operands, at postreload.c:395)

PR target/37053
* reload1.c (reload_as_needed): Use cancel_changes to completely
undo a failed replacement attempt.

From-SVN: r150626

15 years ago* Moved ChangeLog entry to the correct ChangeLog
Neil Vachharajani [Mon, 10 Aug 2009 14:57:24 +0000 (14:57 +0000)]
* Moved ChangeLog entry to the correct ChangeLog

From-SVN: r150625

15 years agomake.adb: Handle multilib
Laurent GUERBY [Mon, 10 Aug 2009 10:52:37 +0000 (10:52 +0000)]
make.adb: Handle multilib

2009-08-10  Laurent GUERBY  <laurent@guerby.net>

        * make.adb: Handle multilib

From-SVN: r150623

15 years agore PR fortran/37425 (Fortran 2003: GENERIC bindings as operators)
Daniel Kraft [Mon, 10 Aug 2009 10:51:46 +0000 (12:51 +0200)]
re PR fortran/37425 (Fortran 2003: GENERIC bindings as operators)

2009-08-10  Daniel Kraft  <d@domob.eu>

PR fortran/37425
* gfortran.dg/typebound_operator_1.f03: New test.
* gfortran.dg/typebound_operator_2.f03: New test.

2009-08-10  Daniel Kraft  <d@domob.eu>

PR fortran/37425
* gfortran.h (struct gfc_namespace): New fields tb_uop_root and tb_op.
(gfc_find_typebound_user_op): New routine.
(gfc_find_typebound_intrinsic_op): Ditto.
(gfc_check_operator_interface): Now public routine.
* decl.c (gfc_match_generic): Match OPERATOR(X) or ASSIGNMENT(=).
* interface.c (check_operator_interface): Made public, renamed to
`gfc_check_operator_interface' accordingly and hand in the interface
as gfc_symbol rather than gfc_interface so it is useful for type-bound
operators, too.  Return boolean result.
(gfc_check_interfaces): Adapt call to `check_operator_interface'.
* symbol.c (gfc_get_namespace): Initialize new field `tb_op'.
(gfc_free_namespace): Free `tb_uop_root'-based tree.
(find_typebound_proc_uop): New helper function.
(gfc_find_typebound_proc): Use it.
(gfc_find_typebound_user_op): New method.
(gfc_find_typebound_intrinsic_op): Ditto.
* resolve.c (resolve_tb_generic_targets): New helper function.
(resolve_typebound_generic): Use it.
(resolve_typebound_intrinsic_op), (resolve_typebound_user_op): New.
(resolve_typebound_procedures): Resolve operators, too.
(check_uop_procedure): New, code from gfc_resolve_uops.
(gfc_resolve_uops): Moved main code to new `check_uop_procedure'.

From-SVN: r150622

15 years agore PR middle-end/41006 (verify_stmts failed: error: non-trivial conversion at assignment)
Richard Guenther [Mon, 10 Aug 2009 09:22:47 +0000 (09:22 +0000)]
re PR middle-end/41006 (verify_stmts failed: error: non-trivial conversion at assignment)

2009-08-10  Richard Guenther  <rguenther@suse.de>

PR middle-end/41006
* tree-ssa.c (useless_type_conversion_p_1): Fold into ...
(useless_type_conversion_p): ... here.  Require pointer targets
to be compatible.

* gcc.c-torture/compile/pr41006-1.c: New testcase.
* gcc.c-torture/compile/pr41006-2.c: Likewise.

From-SVN: r150621

15 years agore PR fortran/40940 ([F03] CLASS statement)
Janus Weil [Mon, 10 Aug 2009 09:19:24 +0000 (11:19 +0200)]
re PR fortran/40940 ([F03] CLASS statement)

2009-08-10  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40940
* decl.c (gfc_match_type_spec): Match CLASS statement and warn about
missing polymorphism.
* gfortran.h (gfc_typespec): Add field 'is_class'.
* misc.c (gfc_clear_ts): Initialize 'is_class' to zero.
* resolve.c (type_is_extensible): New function to check if a derived
type is extensible.
(resolve_fl_variable_derived): Add error checks for CLASS variables.
(resolve_typebound_procedure): Disallow non-polymorphic passed-object
dummy arguments, turning warning into error.
(resolve_fl_derived): Use 'type_is_extensible'. Disallow non-polymorphic
passed-object dummy arguments for procedure pointer components,
turning warning into error. Add error check for CLASS components.

2009-08-10  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40940
* gfortran.dg/class_1.f03: New.
* gfortran.dg/class_2.f03: New.
* gfortran.dg/proc_ptr_comp_pass_1.f90: Use CLASS instead of TYPE.
* gfortran.dg/proc_ptr_comp_pass_2.f90: Ditto.
* gfortran.dg/proc_ptr_comp_pass_3.f90: Ditto.
* gfortran.dg/typebound_call_10.f03: Ditto.
* gfortran.dg/typebound_call_2.f03: Ditto.
* gfortran.dg/typebound_call_3.f03: Ditto.
* gfortran.dg/typebound_call_4.f03: Ditto.
* gfortran.dg/typebound_generic_3.f03: Ditto.
* gfortran.dg/typebound_generic_4.f03: Ditto.
* gfortran.dg/typebound_proc_1.f08: Ditto.
* gfortran.dg/typebound_proc_5.f03: Ditto.
* gfortran.dg/typebound_proc_6.f03: Ditto.

From-SVN: r150620

15 years ago[multiple changes]
Arnaud Charlet [Mon, 10 Aug 2009 08:33:30 +0000 (10:33 +0200)]
[multiple changes]

2009-08-10  Vincent Celier  <celier@adacore.com>

* prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
the temporary file name in the error message when the temporary file
cannot be created.

2009-08-10  Yannick Moy  <moy@adacore.com>

* gnat_ugn.texi: Fix typo

From-SVN: r150619

15 years ago[multiple changes]
Arnaud Charlet [Mon, 10 Aug 2009 08:25:49 +0000 (10:25 +0200)]
[multiple changes]

2009-08-10  Robert Dewar  <dewar@adacore.com>

* exp_ch7.adb: Add ??? comment for last change

2009-08-10  Vincent Celier  <celier@adacore.com>

* prj-env.adb (Add_To_Buffer): New procedure
(Create_Config_Pragmas_File): Write to temporary file in one shot
(Create_Mapping_File): Ditto
(Set_Ada_Paths): Ditto

From-SVN: r150618

15 years agore PR ada/17566 (Gnatxref formatting)
Vincent Celier [Mon, 10 Aug 2009 08:25:05 +0000 (08:25 +0000)]
re PR ada/17566 (Gnatxref formatting)

2009-08-10  Vincent Celier  <celier@adacore.com>

PR ada/17566
* xref_lib.adb (Print_Xref): Make sure that there is at least one space
between a declaration name and its type.

From-SVN: r150617

15 years agore PR c++/40866 (ICE in create_tmp_var, at gimplify.c:504)
Dodji Seketeli [Mon, 10 Aug 2009 07:16:08 +0000 (07:16 +0000)]
re PR c++/40866 (ICE in create_tmp_var, at gimplify.c:504)

2009-08-10  Dodji Seketeli  <dodji@redhat.com>

gcc/ChangeLog:
PR c++/40866
* tree-inline.c (copy_statement_list): The resulting copy shouldn't
loose the original type of the statement list.

gcc/testsuite/ChangeLog:
PR c++/40866
* g++.dg/expr/stmt-expr-1.C: New test.

From-SVN: r150615

15 years agoalpha.c: Include libfuncs.h
Douglas B Rupp [Mon, 10 Aug 2009 04:50:23 +0000 (04:50 +0000)]
alpha.c: Include libfuncs.h

* config/alpha/alpha.c: Include libfuncs.h
(avms_asm_output_extern): New function.
(alpha_init_libfuncs): Init some decc libfuncs.
* config/alpha/alpha-protos.h (avms_asm_output_external): Declare.
* config/alpha/vms.h (ASM_OUTPUT_EXTERNAL): Define.
(DO_CRTL_NAMES): Define.
(LIB_SPEC): Remove.
* config/alpha/vms64.h: (POINTERS_EXTEND_UNSIGNED): Remove undef.
(LONG_TYPE_SIZE): Define.
(TARGET_OS_CPP_BUILTINS): Define with __LONG_POINTERS=1
(SUBTARGET_SWITCHES): Define malloc64 switch.
(TARGET_DEFAULT): Default MASK_MALLOC64 set.
(MASK_RETURN_ADDR): Define.
doc/invoke.texi (mmalloc64): Document switch.

From-SVN: r150614

15 years agoalpha.c (struct machine_function): New flag for VMS, uses_condition_handler.
Olivier Hainque [Mon, 10 Aug 2009 04:38:02 +0000 (04:38 +0000)]
alpha.c (struct machine_function): New flag for VMS, uses_condition_handler.

* config/alpha/alpha.c (struct machine_function): New flag for VMS,
uses_condition_handler.
(alpha_expand_builtin_establish_vms_condition_handler): New expander.
(alpha_expand_builtin_revert_vms_condition_handler): New expander.
(enum alpha_builtin): New ALPHA_BUILTIN_REVERT_VMS_CONDITION_HANDLER
and ALPHA_BUILTIN_ESTABLISH_VMS_CONDITION_HANDLER values.
(code_for_builtin): New insn codes for the new alpha_builtins.
(alpha_init_builtins): Register the new functions as BUILT_IN_MD.
(alpha_sa_size): Account for uses_condition_handler.
(alpha_expand_prologue): Likewise.
(alpha_start_function): Likewise.
(alpha_expand_epilogue): Likewise.
* config/alpha/alpha-protos.h: Prototype the new alpha.c builtin
establish/revert expanders.
* config/alpha/alpha.h (DWARF_FRAME_REGNUM): Define.
* config/alpha/alpha.md (builtin_establish_vms_condition_handler):
New expander, resorting to the alpha.c associated function.
(builtin_revert_vms_condition_handler): Likewise.
* config/alpha/vms-gcc_shell_handler.c: New file. Implements
__gcc_shell_handler, the static VMS condition handler used as
an indirection wrapper to the current dynamically established
handler.
* config/alpha/vms-unwind.h: Complete rewrite.
* config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms-gcc_shell_handler.c
* config/alpha/vms.h (MD_UNWIND_SUPPORT):

Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
From-SVN: r150612

15 years agoalpha.c (alpha_links): Add 'target' field.
Eric Botcazou [Mon, 10 Aug 2009 04:12:45 +0000 (04:12 +0000)]
alpha.c (alpha_links): Add 'target' field.

* config/alpha/alpha.c (alpha_links): Add 'target' field.
(alpha_need_linkage): Handle aliases.  Return function symbol.
(alpha_use_linkage): Rename 'linkage' argument to 'func'.
Use ultimate alias target for the linkage name.
* config/alpha/alpha.md (movmemdi): Use the symbol returned
by alpha_need_linkage for the function symbol.
(setmemdi): Likewise.

Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
From-SVN: r150611

15 years agoalpha.c (TARGET_ASM_UNALIGNED_*_OP): Define if on VMS.
Douglas B Rupp [Mon, 10 Aug 2009 04:05:54 +0000 (04:05 +0000)]
alpha.c (TARGET_ASM_UNALIGNED_*_OP): Define if on VMS.

* config/alpha/alpha.c (TARGET_ASM_UNALIGNED_*_OP): Define if on VMS.
* config/alpha/vms.h (OBJECT_FORMAT_ELF): Define.
(ASM_WEAKEN_LABEL): Define.
(CRT_CALL_STATIC_FUNCTION): Define.
(STARTFILE_SPEC): Add crtbegin.o crtbeginS.o.
(ENDFILE_SPEC): Define.
(INIT_SECTION_ASM_OP): Define.
* config/alpha/vms-dwarf2eh.asm (__EH_FRAME_BEGIN__): Remove.
* config/alpha/t-vms (EXTRA_PARTS): Add crtbegin.o crtbeginS.o
crtend.o crtendS.o.
(MULTILIB_OSDIRNAMES): Define.
(shlib_version): Define.
(SHLIB_EXT): Define.
(SHLIB_OBJS): Define.
(SHLIB_NAME): Define.
(SHLIB_MULTILIB): Define.
(SHLIB_INSTALL): Define.
(SHLIB_SYMVEC): Define.
(SHLIB_SYMVECX2): Define.
(SHLIB_LINK): Define.

From-SVN: r150610

15 years agoalpha.c (alpha_initialize_trampoline): Initialize VMS trampoline IAW ABI for bounded...
Douglas B Rupp [Mon, 10 Aug 2009 03:56:39 +0000 (03:56 +0000)]
alpha.c (alpha_initialize_trampoline): Initialize VMS trampoline IAW ABI for bounded procedure calls.

* config/alpha/alpha.c (alpha_initialize_trampoline):
Initialize VMS trampoline IAW ABI for bounded procedure calls.
(alpha_start_function): Emit transfer address on nested functions
for VMS trampoline call.
* config/alpha/t-vms (LIB2FUNCS_EXTRA): Remove vms_tramp.asm
since no longer used.
* config/alpha/vms-tramp.asm: Remove.
* config/alpha/vms.h (TRAMPOLINE_TEMPLATE): Leave undefined
since now only data initialized at runtime.

From-SVN: r150609

15 years agovms.h (HANDLE_SYSV_PRAGMA): Define.
Douglas B Rupp [Mon, 10 Aug 2009 03:26:59 +0000 (03:26 +0000)]
vms.h (HANDLE_SYSV_PRAGMA): Define.

* config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Define.
(LINK_GCC_C_SEQUENCE_SPEC): Define.
(MD_EXEC_PREFIX): Remove, no longer used.
(MD_STARTFILE_PREFIX): Likewise.
(INCLUDE_DEFAULTS): Likewise.
* config/alpha/t-vms:
(vms-dwarf2.o, vms-dwarf2eh.o): Use GCC_FOR_TARGET to compile.

From-SVN: r150608

15 years agoDaily bump.
GCC Administrator [Mon, 10 Aug 2009 00:16:46 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r150603

15 years agore PR tree-optimization/41016 (ICE in build_int_cst_wide with -O1)
Richard Guenther [Sun, 9 Aug 2009 20:10:41 +0000 (20:10 +0000)]
re PR tree-optimization/41016 (ICE in build_int_cst_wide with -O1)

2009-08-09  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/41016
* tree-ssa-ifcombine.c (get_name_for_bit_test): Fix tuplification
bug.
(operand_precision): Remove.
(integral_operand_p): Likewise.
(recognize_single_bit_test): Adjust.

* gcc.c-torture/compile/pr41016.c: New testcase.

From-SVN: r150595

15 years agoc-common.c (c_fully_fold_internal): Issue a warning if a binary operation overflows.
Richard Sandiford [Sun, 9 Aug 2009 18:38:04 +0000 (18:38 +0000)]
c-common.c (c_fully_fold_internal): Issue a warning if a binary operation overflows.

gcc/
* c-common.c (c_fully_fold_internal): Issue a warning if a binary
operation overflows.  Likewise non-cast unary arithmetic.
If one arm of a conditional expression is always taken,
inhibit evaluation warnings for the other arm.  Likewise inhibit
evaluation warnings for the second && or || operand if the first
operand is enough to determine the result.
* c-typeck.c (build_conditional_expr): Apply the same inhibition
rules here.
(build_binary_op): Prevent duplicate evaluation warnings.

gcc/testsuite/
* gcc.dg/overflow-warn-8.c: New test.

From-SVN: r150594

15 years agotree-out-of-ssa.c (insert_value_copy_on_edge): If the source and destination have...
Richard Sandiford [Sun, 9 Aug 2009 15:56:27 +0000 (15:56 +0000)]
tree-out-of-ssa.c (insert_value_copy_on_edge): If the source and destination have different modes...

gcc/
* tree-out-of-ssa.c (insert_value_copy_on_edge): If the source
and destination have different modes, Use promote_mode to
determine the signedness of the conversion.  Assert that the
promoted source mode matches the destination mode.  Don't pass
the destination and destination mode to expand_expr if the source
mode is different.  Simplify conversion logic.

From-SVN: r150592

15 years agore PR tree-optimization/41008 (ICE in vect_is_simple_reduction, at tree-vect-loop...
Ira Rosen [Sun, 9 Aug 2009 12:13:19 +0000 (12:13 +0000)]
re PR tree-optimization/41008 (ICE in vect_is_simple_reduction, at tree-vect-loop.c:1708)

PR tree-optimization/41008
* tree-vect-loop.c (vect_is_simple_reduction): Get operands
from condition only in case it's a comparison. Adjust checks.

From-SVN: r150591

15 years agore PR libfortran/40549 (Building libgfortran as a DLL)
Francois-Xavier Coudert [Sun, 9 Aug 2009 11:02:08 +0000 (11:02 +0000)]
re PR libfortran/40549 (Building libgfortran as a DLL)

PR libfortran/40549
* Makefile.in (LTLDFLAGS): Add -no-undefined.
* Makefile.am: Regenerate.
* libgfortran.h: Remove unused block of code.

From-SVN: r150590

15 years agore PR fortran/40955 (STDCALL attributes are not saved in the .MOD files)
Tobias Burnus [Sun, 9 Aug 2009 08:35:36 +0000 (10:35 +0200)]
re PR fortran/40955 (STDCALL attributes are not saved in the .MOD files)

2009-08-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40955
        * gfortran.h (ext_attr_id_t): Add typedef for this enum.
        (gfc_add_ext_attribute): Use it.
        * decl.c (gfc_match_gcc_attributes): Ditto.
        * expr.c (gfc_check_pointer_assign): Ditto.
        * symbol.c (gfc_add_ext_attribute): Ditto.
        (gfc_copy_attr): Copy also ext_attr.
        * resolve.c (resolve_fl_derived,resolve_symbol): Ditto.
        * module.c (mio_symbol_attribute): Save ext_attr in the mod
        * file.

2009-08-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40955
        * gfortran.dg/module_md5_1.f90: Update MD5 check sum.

From-SVN: r150589

15 years agotree-dfa.c (renumber_gimple_stmt_uids_in_blocks): New function.
Bernd Schmidt [Sun, 9 Aug 2009 07:59:12 +0000 (07:59 +0000)]
tree-dfa.c (renumber_gimple_stmt_uids_in_blocks): New function.

* tree-dfa.c (renumber_gimple_stmt_uids_in_blocks): New function.
* tree-flow.h (renumber_gimple_stmt_uids_in_blocks): Declare it.
* tree-ssa-loop-ivopts.c (comp_cost): Make COST an integer.
(enum iv_position): Add IP_AFTER_USE and IP_BEFORE_USE.
(dump_cand): Handle them.
(struct iv_cand): New members COST_STEP and AINC_USE.
(stmt_after_increment): Likewise.
(stmt_after_inc_pos): Renamed from stmt_after_ip_original_pos.  All
callers changed.  Use gimple_uid comparison instead of scanning.
(add_candidate_1): When looking for identical candidates, take
AINC_USE into account.  Set it for new candidates.
(force_expr_to_var_cost): Cast target_spill_cost to int.
(get_address_cost): New arguments STMT_AFTER_INC and MAY_AUTOINC.
All callers changed.  Check for availability of autoinc addressing
modes, both in general for a given mode, and in the specific use
case.
(get_computation_cost_at): New argument CAN_AUTOINC.  All callers
changed.
(get_computation_cost): Likewise.
(autoinc_possible_for_pair, set_autoinc_for_original_candidates,
add_autoinc_candidates): New static functions.
(add_candidate): Call add_autoinc_candidates for candidates based on
a USE_ADDRESS use.
(find_iv_candidates): Call set_autoinc_for_original_candidates.
(determine_use_iv_cost_address): If we have an autoinc candidate at
the matching use, verify autoinc is possible and subtract the cost
of the candidate's step from the cost.
(determine_iv_cost): Record the cost of the increment in the COST_STEP
member of the candidate.
(tree_ssa_iv_optimize_loop): Swap the calls to determine_iv_costs and
determine_use_iv_costs.  Call renumber_gimple_stmt_uids_in_blocks.

testsuite/
* gcc.target/bfin/loop-autoinc.c: New file.

From-SVN: r150588

15 years agoconfig.build (ia64-hp-*vms*): New target.
Douglas B Rupp [Sun, 9 Aug 2009 07:05:11 +0000 (07:05 +0000)]
config.build (ia64-hp-*vms*): New target.

* config.build (ia64-hp-*vms*): New target.
(alpha64-dec-*vms*,alpha*-dec-*vms*): Fix for config/vms and unify
with ia64-hp-*vms*.
* config.gcc (ia64-hp-*vms*): New target.
(alpha64-dec-*vms*,alpha*-dec-*vms*): Fix for config/vms and unify
with ia64-hp-*vms*.
* config.host (ia64-hp-*vms*): New target.
(alpha64-dec-*vms*,alpha*-dec-*vms*): Fix for config/vms and unify
with ia64-hp-*vms*.
* libgcc/config.host (ia64-hp-*vms*): New target.
(alpha64-dec-*vms*,alpha*-dec-*vms*): Fix for config/vms and unify
with ia64-hp-*vms*.

From-SVN: r150587

15 years agoDaily bump.
GCC Administrator [Sun, 9 Aug 2009 00:17:07 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r150584

15 years agore PR tree-optimization/40991 (ICE: at optimization -02)
Richard Guenther [Sat, 8 Aug 2009 15:32:36 +0000 (15:32 +0000)]
re PR tree-optimization/40991 (ICE: at optimization -02)

2009-08-08  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/40991
* tree-ssa-pre.c (eliminate): Delay purging EH edges.

* g++.dg/torture/pr40991.C: New testcase.

From-SVN: r150580

15 years agoimpdef.a: Tweak timing constants.
Laurent GUERBY [Sat, 8 Aug 2009 11:35:44 +0000 (11:35 +0000)]
impdef.a: Tweak timing constants.

2009-08-08  Laurent GUERBY  <laurent@guerby.net>

        * ada/acats/support/impdef.a: Tweak timing constants. Add
        Long_Minimum_Task_Switch and Long_Switch_To_New_Task.
        * ada/acats/tests/c9/c940005.a: Use new timing constants.
        * ada/acats/tests/c9/c940007.a: Likewise.
        * ada/acats/tests/c9/c94001c.ada: Likewise.
        * ada/acats/tests/c9/c94006a.ada: Likewise.
        * ada/acats/tests/c9/c94008c.ada: Likewise.
        * ada/acats/tests/c9/c951002.a: Likewise.
        * ada/acats/tests/c9/c954a01.a: Likewise.
        * ada/acats/tests/c9/c96001a.ada: Likewise.
        * ada/acats/tests/c9/c97307a.ada: Likewise.

From-SVN: r150579

15 years agocombine.c (gen_lowpart_or_truncate): Exclude CONST_INTs from mode check.
Richard Sandiford [Sat, 8 Aug 2009 08:32:24 +0000 (08:32 +0000)]
combine.c (gen_lowpart_or_truncate): Exclude CONST_INTs from mode check.

gcc/
* combine.c (gen_lowpart_or_truncate): Exclude CONST_INTs from
mode check.  Do truncations in an integer mode.
(force_to_mode): Handle subregs for all mode types.  Only do
arithmetic simplifications on integer modes.

From-SVN: r150578

15 years agoDaily bump.
GCC Administrator [Sat, 8 Aug 2009 00:16:56 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r150577

15 years agore PR tree-optimization/40999 (ICE in extract_component, at tree-complex.c:625)
Richard Guenther [Fri, 7 Aug 2009 17:02:43 +0000 (17:02 +0000)]
re PR tree-optimization/40999 (ICE in extract_component, at tree-complex.c:625)

2009-08-07  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/40999
* tree-ssa-ccp.c (get_symbol_constant_value): Handle CONST_DECLs.
(maybe_fold_reference): Lookup constant initializers.
(fold_gimple_assign): Likewise.

* gfortran.dg/pr40999.f: New testcase.

From-SVN: r150572

15 years agore PR c++/39987 (Rejects default argument that is a template via access failure)
Dodji Seketeli [Fri, 7 Aug 2009 13:13:12 +0000 (15:13 +0200)]
re PR c++/39987 (Rejects default argument that is a template via access failure)

2009-08-07  Dodji Seketeli  <dodji@redhat.com>

PR c++/39987
* gcc/testsuite/g++.dg/overload/defarg4.C: Oops, forgot to add
the testcase.

From-SVN: r150568

15 years agohash.cc (hash<string>::operator()(string), hash<wstring>::operator()(wstring)): Do...
Paolo Carlini [Fri, 7 Aug 2009 10:13:44 +0000 (10:13 +0000)]
hash.cc (hash<string>::operator()(string), hash<wstring>::operator()(wstring)): Do not decorate as throwing nothing.

2009-08-07  Paolo Carlini  <paolo.carlini@oracle.com>

* src/hash.cc (hash<string>::operator()(string),
hash<wstring>::operator()(wstring)): Do not decorate as throwing
nothing.
* include/bits/functional_hash.h (hash<error_code>::
operator()(error_code)): Likewise.

From-SVN: r150566

15 years agoexp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of SCIL node.
Javier Miranda [Fri, 7 Aug 2009 09:58:18 +0000 (09:58 +0000)]
exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of SCIL node.

2009-08-07  Javier Miranda  <miranda@adacore.com>

* exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
SCIL node.

From-SVN: r150565

15 years ago[multiple changes]
Arnaud Charlet [Fri, 7 Aug 2009 09:55:42 +0000 (11:55 +0200)]
[multiple changes]

2009-08-07  Robert Dewar  <dewar@adacore.com>

* sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.

2009-08-07  Vincent Celier  <celier@adacore.com>

* gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
specified on the command line and there are switches in the Compiler
package of the project file, use these compilation switches to invoke
the tool.

2009-08-07  Ben Brosgol  <brosgol@adacore.com>

* gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.

2009-08-07  Ed Schonberg  <schonberg@adacore.com>

* sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
even if not in main unit, to simplify debugging.

2009-08-07  Arnaud Charlet  <charlet@adacore.com>

* gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET.
* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r150564

15 years ago[multiple changes]
Arnaud Charlet [Fri, 7 Aug 2009 09:42:01 +0000 (11:42 +0200)]
[multiple changes]

2009-08-07  Robert Dewar  <dewar@adacore.com>

* types.ads: Minor reformatting
* sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation.
* frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of
Output_Non_Modified_In_Out_Warnings.
* sem_ch13.adb: Remove ??? comment.

2009-08-07  Vincent Celier  <celier@adacore.com>

* mlib-prj.adb (Build_Library): Include binder generate object file
for SAL when library name is only one character.

From-SVN: r150563

15 years ago[multiple changes]
Arnaud Charlet [Fri, 7 Aug 2009 09:29:01 +0000 (11:29 +0200)]
[multiple changes]

2009-08-07  Thomas Quinot  <quinot@adacore.com>

* targparm.adb: Minor reformatting
* sem.adb: Minor reformatting
* exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.

2009-08-07  Emmanuel Briot  <briot@adacore.com>

* prj-conf.adb: Remove duplicate directory separator in the output when
an object directory does not exist.

2009-08-07  Robert Dewar  <dewar@adacore.com>

* exp_util.adb: Minor reformatting

2009-08-07  Vincent Celier  <celier@adacore.com>

* mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
length used).

2009-08-07  Ed Schonberg  <schonberg@adacore.com>

* exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode,
detect non-static private components that will violate restriction
No_Implicit_Heap_Allocation.

2009-08-07  Ben Brosgol  <brosgol@adacore.com>

* gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.

From-SVN: r150562

15 years agodwarf2out.c (output_fde): When doing hot/cold partitioning...
Jakub Jelinek [Fri, 7 Aug 2009 09:10:13 +0000 (11:10 +0200)]
dwarf2out.c (output_fde): When doing hot/cold partitioning...

* dwarf2out.c (output_fde): When doing hot/cold partitioning, use
fde->dw_fde_begin as begin label instead of hot/cold label.
Use LLSDAC label instead of LLSDA for second section lsda.
(dwarf2out_do_cfi_startproc): Add SECOND argument.  Use LLSDAC
label instead of LLSDA if it is true.
(dwarf2out_begin_prologue, dwarf2out_switch_text_section): Adjust
callers.
* except.c (add_call_site, dw2_size_of_call_site_table): Add
SECTION argument.  Use it as index into crtl->eh.call_site_record
array.
(dw2_output_call_site_table): Likewise.  Add CS_FORMAT argument,
use it to determine how to print table entries instead of using
#ifdef HAVE_AS_LEB128.  For SECTION > 0 use hot resp. cold
label instead of normal begin label as base.
(sjlj_assign_call_site_values): Adjust add_call_site caller.
(convert_to_eh_region_ranges): When doing hot/cold partitioning,
ensure no EH range spans between sections and that landing pads
are always in the corresponding section.
(sjlj_size_of_call_site_table, sjlj_output_call_site_table): Adjust
for crtl->eh.call_site_record being an array rather than scalar.
(output_one_function_exception_table): New function, copied
from output_function_exception_table.  Adjust
dw2_size_of_call_site_table, dw2_output_call_site_table
callers.  For SECOND section use *C suffixed labels.
(output_function_exception_table): Call
output_one_function_exception_table and, when doing hot/cold
partitioning, also another time for the second section.
* opts.c: Include except.h.
(decode_options): Allow -freorder-blocks-and-partition with
exceptions, unless SJLJ or TARGET_UNWIND_INFO.
* Makefile.in (opts.o): Depend on $(EXCEPT_H).
* function.h (struct rtl_eh): Change call_site_record from
scalar into array of 2 elements.

* g++.dg/tree-prof/partition1.C: New test.

From-SVN: r150560

15 years agotree-ssa.c (useless_type_conversion_p_1): Only for types that require structural...
Richard Guenther [Fri, 7 Aug 2009 08:54:53 +0000 (08:54 +0000)]
tree-ssa.c (useless_type_conversion_p_1): Only for types that require structural equality defer to the langhook.

2009-08-07  Richard Guenther  <rguenther@suse.de>

* tree-ssa.c (useless_type_conversion_p_1): Only for types
that require structural equality defer to the langhook.

From-SVN: r150559

15 years agoipa-prop.h (enum jump_func_type): New value IPA_JF_ANCESTOR, changed comments.
Martin Jambor [Fri, 7 Aug 2009 07:15:41 +0000 (09:15 +0200)]
ipa-prop.h (enum jump_func_type): New value IPA_JF_ANCESTOR, changed comments.

2009-08-07  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.h (enum jump_func_type): New value IPA_JF_ANCESTOR, changed
comments.
(struct ipa_pass_through_data): New type.
(struct ipa_ancestor_jf_data): New type.
(union jump_func_value): Removed field formal_id, added fields
pass_through and ancestor.
(struct ipa_param_call_note): Changed type of formal_id to int from
unsigned.
* ipa-prop.c (ipa_print_node_jump_functions): Print pass through with
operations jump functions and ancestor jump functions.
(compute_complex_pass_through): New function.
(compute_scalar_jump_functions): Call compute_complex_pass_through,
reflect changes in the jump function strucutre.
(update_jump_functions_after_inlining): Ignore complex pass-through
and ancestor jump functions.
* ipa-cp.c (ipcp_lattice_from_jfunc): Added support for ancestor and
polynomial pass-through with operation jump functions.

From-SVN: r150554

15 years agodwarf2out.c (output_fde): When doing hot/cold partitioning...
Jakub Jelinek [Fri, 7 Aug 2009 06:23:42 +0000 (08:23 +0200)]
dwarf2out.c (output_fde): When doing hot/cold partitioning...

* dwarf2out.c (output_fde): When doing hot/cold partitioning, use
fde->dw_fde_begin as begin label instead of hot/cold label.
Use LLSDAC label instead of LLSDA for second section lsda.
(dwarf2out_do_cfi_startproc): Add SECOND argument.  Use LLSDAC
label instead of LLSDA if it is true.
(dwarf2out_begin_prologue, dwarf2out_switch_text_section): Adjust
callers.
* except.c (add_call_site, dw2_size_of_call_site_table): Add
SECTION argument.  Use it as index into crtl->eh.call_site_record
array.
(dw2_output_call_site_table): Likewise.  Add CS_FORMAT argument,
use it to determine how to print table entries instead of using
#ifdef HAVE_AS_LEB128.  For SECTION > 0 use hot resp. cold
label instead of normal begin label as base.
(sjlj_assign_call_site_values): Adjust add_call_site caller.
(convert_to_eh_region_ranges): When doing hot/cold partitioning,
ensure no EH range spans between sections and that landing pads
are always in the corresponding section.
(sjlj_size_of_call_site_table, sjlj_output_call_site_table): Adjust
for crtl->eh.call_site_record being an array rather than scalar.
(output_one_function_exception_table): New function, copied
from output_function_exception_table.  Adjust
dw2_size_of_call_site_table, dw2_output_call_site_table
callers.  For SECOND section use *C suffixed labels.
(output_function_exception_table): Call
output_one_function_exception_table and, when doing hot/cold
partitioning, also another time for the second section.
* opts.c: Include except.h.
(decode_options): Allow -freorder-blocks-and-partition with
exceptions, unless SJLJ or TARGET_UNWIND_INFO.
* Makefile.in (opts.o): Depend on $(EXCEPT_H).
* function.h (struct rtl_eh): Change call_site_record from
scalar into array of 2 elements.

* g++.dg/tree-prof/partition1.C: New test.

From-SVN: r150553

15 years agoipa-prop.c (count_formal_params_1): New function.
Martin Jambor [Fri, 7 Aug 2009 00:51:34 +0000 (02:51 +0200)]
ipa-prop.c (count_formal_params_1): New function.

2009-08-07  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (count_formal_params_1): New function.
(ipa_get_vector_of_formal_parms): New function.
(get_vector_of_formal_parm_types): New function.
(ipa_modify_formal_parameters): New function.
(ipa_modify_call_arguments): New function.
(index_in_adjustments_multiple_times_p): New function.
(ipa_combine_adjustments): New function.
(ipa_dump_param_adjustments): New function.

* ipa-prop.h (struct ipa_parm_adjustment): New type.
(ipa_get_vector_of_formal_parms): Declare.
(ipa_modify_formal_parameters): Declare.
(ipa_modify_call_arguments): Declare.
(ipa_combine_adjustments): Declare.
(ipa_dump_param_adjustments): Declare.
(build_ref_for_offset): Declare.

* Makefile.in (tree-sra.o): Add ipa-prop.h to dependencies.

* tree-sra.c: Include ipa-prop.c.
(build_ref_for_offset): Make public.

From-SVN: r150551

15 years agoDaily bump.
GCC Administrator [Fri, 7 Aug 2009 00:17:09 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r150550

15 years ago2009-08-06 Thomas Schwinge <tschwinge@gnu.org>
Thomas Schwinge [Thu, 6 Aug 2009 22:02:34 +0000 (00:02 +0200)]
2009-08-06  Thomas Schwinge  <tschwinge@gnu.org>

* gcc/doc/extend.texi (__builtin_extract_return_address)
(__builtin_frob_return_address): Document.

From-SVN: r150546

15 years agolib1funcs.asm (ARM_DIV_BODY): Add Thumb-2 implementation.
Paul Brook [Thu, 6 Aug 2009 21:05:42 +0000 (21:05 +0000)]
lib1funcs.asm (ARM_DIV_BODY): Add Thumb-2 implementation.

* config/arm/lib1funcs.asm (ARM_DIV_BODY): Add Thumb-2 implementation.
(udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Only use Thumb-1
implementation on ARMv6-M.

From-SVN: r150545

15 years ago* value-prof.c (init_pid_map): Replace xmalloc with XCNEWVEC.
Neil Vachharajani [Thu, 6 Aug 2009 20:45:26 +0000 (20:45 +0000)]
* value-prof.c (init_pid_map): Replace xmalloc with XCNEWVEC.

From-SVN: r150544

15 years ago* MAINTAINERS: Add my name to Write After Approval list.
Neil Vachharajani [Thu, 6 Aug 2009 20:27:41 +0000 (20:27 +0000)]
* MAINTAINERS: Add my name to Write After Approval list.

From-SVN: r150541

15 years agocompatibility.cc: Make C++0x safe, add in explicit casts to bool for stream sentry...
Benjamin Kosnik [Thu, 6 Aug 2009 19:33:33 +0000 (19:33 +0000)]
compatibility.cc: Make C++0x safe, add in explicit casts to bool for stream sentry objects.

2009-08-06  Benjamin Kosnik  <bkoz@redhat.com>

* src/compatibility.cc: Make C++0x safe, add in explicit casts to
        bool for stream sentry objects.
        * include/bits/istream.tcc: Same.
        * include/bits/ostream.tcc: Same.
        * include/bits/basic_string.tcc: Same.
* include/bits/ostream_insert.h: Same.
        * src/istream.cc: Same.

From-SVN: r150539

15 years agoabitest.h: Allow the test function to have a PCS attribute.
Richard Earnshaw [Thu, 6 Aug 2009 18:15:19 +0000 (18:15 +0000)]
abitest.h: Allow the test function to have a PCS attribute.

* gcc.target/arm/abitest.h: Allow the test function to have a PCS
attribute.
* gcc.target/arm/vfp1[567].c: New tests.

From-SVN: r150536

15 years agoconfigure.ac: Add Microblaze target.
Michael Eager [Thu, 6 Aug 2009 17:48:24 +0000 (17:48 +0000)]
configure.ac: Add Microblaze target.

        * configure.ac: Add Microblaze target.
        * configure: Regenerate.

From-SVN: r150535

15 years ago* doc/extend.texi (pcs): Document new attribute for ARM.
Richard Earnshaw [Thu, 6 Aug 2009 16:47:57 +0000 (16:47 +0000)]
* doc/extend.texi (pcs): Document new attribute for ARM.

From-SVN: r150531

15 years agoarm.c (pcs_attribute_args): Comment out unsupported attribute variants.
Richard Earnshaw [Thu, 6 Aug 2009 16:31:02 +0000 (16:31 +0000)]
arm.c (pcs_attribute_args): Comment out unsupported attribute variants.

* arm.c (pcs_attribute_args): Comment out unsupported attribute
variants.

From-SVN: r150530

15 years agore PR c++/40948 (ICE in lower_stmt, at gimple-low.c:408)
Jason Merrill [Thu, 6 Aug 2009 16:25:19 +0000 (12:25 -0400)]
re PR c++/40948 (ICE in lower_stmt, at gimple-low.c:408)

PR c++/40948
* init.c (build_vec_init): Evaluate the initializer before
starting the initialization try block.

From-SVN: r150529

15 years agoarm.c (arm_handle_pcs_attribute): Pass the entire name object to warning ().
Richard Earnshaw [Thu, 6 Aug 2009 16:19:14 +0000 (16:19 +0000)]
arm.c (arm_handle_pcs_attribute): Pass the entire name object to warning ().

* arm.c (arm_handle_pcs_attribute): Pass the entire name object to
warning ().

From-SVN: r150528

15 years ago* arm.c (arm_handle_pcs_attribute): Use %qE in warning.
Richard Earnshaw [Thu, 6 Aug 2009 15:14:56 +0000 (15:14 +0000)]
* arm.c (arm_handle_pcs_attribute): Use %qE in warning.

From-SVN: r150527

15 years agoFix merge botch -- this changelog should have been merged.
Richard Earnshaw [Thu, 6 Aug 2009 14:30:22 +0000 (14:30 +0000)]
Fix merge botch -- this changelog should have been merged.

From-SVN: r150526

15 years agoMerge ARM/hard_vfp_branch to trunk
Richard Earnshaw [Thu, 6 Aug 2009 14:27:45 +0000 (14:27 +0000)]
Merge ARM/hard_vfp_branch to trunk

From-SVN: r150525

15 years agore PR middle-end/32964 (union cause inefficient code inside loops)
Martin Jambor [Thu, 6 Aug 2009 11:55:30 +0000 (13:55 +0200)]
re PR middle-end/32964 (union cause inefficient code inside loops)

2009-08-06  Martin Jambor  <mjambor@suse.cz>

PR middle-end/32964
* testsuite/gcc.dg/tree-ssa/pr32964.c: New test.

From-SVN: r150523

15 years agore PR target/40957 (standard_sse_constant_opcode crash on x86 64)
Uros Bizjak [Thu, 6 Aug 2009 11:43:38 +0000 (13:43 +0200)]
re PR target/40957 (standard_sse_constant_opcode crash on x86 64)

PR target/40957
* config/i386/i386.c (standard_sse_mode_p): Remove.
(standard_sse_constant_p): Return 2 for integer mode
vector_all_ones_operand when SSE2 is enabled.
(standard_sse_constant_opcode)<case 2>: Always return [v]pcmpeqd.
(ix86_expand_vector_move): Do not check for negative values from
standard_sse_constant_p.

testsuite/ChangeLog:

PR target/40957
* gcc.target/i386/pr40957: New test.

Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r150520