platform/upstream/gcc.git
14 years agodouble-int.h (double_int_sub): Declare.
Richard Biener [Mon, 5 Jul 2010 13:06:07 +0000 (13:06 +0000)]
double-int.h (double_int_sub): Declare.

2010-07-05  Richard Guenther  <rguenther@suse.de>

* double-int.h (double_int_sub): Declare.
* double-int.c (double_int_sub): New function.
* dwarf2out.c (field_byte_offset): Use it.
* fixed-value.c (do_fixed_add): Likewise.
(do_fixed_multiply): Likewise.
(do_fixed_divide): Likewise.
* tree-predcom.c (add_ref_to_chain): Likewise.
(determine_roots_comp): Likewise.
* tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.

From-SVN: r161835

14 years agovec.h (VEC_splice, [...]): New macros.
Nathan Froyd [Mon, 5 Jul 2010 12:46:52 +0000 (12:46 +0000)]
vec.h (VEC_splice, [...]): New macros.

gcc/
* vec.h (VEC_splice, VEC_safe_splice): New macros.  Add function
implementations.

gcc/fortran/
* trans.h (gfc_conv_procedure_call): Take a VEC instead of a tree.
* trans-intrinsic.c (gfc_conv_intrinsic_funcall): Adjust for new
type of gfc_conv_procedure_call.
(conv_generic_with_optional_char_arg): Likewise.
* trans-stmt.c (gfc_trans_call): Likewise.
* trans-expr.c (gfc_conv_function_expr): Likewise.
(gfc_conv_procedure_call): Use build_call_vec instead of
build_call_list.

From-SVN: r161834

14 years agoarm.c (get_arm_condition_code): Remove CC_NOTBmode case.
Bernd Schmidt [Mon, 5 Jul 2010 12:36:21 +0000 (12:36 +0000)]
arm.c (get_arm_condition_code): Remove CC_NOTBmode case.

* config/arm/arm.c (get_arm_condition_code): Remove CC_NOTBmode case.
* arm-modes.def (CC_NOTB): Don't define.
* config/arm/arm.md (arm_adddi3): Generate canonical RTL.
(adddi_sesidi_di, adddi_zesidi_di): Likewise.
(LTUGEU): New code_iterator.
(cnb, optab): New corresponding code_attrs.
(addsi3_carryin_<optab>): Renamed from addsi3_carryin.  Change pattern
to canonical form.  Operands 1 and 2 are commutative.  Parametrize
using LTUGEU.
(addsi3_carryin_shift_<optab>): Likewise.
(addsi3_carryin_alt2_<optab>): Renamed from addsi3_carryin_alt2.
Operands 1 and 2 are commutative.  Parametrize using LTUGEU.
(addsi3_carryin_alt1, addsi3_carryin_alt3): Remove.
(subsi3_compare): Renamed from subsi3_compare0_c.  Change CC_NOTB to
CC.
(arm_subsi3_insn): Allow constants for operand 0.
(compare_scc peephole for eq case): New.
(compare_scc splitters): Change CC_NOTB to CC.

From-SVN: r161831

14 years agotree-ssa-loop-im.c (for_each_index): Do not handle ALIGN_INDIRECT_REF.
Richard Guenther [Mon, 5 Jul 2010 12:25:20 +0000 (12:25 +0000)]
tree-ssa-loop-im.c (for_each_index): Do not handle ALIGN_INDIRECT_REF.

2010-07-05  Richard Guenther  <rguenther@suse.de>

* tree-ssa-loop-im.c (for_each_index): Do not handle
ALIGN_INDIRECT_REF.
(gen_lsm_tmp_name): Likewise.
* tree-dump.c (dequeue_and_dump): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
(op_code_prio): Likewise.
(op_symbol_code): Likewise.
* tree.c (staticp): Likewise.
(build1_stat): Likewise.
* tree.h (INDIRECT_REF_P): Likewise.
* fold-const.c (maybe_lvalue_p): Likewise.
(operand_equal_p): Likewise.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
(ao_ref_init_from_vn_reference): Likewise.
* tree-ssa-loop-ivopts.c (idx_find_step): Likewise.
(find_interesting_uses_address): Likewise.
* dwarf2out.c (loc_list_from_tree): Likewise.
* gimplify.c (gimplify_expr): Likewise.
* tree-eh.c (tree_could_trap_p): Likewise.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
* cfgexpand.c (expand_debug_expr): Likewise.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
* tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
* tree-cfg.c (verify_types_in_gimple_min_lval): Likewise.
* config/rs6000/rs6000 (rs6000_check_sdmode): Likewise.
* tree-ssa-operands.c (get_expr_operands): Likewise.
* expr.c (safe_from_p): Likewise.
(expand_expr_real_1): Likewise.  TER BIT_AND_EXPRs into MEM_REFs.
* tree-vect-data-refs.c (vect_setup_realignment): Build
BIT_AND_EXPR and MEM_REF instead of ALIGN_INDIRECT_REF.
* tree-vect-stmts.c (vectorizable_load): Likewise.
* tree.def (ALIGN_INDIRECT_REF): Remove.

From-SVN: r161830

14 years agore PR middle-end/44784 (Failed to build 403.gcc in SPEC CPU 2006)
Richard Guenther [Mon, 5 Jul 2010 12:20:00 +0000 (12:20 +0000)]
re PR middle-end/44784 (Failed to build 403.gcc in SPEC CPU 2006)

2010-07-05  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/44784
* tree-ssa-pre.c (bitmap_find_leader): Fix dominance check
for inserted stmts.
(find_or_generate_expression): Fix SCCVN insertion check.

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

From-SVN: r161829

14 years agoe500crtsavg64gprctr.asm: Correct done label name.
Nathan Sidwell [Mon, 5 Jul 2010 11:01:43 +0000 (11:01 +0000)]
e500crtsavg64gprctr.asm: Correct done label name.

* config/rs6000/e500crtsavg64gprctr.asm: Correct done label name.
* config/rs6000/e500crtsav64gprctr.asm: Likewise.
* config/rs6000/e500crtres64gprctr.asm: Likewise. Add FUNC_END
directives.

From-SVN: r161828

14 years agotree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Skip statements that are...
Ira Rosen [Mon, 5 Jul 2010 10:41:25 +0000 (10:41 +0000)]
tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Skip statements that are not vectorized.

* tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Skip
statements that are not vectorized.
* tree-vect-stmts.c (vect_get_load_cost): Update the value stored
in INSIDE_COST.

From-SVN: r161827

14 years agopt.c (tsubst): Early declare code = TREE_CODE (t) and use it throughout.
Paolo Carlini [Mon, 5 Jul 2010 09:55:43 +0000 (09:55 +0000)]
pt.c (tsubst): Early declare code = TREE_CODE (t) and use it throughout.

2010-07-05  Paolo Carlini  <paolo.carlini@oracle.com>

* pt.c (tsubst): Early declare code = TREE_CODE (t) and use it
throughout.

From-SVN: r161825

14 years agore PR bootstrap/44820 (ARM bootstrap failure: regno set but unused in arm_attr_length...
Mikael Pettersson [Mon, 5 Jul 2010 09:11:39 +0000 (11:11 +0200)]
re PR bootstrap/44820 (ARM bootstrap failure: regno set but unused in arm_attr_length_move_neon)

2010-07-05  Mikael Pettersson  <mikpe@it.uu.se>

PR bootstrap/44820
* config/arm/arm.c (arm_attr_length_move_neon): Delete regno.

From-SVN: r161822

14 years agotree-cfg.c (verify_gimple_return): Handle DECL_BY_REFERENCE RESULT_DECLs properly.
Richard Biener [Mon, 5 Jul 2010 09:04:44 +0000 (09:04 +0000)]
tree-cfg.c (verify_gimple_return): Handle DECL_BY_REFERENCE RESULT_DECLs properly.

2010-07-05  Richard Guenther  <rguenther@suse.de>

* tree-cfg.c (verify_gimple_return): Handle DECL_BY_REFERENCE
RESULT_DECLs properly.

From-SVN: r161821

14 years agocostmodel-vect-31d.c: Remove.
Ira Rosen [Mon, 5 Jul 2010 06:48:32 +0000 (06:48 +0000)]
costmodel-vect-31d.c: Remove.

* gcc.dg/vect/costmodel/ppc/costmodel-vect-31d.c: Remove.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-76a.c: Increase loop bound.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: Likewise.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-68d.c: Remove.
* gcc.dg/vect/pr35821-altivec.c, gcc.dg/vect/pr35821-spu.c: Likewise.

From-SVN: r161819

14 years agore PR c++/22138 (Better error message for rejecting local template declaration.)
Shujing Zhao [Mon, 5 Jul 2010 05:36:02 +0000 (05:36 +0000)]
re PR c++/22138 (Better error message for rejecting local template declaration.)

gcc/cp/
2010-07-05  Shujing Zhao  <pearly.zhao@oracle.com>

        PR c++/22138
        * parser.c (cp_parser_primary_expression): Error if local template is
        declared.

gcc/testsuite/
2010-07-05  Shujing Zhao  <pearly.zhao@oracle.com>

        PR c++/22138
        * g++.dg/parse/template25.C: New.

From-SVN: r161818

14 years agoDaily bump.
GCC Administrator [Mon, 5 Jul 2010 00:17:17 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r161817

14 years agoChange 8bit divmod to HImode.
H.J. Lu [Sun, 4 Jul 2010 23:18:06 +0000 (23:18 +0000)]
Change 8bit divmod to HImode.

gcc/

2010-07-04  H.J. Lu  <hongjiu.lu@intel.com>

PR rtl-optimization/44695
* config/i386/i386.md (extract_code): Removed.
(<u>divmodqi4): Likewise.
(divmodqi4): New.
(udivmodqi4): Likewise.
(divmodhiqi3): Change div/mod to HImode and extend operand 2 to
HImode.
(udivmodhiqi3): Likewise.

gcc/testsuite/

2010-07-04  H.J. Lu  <hongjiu.lu@intel.com>

PR rtl-optimization/44695
* gcc.dg/torture/pr44695.c: New.

From-SVN: r161813

14 years ago* lto-cgraph.c (input_edge): Do not care about resolution decisions.
Jan Hubicka [Sun, 4 Jul 2010 22:22:48 +0000 (00:22 +0200)]
* lto-cgraph.c (input_edge): Do not care about resolution decisions.

From-SVN: r161812

14 years agocgraphunit.c (init_cgraph): Only initialize dump file if it is not already initialized.
Jan Hubicka [Sun, 4 Jul 2010 22:21:39 +0000 (00:21 +0200)]
cgraphunit.c (init_cgraph): Only initialize dump file if it is not already initialized.

        * cgraphunit.c (init_cgraph): Only initialize dump file if it is not already
        initialized.
        * lto.c (read_cgraph_and_symbols): Dump cgraph before merging.

From-SVN: r161811

14 years agogcc/
Richard Sandiford [Sun, 4 Jul 2010 22:14:56 +0000 (22:14 +0000)]
gcc/
* optabs.h (reload_in_optab, reload_out_optab, code_to_optab)
(vcond_gen_code, vcondu_gen_code, movmem_optab, setmem_optab)
(cmpstr_optab, cmpstrn_optab, cmpmem_optab, sync_add_optab)
(sync_sub_optab, sync_ior_optab, sync_and_optab, sync_xor_optab)
(sync_nand_optab, sync_old_add_optab, sync_old_sub_optab)
(sync_old_ior_optab, sync_old_and_optab, sync_old_xor_optab)
(sync_old_nand_optab, sync_new_add_optab, sync_new_sub_optab)
(sync_new_ior_optab, sync_new_and_optab, sync_new_xor_optab)
(sync_new_nand_optab): Redefine as macros.
(sync_compare_and_swap, sync_lock_test_and_set, sync_lock_release):
Delete.
(direct_optab_index): New enum.
(direct_optab_d): New structure.
(direct_optab): New typedef.
(direct_optab_table): Declare.
(direct_optab_handler, set_direct_optab_handler): New functions.
(sync_compare_and_swap_optab, sync_lock_test_and_set_optab)
(sync_lock_release_optab): New macros.
* optabs.c (direct_optab_table): New variable.
(movcc_gen_code, vcond_gen_code, vcondu_gen_code): Delete.
(prepare_cmp_insn): Use direct_optab_handler for cmpmem_optab,
cmpstr_optab and cmpstrn_optab.
(emit_conditional_move): Likewise for movcc_optab.
(can_conditionally_move_p): Likewise for movcc_gen_code.
(init_insn_codes): Clear direct_optab_table.
(init_optabs): Don't initialize the new "direct optabs" here.
(get_vcond_icode): Use direct_optab_handler for vcondu_gen_code and
vcond_gen_code.
(expand_val_compare_and_swap): Likewise sync_compare_and_swap_optab.
(expand_bool_compare_and_swap): Likewise sync_compare_and_swap_optab.
(expand_compare_and_swap_loop): Likewise sync_compare_and_swap_optab.
(expand_sync_operation): Likewise other sync_*_optabs.
(expand_sync_fetch_operation): Likewise.  Rename sync_compare_and_swap
to sync_compare_and_swap_optab.
(expand_sync_lock_test_and_set): Use direct_optab_handler for
sync_lock_test_and_set and sync_compare_and_swap, adding "_optab"
to the names of both.
* builtins.c (expand_builtin_strcmp): Use direct_optab_handler for
cmpstr_optab and cmpstrn_optab.
(expand_builtin_lock_release): Likewise sync_lock_release.
* expr.c (movmem_optab, setmem_optab, cmpstr_optab, cmpstrn_optab)
(cmpmem_optab, sync_add_optab, sync_sub_optab, sync_ior_optab)
(sync_and_optab, sync_xor_optab, sync_nand_optab, sync_old_add_optab)
(sync_old_sub_optab, sync_old_ior_optab, sync_old_and_optab)
(sync_old_xor_optab, sync_old_nand_optab, sync_new_add_optab)
(sync_new_sub_optab, sync_new_ior_optab, sync_new_and_optab)
(sync_new_xor_optab, sync_new_nand_optab, sync_compare_and_swap)
(sync_lock_test_and_set, sync_lock_release): Delete.
(emit_block_move_via_movmem): Use direct_optab_handler for movmem_optab.
(emit_block_move_via_setmem): Use direct_optab_handler for setmem_optab.
* genopinit.c (optabs): Use set_direct_optab_handler for the new
macro optabs.
* omp-low.c (expand_omp_atomic_fetch_op): Update the type of
the "optab" local variable.  Use direct_optab_handler for optab and
sync_compare_and_swap_optab.
* reload1.c (reload_in_optab, reload_out_optab): Delete.
* targhooks.c (default_secondary_reload): Use direct_optab_handler for
reload_in_optab and reload_out_optab.
* config/alpha/alpha.c (alpha_secondary_reload): Likewise.
* config/frv/frv.c (frv_alloc_temp_reg): Likewise.
* config/pa/pa.c (pa_secondary_reload): Likewise.
* java/builtins.c (compareAndSwapInt_builtin): Use direct_optab_handler
for sync_compare_and_swap, renaming it to sync_compare_and_swap_optab.
(compareAndSwapLong_builtin, compareAndSwapObject_builtin): Likewise.
(VMSupportsCS8_builtin): Likewise.

From-SVN: r161810

14 years agooptabs.h (optab_handlers): Change type of insn_code to int.
Richard Sandiford [Sun, 4 Jul 2010 22:14:02 +0000 (22:14 +0000)]
optabs.h (optab_handlers): Change type of insn_code to int.

gcc/
* optabs.h (optab_handlers): Change type of insn_code to int.
(optab_handler, set_optab_handler, convert_optab_handler)
(set_convert_optab_handler): Treat the insn_code field as "insn_code -
CODE_FOR_nothing".
* optabs.c (optab_table, convert_optab_table): Always zero-initialize.
(init_insn_codes): Zero both the above arrays.
(init_optabs): Never call init_insn_codes first time around.

From-SVN: r161809

14 years agooptabs.h (optab_handler, [...]): Turn into inline functions that return an insn code.
Richard Sandiford [Sun, 4 Jul 2010 22:13:09 +0000 (22:13 +0000)]
optabs.h (optab_handler, [...]): Turn into inline functions that return an insn code.

gcc/
* optabs.h (optab_handler, convert_optab_handler): Turn into
inline functions that return an insn code.
(set_optab_handler, set_convert_optab_handler): New functions.
* builtins.c: Replace optab_handler(X)->insn_code with
optab_handler or set_optab_handler thoughout.  Likewise
convert_optab_handler(X)->insn_code with convert_optab_handler
and set_convert_optab_handler.
* expmed.c, expr.c, genopinit.c, ifcvt.c, optabs.c, reload.c,
reload1.c, stmt.c, targhooks.c, tree-ssa-loop-prefetch.c,
tree-ssa-math-opts.c, tree-vect-data-refs.c, tree-vect-generic.c,
tree-vect-loop.c, tree-vect-patterns.c, tree-vect-slp.c,
tree-vect-stmts.c, config/m32c/m32c.c, config/rs6000/rs6000.c,
config/spu/spu.c: Likewise.

From-SVN: r161808

14 years agore PR target/44531 ([SH] Multilib configuration does not work as expected on darwin)
Kaz Kojima [Sun, 4 Jul 2010 22:07:29 +0000 (22:07 +0000)]
re PR target/44531 ([SH] Multilib configuration does not work as expected on darwin)

PR target/44531
* config.gcc (sh*-*-*): Use regular expressions instead of
the 'i' modifier for sed substitutions.

From-SVN: r161807

14 years agogfc-internals.texi (gfc_code): Document BLOCK and ASSOCIATE.
Daniel Kraft [Sun, 4 Jul 2010 18:59:10 +0000 (20:59 +0200)]
gfc-internals.texi (gfc_code): Document BLOCK and ASSOCIATE.

2010-07-04  Daniel Kraft  <d@domob.eu>

* gfc-internals.texi (gfc_code): Document BLOCK and ASSOCIATE.

From-SVN: r161806

14 years agore PR c++/16630 (missing type name in __PRETTY_FUNCTION__)
Manuel López-Ibáñez [Sun, 4 Jul 2010 18:16:59 +0000 (18:16 +0000)]
re PR c++/16630 (missing type name in __PRETTY_FUNCTION__)

2010-07-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c++/16630
* g++.dg/ext/pretty3.C: New.

From-SVN: r161805

14 years agogimple.c (gimple_body): Comments added.
Jeremie Salvucci [Sun, 4 Jul 2010 17:59:18 +0000 (19:59 +0200)]
gimple.c (gimple_body): Comments added.

2010-07-04  Jeremie Salvucci  <jeremie.salvucci@free.fr>

* gimple.c (gimple_body): Comments added.

From-SVN: r161804

14 years agore PR middle-end/44809 (Mozilla build fails in gimplification.)
Richard Guenther [Sun, 4 Jul 2010 16:55:40 +0000 (16:55 +0000)]
re PR middle-end/44809 (Mozilla build fails in gimplification.)

2010-07-04  Richard Guenther  <rguenther@suse.de>

PR middle-end/44809
* gimplify.c (gimplify_expr): Properly build a MEM_REF instead
of an INDIRECT_REF.

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

From-SVN: r161803

14 years agore PR rtl-optimization/44479 (false dependencies are computed after vectorization)
Richard Guenther [Sun, 4 Jul 2010 16:08:21 +0000 (16:08 +0000)]
re PR rtl-optimization/44479 (false dependencies are computed after vectorization)

2010-07-04  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/44479
* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Avoid
extra SSA name copy statements which preserves points-to
information.
* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
Copy points-to information for all pointers.  Properly handle
MEM_REFs.
(vect_create_data_ref_ptr): Likewise.  Avoid extra SSA name
copy statements.
* Makefile.in (tree-ssa-loop-ivopts.o): Add tree-ssa-propagate.h
dependency.

From-SVN: r161802

14 years agore PR fortran/44596 ([OOP] Dynamic dispatch uses broken types)
Paul Thomas [Sun, 4 Jul 2010 14:40:34 +0000 (14:40 +0000)]
re PR fortran/44596 ([OOP] Dynamic dispatch uses broken types)

2010-07-04  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/44596
PR fortran/44745
* trans-types.c (gfc_get_derived_type): Derived type fields
with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set.

From-SVN: r161801

14 years agore PR middle-end/44785 (Invalid memory access in gfortran.dg/extends_3.f03)
Richard Guenther [Sun, 4 Jul 2010 12:20:14 +0000 (12:20 +0000)]
re PR middle-end/44785 (Invalid memory access in gfortran.dg/extends_3.f03)

2010-07-04  Richard Guenther  <rguenther@suse.de>

PR middle-end/44785
* tree-inline.c (initialize_inlined_parameters): Do not
re-use pointer-map slot over remap_type call.

From-SVN: r161800

14 years ago2010-07-4 Richard Guenther <rguenther@suse.de>
Richard Guenther [Sun, 4 Jul 2010 11:38:01 +0000 (11:38 +0000)]
2010-07-4  Richard Guenther  <rguenther@suse.de>

* tree-ssa-sccvn.c (vn_reference_lookup_3): Fix last commit.

From-SVN: r161799

14 years agore PR tree-optimization/44656 (VN should value-replace operands during alias-oracle...
Richard Guenther [Sun, 4 Jul 2010 10:52:43 +0000 (10:52 +0000)]
re PR tree-optimization/44656 (VN should value-replace operands during alias-oracle walk)

2010-07-04  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/44656
* tree-ssa-sccvn.c (vn_reference_lookup_3): Try disambiguation
again after value-replacing in the defintions lhs.

* gcc.dg/tree-ssa/loadpre6.c: Remove XFAIL.

From-SVN: r161798

14 years agotm.texi.in (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document new arguments.
Ira Rosen [Sun, 4 Jul 2010 08:54:52 +0000 (08:54 +0000)]
tm.texi.in (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document new arguments.

* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST):
Document new arguments.
* doc/tm.texi: Regenerate.
* targhooks.c (default_builtin_vectorization_cost): Add new arguments.
Handle unaligned store.
* targhooks.h (default_builtin_vectorization_cost): Add new arguments.
* target.def (builtin_vectorization_cost): Add new arguments.
* target.h (enum vect_cost_for_stmt): Add unaligned_store.
* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Take number
of iterations of prolog loop directly from LOOP_PEELING_FOR_ALIGNMENT.
(vect_vfa_segment_size): Fix indentation.
* tree-vectorizer.h (struct _vect_peel_info): New.
(struct _vect_peel_extended_info): New.
(struct _loop_vec_info): Add new field for peeling hash table and a
macro for its access.
(VECT_MAX_COST): Define.
(vect_get_load_cost): Declare.
(vect_get_store_cost, vect_get_known_peeling_cost,
vect_get_single_scalar_iteraion_cost): Likewise.
(vect_supportable_dr_alignment): Add new argument.
* tree-vect-loop.c (new_loop_vec_info): Initialize peeling hash table
field.
(destroy_loop_vec_info): Free peeling hash table.
(vect_analyze_loop_form): Update call to builtin_vectorization_cost.
(vect_analyze_loop): Move vect_enhance_data_refs_alignment before
vect_analyze_slp. Fix indentation.
(vect_get_single_scalar_iteraion_cost): New function.
(vect_get_known_peeling_cost): Likewise.
(vect_estimate_min_profitable_iters): Rename byte_misalign to npeel.
Call vect_get_single_scalar_iteraion_cost instead of cost_for_stmt per
statement. Move outside cost calculation inside unknown peeling case.
Call vect_get_known_peeling_cost for known amount of peeling.
* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Add data
reference to the print message of forced alignment.
(vect_verify_datarefs_alignment): Update call to
vect_supportable_dr_alignment.
(vect_get_data_access_cost): New function.
(vect_peeling_hash, vect_peeling_hash_eq, vect_peeling_hash_insert,
vect_peeling_hash_get_most_frequent, vect_peeling_hash_get_lowest_cost,
vect_peeling_hash_choose_best_peeling): Likewise.
(vect_enhance_data_refs_alignment): Fix documentation. Use hash table
to store all the accesses in the loop and find best possible access to
align using peeling for known alignment case. For unknown alignment
check if stores are preferred or if peeling is worthy.
(vect_find_same_alignment_drs): Analyze pairs of loads too.
(vect_supportable_dr_alignment): Add new argument and check aligned
accesses according to it.
* tree-vect-stmts.c (vect_get_stmt_cost): New function.
(cost_for_stmt): Call vect_get_stmt_cost.
(vect_model_simple_cost): Likewise.
(vect_model_store_cost): Call vect_get_stmt_cost. Call
vect_get_store_cost to calculate the cost of the statement.
(vect_get_store_cost): New function.
(vect_model_load_cost): Call vect_get_stmt_cost. Call
vect_get_load_cost to calculate the cost of the statement.
(vect_get_load_cost): New function.
(vectorizable_store): Update call to vect_supportable_dr_alignment.
(vectorizable_load): Likewise.
* config/spu/spu.c (spu_builtin_vectorization_cost): Add new
arguments.
* config/i386/i386.c (ix86_builtin_vectorization_cost): Add new
arguments. Handle unaligned store.
* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): New.
(rs6000_builtin_support_vector_misalignment): Return true for word and
double word alignments for VSX.
* tree-vect-slp.c (vect_build_slp_tree): Update calls to
vect_supportable_dr_alignment and builtin_vectorization_cost.

Co-Authored-By: Revital Eres <eres@il.ibm.com>
From-SVN: r161797

14 years agoDaily bump.
GCC Administrator [Sun, 4 Jul 2010 00:17:09 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r161795

14 years agoAdd a testcase for PR 44806.
H.J. Lu [Sat, 3 Jul 2010 22:44:32 +0000 (22:44 +0000)]
Add a testcase for PR 44806.

2010-07-03  H.J. Lu  <hongjiu.lu@intel.com>

PR c/44806
* gcc.dg/torture/pr44806.c: New.

From-SVN: r161787

14 years agore PR target/44597 (FAIL: gcc.c-torture/execute/builtin-prefetch-2.c compilation...
John David Anglin [Sat, 3 Jul 2010 22:43:47 +0000 (22:43 +0000)]
re PR target/44597 (FAIL: gcc.c-torture/execute/builtin-prefetch-2.c compilation, ICE)

PR target/44597
* config/pa/predicates.md (prefetch_cc_operand): Remove.
(prefetch_nocc_operand): Likewise.
* config/pa/pa.md (prefetch): Revise expander to use prefetch_20.
(prefetch_20): New insn.
(prefetch_cc): Remove.
(prefetch_nocc): Likewise.

From-SVN: r161786

14 years agoc-common.c (IN_GCC_FRONTEND): Do not undef.
Manuel López-Ibáñez [Sat, 3 Jul 2010 21:17:46 +0000 (21:17 +0000)]
c-common.c (IN_GCC_FRONTEND): Do not undef.

2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
Do not include expr.h
(vector_mode_valid_p): Move here.
* expr.c (vector_mode_valid_p): Move to c-common.c.
* expr.h (vector_mode_valid_p): Do not declare here.
* system.h: Poison GCC_EXPR_H in front-ends.
* Makefile.in: Update dependencies.

From-SVN: r161785

14 years agore PR target/44705 (FAIL: gcc.dg/pr44674.c (internal compiler error))
John David Anglin [Sat, 3 Jul 2010 20:28:44 +0000 (20:28 +0000)]
re PR target/44705 (FAIL: gcc.dg/pr44674.c (internal compiler error))

PR target/44705
* config/pa/pa.h (GO_IF_LEGITIMATE_ADDRESS): Reject LABEL_REF.

From-SVN: r161781

14 years agoMove c-family/* ChangeLog entries to their proper place.
Steven Bosscher [Sat, 3 Jul 2010 20:09:45 +0000 (20:09 +0000)]
Move c-family/* ChangeLog entries to their proper place.

From-SVN: r161780

14 years agotimevar.def (TV_OUT_OF_SSA, [...]): New timevars.
Jan Hubicka [Sat, 3 Jul 2010 19:34:30 +0000 (21:34 +0200)]
timevar.def (TV_OUT_OF_SSA, [...]): New timevars.

* timevar.def (TV_OUT_OF_SSA, TV_VAR_EXPAND, TV_POST_EXPAND,
TV_VAR_TRACKING_DATAFLOW, TV_VAR_TRACKING_EMIT): New timevars.
* cfgexpand.c (gimple_expand_cfg): Use new timevars.
* var-tracking.c (vt_find_locations, variable_tracking_main_1):
Likewise.

* lto-stramer-out.c (pass_ipa_lto_gimple_out, pass_ipa_lto_finish_out):
Update timevars.V
* timevar.def (TV_IPA_LTO_GIMPLE_IO, TV_IPA_LTO_DECL_IO): Remove.
(TV_IPA_LTO_GIMPLE_IN, TV_IPA_LTO_GIMPLE_OUT, TV_IPA_LTO_DECL_IN,
TV_IPA_LTO_DECL_OUT): New.
* lto.c (read_cgraph_and_symbols, materialize_cgraph): Update timevars.

From-SVN: r161779

14 years agoipa-inline.c (update_edge_key): Break out from ...
Jan Hubicka [Sat, 3 Jul 2010 19:33:14 +0000 (21:33 +0200)]
ipa-inline.c (update_edge_key): Break out from ...

* ipa-inline.c (update_edge_key): Break out from ...
update_callers_keys): ... here;
(update_callee_keys): Update only the edges from caller to callee.
(update_all_calle_keys): Do what update_calle_keys did.
(decide_inlining_of_small_functions): Avoid recomputing of all
callees when badness increase.

From-SVN: r161778

14 years agore PR objc/24867 (many N^2 loops in objc frontend)
Nathan Froyd [Sat, 3 Jul 2010 19:00:52 +0000 (19:00 +0000)]
re PR objc/24867 (many N^2 loops in objc frontend)

PR objc/24867
* objc-act.c (build_sized_array_type): New function.
(add_objc_string): Use it.
(generate_protocol_list): Likewise.
(generate_objc_image_info): Likewise.
(add_field_decl): New function.
(objc_build_struct): Use a VEC rather than building a TREE_LIST.
(generate_struct_by_value_array): Use add_field_decl.
(build_objc_symtab_template): Likewise.
(build_module_descriptor): Likewise.
(build_objc_exception_stuff): Likewise.
(build_protocol_template): Likewise.
(build_method_prototype_list_template): Likewise.
(build_method_prototype_template): Likewise.
(build_category_template): Likewise.
(build_selector_template): Likewise.
(build_class_template): Likewise.
(build_super_template): Likewise.
(build_ivar_template): Likewise.
(build_ivar_list_template): Likewise.
(build_method_list_template): Likewise.
(build_method_template): Likewise.

From-SVN: r161777

14 years agoarm.c (arm_attr_length_move_neon): New.
Jie Zhang [Sat, 3 Jul 2010 16:49:05 +0000 (16:49 +0000)]
arm.c (arm_attr_length_move_neon): New.

* config/arm/arm.c (arm_attr_length_move_neon): New.
* config/arm/arm-protos.h (arm_attr_length_move_neon): Declare.
* config/arm/neon.md (define_mode_attr V_slen): Remove.
(neon_mov<mode> for VSTRUCT): Use arm_attr_length_move_neon
to compute length attribute.

From-SVN: r161776

14 years agovfp.md (*push_multi_vfp): Use vfp_register_operand as predicate for operand 1 and...
Jie Zhang [Sat, 3 Jul 2010 16:35:02 +0000 (16:35 +0000)]
vfp.md (*push_multi_vfp): Use vfp_register_operand as predicate for operand 1 and remove its constraint.

* config/arm/vfp.md (*push_multi_vfp): Use vfp_register_operand
as predicate for operand 1 and remove its constraint.
* config/arm/predicates.md (vfp_register_operand): New.
* config/arm/arm.md (*push_multi): Remove the constraint of
operand 1.
(*push_fp_multi): Likewise.

From-SVN: r161775

14 years ago* gimplify.c (mostly_copy_tree_r): Deal with BIND_EXPR.
Eric Botcazou [Sat, 3 Jul 2010 13:14:48 +0000 (13:14 +0000)]
* gimplify.c (mostly_copy_tree_r): Deal with BIND_EXPR.

From-SVN: r161774

14 years agoregex_compiler.h: Fix filename in doxygen comment.
Jonathan Wakely [Sat, 3 Jul 2010 12:35:03 +0000 (12:35 +0000)]
regex_compiler.h: Fix filename in doxygen comment.

2010-07-03  Jonathan Wakely  <jwakely.gcc@gmail.com>

* include/bits/regex_compiler.h: Fix filename in doxygen comment.
* include/bits/regex_constants.h: Likewise.
* include/bits/regex_error.h: Likewise.
* include/bits/regex_grep_matcher.h: Likewise.
* include/bits/regex_grep_matcher.tcc: Likewise.
* include/bits/regex_nfa.tcc: Likewise.

From-SVN: r161773

14 years ago* config/i386/i386.c (override_options): Revert accidental commit.
Jan Hubicka [Sat, 3 Jul 2010 11:55:30 +0000 (13:55 +0200)]
* config/i386/i386.c (override_options): Revert accidental commit.

From-SVN: r161772

14 years agoAdd missing e-mail address.
Kai Tietz [Sat, 3 Jul 2010 10:30:52 +0000 (12:30 +0200)]
Add missing e-mail address.

From-SVN: r161771

14 years agodecl.c (gnat_to_gnu_entity): Branch to common code handling the alignment of discrete...
Eric Botcazou [Sat, 3 Jul 2010 09:54:13 +0000 (09:54 +0000)]
decl.c (gnat_to_gnu_entity): Branch to common code handling the alignment of discrete types.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
Branch to common code handling the alignment of discrete types.
<E_Signed_Integer_Type>: Likewise.
<E_Modular_Integer_Type>: Likewise.

From-SVN: r161770

14 years agore PR testsuite/44518 (objc++ encode-2.mm and encode-3.mm fail on several platforms)
Iain Sandoe [Sat, 3 Jul 2010 08:15:59 +0000 (08:15 +0000)]
re PR testsuite/44518 (objc++ encode-2.mm and encode-3.mm fail on several platforms)

2010-07-03  Iain Sandoe  <iains@gcc.gnu.org>
    Mikael Pettersson  <mikpe@it.uu.se>

        PR testsuite/44518
* obj-c++.dg/encode-2.mm: Produce object and save temps.
Make signed-ness of chars explicit.  Scan the object for
strings that are split by some target assemblers.
* obj-c++.dg/encode-3.mm: Make the signed-ness of chars
explicit.

Co-Authored-By: Mikael Pettersson <mikpe@it.uu.se>
From-SVN: r161769

14 years agoFix long lines
Eric Botcazou [Sat, 3 Jul 2010 06:23:09 +0000 (06:23 +0000)]
Fix long lines

From-SVN: r161768

14 years ago* gfortran.dg/char_bounds_check_fail_1.f90: Correct dg-output string.
Hans-Peter Nilsson [Sat, 3 Jul 2010 06:07:59 +0000 (06:07 +0000)]
* gfortran.dg/char_bounds_check_fail_1.f90: Correct dg-output string.

From-SVN: r161767

14 years agoinvoke.texi: Update documentation of -Wshadow.
Le-Chun Wu [Sat, 3 Jul 2010 01:10:06 +0000 (01:10 +0000)]
invoke.texi: Update documentation of -Wshadow.

       PR/44128
       * gcc/doc/invoke.texi: Update documentation of -Wshadow.
       * gcc/cp/name-lookup.c (pushdecl_maybe_friend): Warn when a local
       decl (variable or type) shadows another type.
       * gcc/testsuite/g++.dg/warn/Wshadow-7.C: New test.

From-SVN: r161765

14 years agoarm.c (arm_canonicalize_comparison): Canonicalize DImode comparisons.
Daniel Jacobowitz [Sat, 3 Jul 2010 01:00:37 +0000 (01:00 +0000)]
arm.c (arm_canonicalize_comparison): Canonicalize DImode comparisons.

2010-07-02  Daniel Jacobowitz  <dan@codesourcery.com>
    Julian Brown  <julian@codesourcery.com>
    Sandra Loosemore <sandra@codesourcery.com>

gcc/
* config/arm/arm.c (arm_canonicalize_comparison): Canonicalize DImode
comparisons.  Adjust to take both operands.
(arm_select_cc_mode): Handle DImode comparisons.
(arm_gen_compare_reg): Generate a scratch register for DImode
comparisons which require one.  Use xor for Thumb equality checks.
(arm_const_double_by_immediates): New.
(arm_print_operand): Allow 'Q' and 'R' for constants.
(get_arm_condition_code): Handle new CC_CZmode and CC_NCVmode.
* config/arm/arm.h (CANONICALIZE_COMPARISON): Always use
arm_canonicalize_comparison.
* config/arm/arm-modes.def: Add CC_CZmode and CC_NCVmode.
* config/arm/arm-protos.h (arm_canonicalize_comparison): Update
prototype.
(arm_const_double_by_immediates): Declare.
* config/arm/constraints.md (Di): New constraint.
* config/arm/predicates.md (arm_immediate_di_operand)
(arm_di_operand, cmpdi_operand): New.
* config/arm/arm.md (cbranchdi4): Handle non-Cirrus also.
(*arm_cmpdi_insn, *arm_cmpdi_unsigned)
(*arm_cmpdi_zero, *thumb_cmpdi_zero): New insns.
(cstoredi4): Handle non-Cirrus also.

gcc/testsuite/
* gcc.c-torture/execute/20100416-1.c: New test case.

Co-Authored-By: Julian Brown <julian@codesourcery.com>
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r161764

14 years agore PR target/43703 (Unexpected floating point precision loss due to ARM NEON autovect...
Julian Brown [Sat, 3 Jul 2010 00:46:51 +0000 (00:46 +0000)]
re PR target/43703 (Unexpected floating point precision loss due to ARM NEON autovectorization)

2010-07-02  Julian Brown  <julian@codesourcery.com>
    Sandra Loosemore <sandra@codesourcery.com>

PR target/43703

gcc/
* config/arm/vec-common.md (add<mode>3, sub<mode>3, smin<mode>3)
(smax<mode>3): Disable for NEON float modes when
flag_unsafe_math_optimizations is false.
* config/arm/neon.md (*add<mode>3_neon, *sub<mode>3_neon)
(*mul<mode>3_neon)
(mul<mode>3add<mode>_neon, mul<mode>3neg<mode>add<mode>_neon)
(reduc_splus_<mode>, reduc_smin_<mode>, reduc_smax_<mode>): Disable
for NEON float modes when flag_unsafe_math_optimizations is false.
(quad_halves_<code>v4sf): Only enable if flag_unsafe_math_optimizations
is true.
* doc/invoke.texi (ARM Options): Add note about floating point
vectorization requiring -funsafe-math-optimizations.

gcc/testsuite/
* gcc.dg/vect/vect.exp: Add -ffast-math for NEON.
* gcc.dg/vect/vect-reduc-6.c: Add XFAIL for NEON.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r161763

14 years agoneon.md (UNSPEC_VABA): Delete.
Sandra Loosemore [Sat, 3 Jul 2010 00:31:43 +0000 (20:31 -0400)]
neon.md (UNSPEC_VABA): Delete.

2010-07-02  Sandra Loosemore  <sandra@codesourcery.com>
    Julian Brown  <julian@codesourcery.com>

gcc/
* config/arm/neon.md (UNSPEC_VABA): Delete.
(UNSPEC_VABAL): Delete.
(UNSPEC_VABS): Delete.
(UNSPEC_VMUL_N): Delete.
(adddi3_neon): New.
(subdi3_neon): New.
(mul<mode>3add<mode>_neon): Make the pattern named.
(mul<mode>3neg<mode>add<mode>_neon): Likewise.
(neon_vadd<mode>): Replace with define_expand, and move the remaining
unspec parts...
(neon_vadd<mode>_unspec): ...to this.
(neon_vmla<mode>, neon_vmla<mode>_unspec): Likewise.
(neon_vlms<mode>, neon_vmls<mode>_unspec): Likewise.
(neon_vsub<mode>, neon_vsub<mode>_unspec): Likewise.
(neon_vaba<mode>): Rewrite in terms of vabd.
(neon_vabal<mode>): Rewrite in terms of vabdl.
(neon_vabs<mode>): Rewrite without unspec.
* config/arm/arm.md (*arm_adddi3): Disable for TARGET_NEON.
(*arm_subdi3): Likewise.
* config/arm/neon.ml (Vadd, Vsub): Split out 64-bit variants and add
No_op attribute to disable assembly output checks.
* config/arm/arm_neon.h: Regenerated.
* doc/arm-neon-intrinsics.texi: Regenerated.

gcc/testsuite/
* gcc.target/arm/neon/vadds64.c: Regenerated.
* gcc.target/arm/neon/vaddu64.c: Regenerated.
* gcc.target/arm/neon/vsubs64.c: Regenerated.
* gcc.target/arm/neon/vsubu64.c: Regenerated.
* gcc.target/arm/neon-vmla-1.c: Add -ffast-math to options.
* gcc.target/arm/neon-vmls-1.c: Likewise.
* gcc.target/arm/neon-vsubs64.c: New execution test.
* gcc.target/arm/neon-vsubu64.c: New execution test.
* gcc.target/arm/neon-vadds64.c: New execution test.
* gcc.target/arm/neon-vaddu64.c: New execution test.

Co-Authored-By: Julian Brown <julian@codesourcery.com>
From-SVN: r161762

14 years agoDaily bump.
GCC Administrator [Sat, 3 Jul 2010 00:18:48 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r161760

14 years agoipa-split.c (split_function): For aggregate values set return_slot_opt...
Jan Hubicka [Fri, 2 Jul 2010 23:38:19 +0000 (01:38 +0200)]
ipa-split.c (split_function): For aggregate values set return_slot_opt...

* ipa-split.c (split_function): For aggregate values set return_slot_opt;
when passing DECL_BY_REFERENCE produce *<retval> = fncall.part ()
(execute_split_functions): Do not care about DECL_BY_REFERENCE.

From-SVN: r161756

14 years agoneon.md (UNSPEC_VAND): Delete.
Sandra Loosemore [Fri, 2 Jul 2010 23:16:35 +0000 (19:16 -0400)]
neon.md (UNSPEC_VAND): Delete.

2010-07-02  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/arm/neon.md (UNSPEC_VAND): Delete.
(UNSPEC_VBIC): Delete.
(UNSPEC_VCLZ): Delete.
(UNSPEC_VCNT): Delete.
(UNSPEC_VEOR): Delete.
(UNSPEC_VORN): Delete.
(UNSPEC_VORR): Delete.
(iordi3_neon): Rewrite RTL without unspec.  Add alternatives to handle
core registers too.
(anddi3_neon): Likewise.
(orndi3_neon): Likewise.
(bicdi3_neon): Likewise.
(xordi3_neon): Likewise.
(neon_vclz<mode>): Rewrite as define_expand and clz<mode>2 to get
rid of unspec and handle unused operand.
(neon_vcnt<mode>): Similarly, with popcount<mode>2.
* config/arm/predicates.md (imm_for_neon_logic_operand):
Require TARGET_NEON.
(imm_for_neon_inv_logic_operand): Likewise.
* config/arm/arm.md (define_split for logical_binary_operator):
Disable for NEON registers.
(anddi3): Add new define_expand, and rename the insn.  Disable
this insn for NEON, where anddi3_neon now applies.
(*anddi_notdi_di): Disable for TARGET_NEON, where bicdi3_neon applies.
(iordi3): As for anddi3.
(xordi3): Likewise.
* config/arm/neon.ml (Vand): Split DImode variants and mark them
as No_op to disable testing for exact instruction match.
(Vorr): Likewise.
(Veor): Likewise.
(Vbic): Likewise.
(Vorn): Likewise.
* config/arm/arm_neon.h: Regenerated.
* doc/arm-neon-intrinsics.texi: Regenerated.

gcc/testsuite/
* gcc.target/arm/neon-vands64.c: New.
* gcc.target/arm/neon-vandu64.c: New.
* gcc.target/arm/neon-vbics64.c: New.
* gcc.target/arm/neon-vbicu64.c: New.
* gcc.target/arm/neon-veors64.c: New.
* gcc.target/arm/neon-veoru64.c: New.
* gcc.target/arm/neon-vorns64.c: New.
* gcc.target/arm/neon-vornu64.c: New.
* gcc.target/arm/neon-vorrs64.c: New.
* gcc.target/arm/neon-vorru64.c: New.
* gcc.target/arm/neon/vands64.c: Regenerated.
* gcc.target/arm/neon/vandu64.c: Regenerated.
* gcc.target/arm/neon/vbics64.c: Regenerated.
* gcc.target/arm/neon/vbicu64.c: Regenerated.
* gcc.target/arm/neon/veors64.c: Regenerated.
* gcc.target/arm/neon/veoru64.c: Regenerated.
* gcc.target/arm/neon/vorns64.c: Regenerated.
* gcc.target/arm/neon/vornu64.c: Regenerated.
* gcc.target/arm/neon/vorrs64.c: Regenerated.
* gcc.target/arm/neon/vorru64.c: Regenerated.

From-SVN: r161755

14 years agoMinor fixes
Eric Botcazou [Fri, 2 Jul 2010 21:38:40 +0000 (21:38 +0000)]
Minor fixes

From-SVN: r161751

14 years agoexpr.h (emit_stack_probe): Declare.
Eric Botcazou [Fri, 2 Jul 2010 21:25:28 +0000 (21:25 +0000)]
expr.h (emit_stack_probe): Declare.

* expr.h (emit_stack_probe): Declare.
* explow.c (emit_stack_probe): Make global.
(anti_adjust_stack_and_probe): Fix comments.
* config/sparc/linux.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
* config/sparc/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/sparc/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/sparc/sparc.c: Include except.h.
(sparc_emit_probe_stack_range): New function.
(output_probe_stack_range): Likewise.
(sparc_expand_prologue): Invoke sparc_emit_probe_stack_range if static
built-in stack checking is enabled.
* config/sparc/sparc-protos.h (output_probe_stack_range): Declare.
* config/sparc/sparc.md (UNSPECV_PROBE_STACK_RANGE): New constant.
(probe_stack_range): New insn.

From-SVN: r161749

14 years agoruntime_warning_1.f90: Remove extra dg line.
Jerry DeLisle [Fri, 2 Jul 2010 20:57:08 +0000 (20:57 +0000)]
runtime_warning_1.f90: Remove extra dg line.

2010-07-02  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* gfortran.dg/runtime_warning_1.f90: Remove extra dg line.

From-SVN: r161747

14 years agore PR target/43958 (FAIL: gcc.dg/ipa/ipa-pta-10.c scan-ipa-dump pta "ESCAPED = { }")
Richard Guenther [Fri, 2 Jul 2010 20:51:58 +0000 (20:51 +0000)]
re PR target/43958 (FAIL: gcc.dg/ipa/ipa-pta-10.c scan-ipa-dump pta "ESCAPED = { }")

PR target/43958
* config/pa/pa.c (hppa_gimplify_va_arg_expr): Use pointer arithmetic
for argument alignment.

From-SVN: r161746

14 years agoruntime_warning_1.f90: Fix dg syntax.
Jerry DeLisle [Fri, 2 Jul 2010 20:51:50 +0000 (20:51 +0000)]
runtime_warning_1.f90: Fix dg syntax.

2010-07-02  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* gfortran.dg/runtime_warning_1.f90: Fix dg syntax.
* gfortran.dg/intent_out_5.f90: Same.
* gfortran.dg/ltrans-7.f90: Same.
* gfortran.dg/char_bounds_check_fail_1.f90: Same.

From-SVN: r161745

14 years agoipa-split.c (verify_non_ssa_vars): Break out from ......
Jan Hubicka [Fri, 2 Jul 2010 20:45:00 +0000 (22:45 +0200)]
ipa-split.c (verify_non_ssa_vars): Break out from ......

* ipa-split.c (verify_non_ssa_vars): Break out from ...; perform DFS walk
backwards from entry_bb to check only those basic block of header
that might lead to execution of split part.
(consider_split) ... here.
(find_return_bb): Allow assignment in return BB.
(find_retval): New.
(split_function): Fix name of cloned function; take care of updating return
value in return_bb containing move.

* gcc.dg/tree-ssa/ipa-split-5.c: New function.

From-SVN: r161744

14 years agoObject1.h: Correct Line endings.
Iain Sandoe [Fri, 2 Jul 2010 20:34:27 +0000 (20:34 +0000)]
Object1.h: Correct Line endings.

* objc-obj-c++-shared/Object1.h: Correct Line endings.

From-SVN: r161743

14 years agore PR c++/44780 (Bogus set-but-not-used variable warning)
Jakub Jelinek [Fri, 2 Jul 2010 20:22:32 +0000 (22:22 +0200)]
re PR c++/44780 (Bogus set-but-not-used variable warning)

PR c++/44780
* typeck.c (convert_for_assignment): When converting a convertible
vector type or objc++ types, call mark_rvalue_use.
* typeck2.c (build_m_component_ref): Use return values from
mark_rvalue_use or mark_lvalue_use.
* class.c (build_base_path): Likewise.
* call.c (build_conditional_expr): Likewise.

* c-c++-common/Wunused-var-12.c: New test.

From-SVN: r161742

14 years agore PR target/44771 (m68k_expand_prologue: variable set but not used)
Andreas Schwab [Fri, 2 Jul 2010 20:15:59 +0000 (20:15 +0000)]
re PR target/44771 (m68k_expand_prologue: variable set but not used)

PR target/44771
* config/m68k/m68k.c (m68k_expand_prologue): Remove set but not
used variable insn.

From-SVN: r161741

14 years agore PR fortran/44662 (unitialized memory on testcases abstract_type_6.f03 and typeboun...
Mikael Morin [Fri, 2 Jul 2010 20:01:05 +0000 (20:01 +0000)]
re PR fortran/44662 (unitialized memory on testcases abstract_type_6.f03 and typebound_call_4.f03)

2010-07-02  Mikael Morin  <mikael@gcc.gnu.org>

PR fortran/44662
* decl.c (match_procedure_in_type): Clear structure before using.
(gfc_match_generic): Ditto.

From-SVN: r161739

14 years agotrans-types.h (gfc_add_field_to_struct): Add tree ** parameter.
Nathan Froyd [Fri, 2 Jul 2010 19:53:24 +0000 (19:53 +0000)]
trans-types.h (gfc_add_field_to_struct): Add tree ** parameter.

* trans-types.h (gfc_add_field_to_struct): Add tree ** parameter.
* trans-types.c (gfc_add_field_to_struct_1): New function, most
of which comes from...
(gfc_add_field_to_struct): ...here.  Call it.  Add new parameter.
(gfc_get_desc_dim_type): Call gfc_add_field_to_struct_1 for
building fields.
(gfc_get_array_descriptor_base): Likewise.
(gfc_get_mixed_entry_union): Likewise.
(gfc_get_derived_type): Add extra chain parameter for
gfc_add_field_to_struct.
* trans-stmt.c (gfc_trans_character_select): Likewise.
* trans-io.c (gfc_build_st_parameter): Likewise.

From-SVN: r161738

14 years agoimplicit-zee.c (combine_reaching_defs): Fix long lines.
Eric Botcazou [Fri, 2 Jul 2010 19:25:30 +0000 (19:25 +0000)]
implicit-zee.c (combine_reaching_defs): Fix long lines.

* implicit-zee.c (combine_reaching_defs): Fix long lines.
(is_set_with_extension_DI): Delete.
(struct zero_extend_info): New structure.
(add_removable_zero_extend ): New function.
(find_removable_zero_extends): Use note_stores to find SETs.
(find_and_remove_ze): Fix long line, remove superfluous parentheses.

From-SVN: r161736

14 years agore PR libfortran/43298 (fortran library does not read in NaN -Inf or Inf)
Tobias Burnus [Fri, 2 Jul 2010 19:07:30 +0000 (21:07 +0200)]
re PR libfortran/43298 (fortran library does not read in NaN -Inf or Inf)

2010-06-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43298
        * list_read.c (parse_real): Do not pass (..) on for NAN(..).
        * read.c (convert_real): Fix comment about NAN/INF.

From-SVN: r161735

14 years agoMakefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
Jakub Jelinek [Fri, 2 Jul 2010 16:52:38 +0000 (18:52 +0200)]
Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.

* Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
* Makefile.in: Regenerated.

From-SVN: r161731

14 years agoScript to check patches violating the GNU style.
Sebastian Pop [Fri, 2 Jul 2010 16:34:55 +0000 (16:34 +0000)]
Script to check patches violating the GNU style.

2010-07-02  Sebastian Pop  <sebastian.pop@amd.com>

* check_GNU_style.sh: New.

From-SVN: r161729

14 years agoReduce the cost in miss rate computation.
Changpeng Fang [Fri, 2 Jul 2010 16:34:38 +0000 (16:34 +0000)]
Reduce the cost in miss rate computation.

2010-07-02  Changpeng Fang  <changpeng.fang@amd.com>

* tree-ssa-loop-prefetch.c (compute_miss_rate): Rename to
is_miss_rate_acceptable. Pull total_positions computation
out of the loops.  Early return if miss_positions exceeds
the acceptable threshold.
* tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Call
is_miss_rate_acceptable after renaming of compute_miss_rate.

From-SVN: r161728

14 years agoPR 44576: miss rate computation improvement for prefetching loop arrays.
Changpeng Fang [Fri, 2 Jul 2010 16:34:29 +0000 (16:34 +0000)]
PR 44576: miss rate computation improvement for prefetching loop arrays.

2010-07-02  Changpeng Fang  <changpeng.fang@amd.com>

PR middle-end/44576
* tree-ssa-loop-prefetch.c (compute_miss_rate): Return 1000 (out
of 1000) for miss rate if the address diference is greater than or
equal to the cache line size (the two reference will never hit the
same cache line).

From-SVN: r161727

14 years agore PR tree-optimization/42172 (inefficient bit fields assignments)
Bernd Schmidt [Fri, 2 Jul 2010 16:25:59 +0000 (16:25 +0000)]
re PR tree-optimization/42172 (inefficient bit fields assignments)

PR target/42172
* config/arm/arm.c (thumb1_rtx_costs): Improve support for SIGN_EXTEND
and ZERO_EXTEND.
(arm_rtx_costs_1): Likewise.
(arm_size_rtx_costs): Use arm_rtx_costs_1 for these codes.
* config/arm/arm.md (is_arch6): New attribute.
(zero_extendhisi2, zero_extendqisi2, extendhisi2,
extendqisi2): Tighten the code somewhat, avoiding invalid
RTL to occur in the expander patterns.
(thumb1_zero_extendhisi2): Merge with thumb1_zero_extendhisi2_v6.
(thumb1_zero_extendhisi2_v6): Delete.
(thumb1_extendhisi2): Merge with thumb1_extendhisi2_v6.
(thumb1_extendhisi2_v6): Delete.
(thumb1_extendqisi2): Merge with thumb1_extendhisi2_v6.
(thumb1_extendqisi2_v6): Delete.
(zero_extendhisi2 for register input splitter): New.
(zero_extendqisi2 for register input splitter): New.
(thumb1_extendhisi2 for register input splitter): New.
(extendhisi2 for register input splitter): New.
(extendqisi2 for register input splitter): New.
(TARGET_THUMB1 extendqisi2 for memory input splitter): New.
(arm_zero_extendhisi2): Allow nonimmediate_operand for operand 1,
and add support for a register alternative requiring a split.
(thumb1_zero_extendqisi2): Likewise.
(arm_zero_extendqisi2): Likewise.
(arm_extendhisi2): Likewise.
(arm_extendqisi2): Likewise.

testsuite/
PR target/42172
* gcc.target/arm/pr42172-1.c: New test.

From-SVN: r161726

14 years agore PR rtl-optimization/42835 (Missed merging common code sequence at the end of two...
Bernd Schmidt [Fri, 2 Jul 2010 16:22:33 +0000 (16:22 +0000)]
re PR rtl-optimization/42835 (Missed merging common code sequence at the end of two basic blocks)

PR target/42835
* config/arm/arm-modes.def (CC_NOTB): New mode.
* config/arm/arm.c (get_arm_condition_code): Handle it.
* config/arm/thumb2.md (thumb2_compare_scc): Delete pattern.
* config/arm/arm.md (subsi3_compare0_c): New pattern.
(compare_scc): Now a define_and_split.  Add a number of extra
splitters before it.

testsuite/
PR target/42835
* gcc.target/arm/pr42835.c: New test.

From-SVN: r161725

14 years agoconfigure.ac (gfortran_use_symver): Only check for Sun-style symbol versioning on...
Rainer Orth [Fri, 2 Jul 2010 16:17:04 +0000 (16:17 +0000)]
configure.ac (gfortran_use_symver): Only check for Sun-style symbol versioning on Solaris 2.

libgfortran:
* configure.ac (gfortran_use_symver): Only check for Sun-style symbol
versioning on Solaris 2.
* configure: Regenerate.

libssp:
* configure.ac (ssp_use_symver): Only check for Sun-style symbol
versioning on Solaris 2.
* configure: Regenerate.

From-SVN: r161724

14 years agocrash101.C: Remove stray // from dg-error comment.
Paolo Carlini [Fri, 2 Jul 2010 15:17:10 +0000 (15:17 +0000)]
crash101.C: Remove stray // from dg-error comment.

2010-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/template/crash101.C: Remove stray // from dg-error comment.

From-SVN: r161722

14 years agoarm.c (neon_vdup_constant): Expand into canonical RTL instead of an unspec.
Sandra Loosemore [Fri, 2 Jul 2010 14:48:04 +0000 (10:48 -0400)]
arm.c (neon_vdup_constant): Expand into canonical RTL instead of an unspec.

2010-07-02  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/arm/arm.c (neon_vdup_constant): Expand into canonical RTL
instead of an unspec.
(neon_expand_vector_init): Likewise.
* config/arm/neon.md (UNSPEC_VCOMBINE): Delete.
(UNSPEC_VDUP_LANE): Delete.
(UNSPEC VDUP_N): Delete.
(UNSPEC_VGET_HIGH): Delete.
(UNSPEC_VGET_LANE): Delete.
(UNSPEC_VGET_LOW): Delete.
(UNSPEC_VMVN): Delete.
(UNSPEC_VSET_LANE): Delete.
(V_double_vector_mode): New.
(vec_set<mode>_internal): Make code emitted match that for the
corresponding intrinsics.
(vec_setv2di_internal): Likewise.
(neon_vget_lanedi): Rewrite to expand into emit_move_insn.
(neon_vget_lanev2di): Rewrite to expand into vec_extractv2di.
(neon_vset_lane<mode>): Combine double and quad patterns and
expand into vec_set<mode>_internal instead of UNSPEC_VSET_LANE.
(neon_vset_lanedi): Rewrite to expand into emit_move_insn.
(neon_vdup_n<mode>): Rewrite RTL without unspec.
(neon_vdup_ndi): Rewrite as define_expand and use emit_move_insn.
(neon_vdup_nv2di): Rewrite RTL without unspec and merge with
with neon_vdup_lanev2di, adjusting the pattern from the latter
to be predicable for consistency.
(neon_vdup_lane<mode>_internal): New.
(neon_vdup_lane<mode>): Turn into a define_expand and rewrite
to avoid using an unspec.
(neon_vdup_lanedi): Rewrite RTL pattern to avoid unspec.
(neon_vdup_lanev2di): Turn into a define_expand.
(neon_vcombine): Rewrite pattern to eliminate UNPSEC_VCOMBINE.
(neon_vget_high<mode>): Replace with....
(neon_vget_highv16qi): New pattern using canonical RTL.
(neon_vget_highv8hi): Likewise.
(neon_vget_highv4si): Likewise.
(neon_vget_highv4sf): Likewise.
(neon_vget_highv2di): Likewise.
(neon_vget_low<mode>): Replace with....
(neon_vget_lowv16qi): New pattern using canonical RTL.
(neon_vget_lowv8hi): Likewise.
(neon_vget_lowv4si): Likewise.
(neon_vget_lowv4sf): Likewise.
(neon_vget_lowv2di): Likewise.

* config/arm/neon.ml (Vget_lane): Add No_op attribute to suppress
test for this emitting vmov.
(Vset_lane): Likewise.
(Vdup_n): Likewise.
(Vmov_n): Likewise.

* doc/arm-neon-intrinsics.texi: Regenerated.

gcc/testsuite/
* gcc.target/arm/neon/vdup_ns64.c: Regenerated.
* gcc.target/arm/neon/vdup_nu64.c: Regenerated.
* gcc.target/arm/neon/vdupQ_ns64.c: Regenerated.
* gcc.target/arm/neon/vdupQ_nu64.c: Regenerated.
* gcc.target/arm/neon/vmov_ns64.c: Regenerated.
* gcc.target/arm/neon/vmov_nu64.c: Regenerated.
* gcc.target/arm/neon/vmovQ_ns64.c: Regenerated.
* gcc.target/arm/neon/vmovQ_nu64.c: Regenerated.
* gcc.target/arm/neon/vget_lanes64.c: Regenerated.
* gcc.target/arm/neon/vget_laneu64.c: Regenerated.
* gcc.target/arm/neon/vset_lanes64.c: Regenerated.
* gcc.target/arm/neon/vset_laneu64.c: Regenerated.
* gcc.target/arm/neon-vdup_ns64.c: New.
* gcc.target/arm/neon-vdup_nu64.c: New.
* gcc.target/arm/neon-vdupQ_ns64.c: New.
* gcc.target/arm/neon-vdupQ_nu64.c: New.
* gcc.target/arm/neon-vdupQ_lanes64.c: New.
* gcc.target/arm/neon-vdupQ_laneu64.c: New.
* gcc.target/arm/neon-vmov_ns64.c: New.
* gcc.target/arm/neon-vmov_nu64.c: New.
* gcc.target/arm/neon-vmovQ_ns64.c: New.
* gcc.target/arm/neon-vmovQ_nu64.c: New.
* gcc.target/arm/neon-vget_lanes64.c: New.
* gcc.target/arm/neon-vget_laneu64.c: New.
* gcc.target/arm/neon-vset_lanes64.c: New.
* gcc.target/arm/neon-vset_laneu64.c: New.

From-SVN: r161720

14 years agoneon.md (vec_extractv2di): Correct error in register numbering to reconcile with...
Sandra Loosemore [Fri, 2 Jul 2010 14:43:26 +0000 (10:43 -0400)]
neon.md (vec_extractv2di): Correct error in register numbering to reconcile with neon_vget_lanev2di.

2010-07-02  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/arm/neon.md (vec_extractv2di): Correct error in register
numbering to reconcile with neon_vget_lanev2di.

From-SVN: r161719

14 years agotree-ssa-structalias.c (pt_solution_set_var): New function.
Richard Guenther [Fri, 2 Jul 2010 13:25:23 +0000 (13:25 +0000)]
tree-ssa-structalias.c (pt_solution_set_var): New function.

2010-07-02  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (pt_solution_set_var): New function.
* tree-ssa-alias.h (pt_solution_set_var): Declare.
* tree-ssa-loop-ivopts.c (copy_ref_info): Also copy or create
points-to information.

From-SVN: r161716

14 years agos390.c (override_options): Adopt prefetching at -O3 to handle flag_prefetch_loop_arra...
Christian Borntraeger [Fri, 2 Jul 2010 12:43:00 +0000 (12:43 +0000)]
s390.c (override_options): Adopt prefetching at -O3 to handle flag_prefetch_loop_arrays as a tristate.

2010-07-02  Christian Borntraeger  <borntraeger@de.ibm.com>

* config/s390/s390.c (override_options): Adopt prefetching
at -O3 to handle flag_prefetch_loop_arrays as a tristate.

From-SVN: r161709

14 years agodf-problems.c (df_kill_notes): Do not collect dead notes.
Jan Hubicka [Fri, 2 Jul 2010 12:30:38 +0000 (14:30 +0200)]
df-problems.c (df_kill_notes): Do not collect dead notes.

* df-problems.c (df_kill_notes): Do not collect dead  notes.
(df_set_note): Just call add_reg_note.
(df_set_unused_notes_for_mw, df_set_dead_notes_for_mw,
df_create_unused_note): Do not deal with lists of old notes.
(df_note_bb_compute): Likewise.

From-SVN: r161708

14 years agotree-ssa-structalias.c (find_func_aliases): Handle pointer alignment via BIT_AND_EXPR.
Richard Guenther [Fri, 2 Jul 2010 12:28:54 +0000 (12:28 +0000)]
tree-ssa-structalias.c (find_func_aliases): Handle pointer alignment via BIT_AND_EXPR.

2010-07-02  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (find_func_aliases): Handle
pointer alignment via BIT_AND_EXPR.
* tree-vrp.c (extract_range_from_binary_expr): Likewise.

From-SVN: r161707

14 years agoacinclude.m4 (symvers_renaming): Define HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT...
Rainer Orth [Fri, 2 Jul 2010 12:09:29 +0000 (12:09 +0000)]
acinclude.m4 (symvers_renaming): Define HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT instead of...

2010-07-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

* acinclude.m4 (symvers_renaming): Define
HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT instead of
_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
Fix syntax error.
* config.h.in: Regenerate.
* configure: Regenerate.

From-SVN: r161706

14 years agotree-data-ref.c (initialize_data_dependence_relation): Handle mismatching number...
Richard Guenther [Fri, 2 Jul 2010 12:05:59 +0000 (12:05 +0000)]
tree-data-ref.c (initialize_data_dependence_relation): Handle mismatching number of dimensions properly.

2010-07-02  Richard Guenther  <rguenther@suse.de>

* tree-data-ref.c (initialize_data_dependence_relation): Handle
mismatching number of dimensions properly.

* g++.dg/torture/20100702-1.C: New testcase.

From-SVN: r161705

14 years agomisc.c (gnat_handle_option): Do not populate gnat_argv.
Eric Botcazou [Fri, 2 Jul 2010 11:52:30 +0000 (11:52 +0000)]
misc.c (gnat_handle_option): Do not populate gnat_argv.

* gcc-interface/misc.c (gnat_handle_option): Do not populate gnat_argv.
(gnat_handle_option): Allocate only one element for gnat_argv.
(gnat_init): Do not populate gnat_argv.

From-SVN: r161704

14 years agore PR target/44707 (operand requires impossible reload)
Ulrich Weigand [Fri, 2 Jul 2010 11:48:30 +0000 (11:48 +0000)]
re PR target/44707 (operand requires impossible reload)

ChangeLog:

PR target/44707
* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Recognize
(lo_sum (high ...) ...) patterns generated by earlier passes.

testsuite/ChangeLog:

PR target/44707
* gcc.c-torture/compile/pr44707.c: New test.

From-SVN: r161703

14 years ago- Revert two chunks from libstdc++-v3/python/libstdcxx/v6/printers.py,
Matthias Klose [Fri, 2 Jul 2010 10:55:51 +0000 (10:55 +0000)]
- Revert two chunks from libstdc++-v3/python/libstdcxx/v6/printers.py,

  left over from testing.

From-SVN: r161702

14 years agoMissed in last commit.
Rainer Orth [Fri, 2 Jul 2010 10:26:12 +0000 (10:26 +0000)]
Missed in last commit.

From-SVN: r161701

14 years agoconfigure.ac: Check for Sun symbol versioning.
Rainer Orth [Fri, 2 Jul 2010 10:15:09 +0000 (10:15 +0000)]
configure.ac: Check for Sun symbol versioning.

* configure.ac: Check for Sun symbol versioning.
Check for memmove.
* configure: Regenerate.
* config.h.in: Regenerate.

* Makefile.am [LIBSSP_USE_SYMVER]: Protect version_arg,
version_dep with LIBSSP_USE_SYMVER_GNU.
[LIBSSP_USE_SYMVER_SUN]: Handle Sun symbol versioning.
* Makefile.in: Regenerate.

* ssp.map: Reformat.

* memmove-chk.c: Change guard to HAVE_MEMMOVE.

From-SVN: r161699

14 years agore PR c++/44039 (ICE: Segmentation fault on error recovery)
Paolo Carlini [Fri, 2 Jul 2010 10:13:21 +0000 (10:13 +0000)]
re PR c++/44039 (ICE: Segmentation fault on error recovery)

/cp
2010-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/44039
* pt.c (tsubst_baselink): Return error_mark_node if lookup_fnfields
returns NULL_TREE.

/testsuite
2010-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/44039
* g++.dg/template/crash101.C: New.

From-SVN: r161698

14 years agoconfigure.ac: Check for Sun symbol versioning.
Rainer Orth [Fri, 2 Jul 2010 10:12:34 +0000 (10:12 +0000)]
configure.ac: Check for Sun symbol versioning.

* configure.ac: Check for Sun symbol versioning.
* configure: Regenerate.

* Makefile.am [LIBGFOR_USE_SYMVER]: Protect version_arg with
LIBGFOR_USE_SYMVER_GNU.
Add version_dep.
[LIBGFOR_USE_SYMVER_SUN]: Handle Sun symbol versioning.
[!LIBGFOR_USE_SYMVER]: Add version_dep.
(libgfortran_la_DEPENDENCIES): Set to $(version_dep).
* Makefile.in: Regenerate.

From-SVN: r161697

14 years agogc++filt.m4: New file.
Rainer Orth [Fri, 2 Jul 2010 10:05:49 +0000 (10:05 +0000)]
gc++filt.m4: New file.

config:
* gc++filt.m4: New file.

contrib:
* make_sunver.pl: New file.

libstdc++v3:
* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Handle sun style.
Require GCC_PROG_GNU_CXXFILT.
(_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define
unless targetting solaris2*.
Include ../config/gc++filt.m4.
* configure.host (i?86-*-solaris2*): Set abi_baseline_pair.
(sparc-*-solaris2*): Likewise.
* src/Makefile.am [ENABLE_SYMVERS_SUN] (version_dep, version_arg):
New variables.
(libstdc++-symbols.ver-sun): New target.
* configure: Regenerate.
* config.h.in: Regenerate.
* Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* libsupc++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* python/Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* src/atomic.cc: Only define/use _GLIBCXX_ASM_SYMVER if
_GLIBCXX_HAVE_SYMVER_RENAMING_RUNTIME_SUPPORT.
* src/compatibility.cc: Likewise.
* testsuite/Makefile.am (baseline_subdir): Define.
(baseline_symbols): Use it.
(new-abi-baseline): Likewise.
* testsuite/Makefile.in: Regenerate.

* config/abi/pre/gnu.ver (GLIBCXX_3.4.5): Enclose duplicates in
#ifdef HAVE_SYMVER_RENAMING_RUNTIME_SUPPORT.
(GLIBCXX_3.4.6): Likewise.

* doc/xml/manual/configure.xml (--enable-symvers): Document sun
style.

* doc/xml/manual/abi.xml: Fix grammar.
(Symbol versioning on the libstdc++.so binary): Fix mapfile path.
(Incremental bumping of a library pre-defined macro): Fix
c++config path.
(Incremental bumping of a library pre-defined macro,
_GLIBCPP_VERSION): Likewise.
(Matching each specific C++ compiler release to a specific set of
C++ include files): Fix acinclude.m4 path.
(Prerequisites): Allow for Sun linker on Solaris 2.5+.
Use proper link to Configuring.
Fix acinclude.m4 path.
(Checking Active): Allow for additional symbol versioning styles.
Provide Solaris 2 example with pvs -r.
(Bibliography): Update Linker and Libraries Guide, C++ Migration
Guide entries.

gcc:
* doc/install.texi (Prerequisites): Document Perl requirement on
Solaris 2.
(Specific, *-*-solaris2*): Document GNU c++filt requirement.

From-SVN: r161696

14 years agore PR middle-end/44777 (ICE: SIGSEGV with -fprofile-use in gcc.c-torture/execute...
Richard Guenther [Fri, 2 Jul 2010 09:57:12 +0000 (09:57 +0000)]
re PR middle-end/44777 (ICE: SIGSEGV with -fprofile-use in gcc.c-torture/execute/comp-goto-2.c)

2010-07-02  Richard Guenther  <rguenther@suse.de>

PR middle-end/44777
* tree-cfg.c (gimple_block_ends_with_call_p): Handle empty BBs.

From-SVN: r161694

14 years agorestore cxx-ivar-3 test functionality
Iain Sandoe [Fri, 2 Jul 2010 09:49:53 +0000 (09:49 +0000)]
restore cxx-ivar-3 test functionality

* obj-c++.dg/cxx-ivars-3.mm: Make the test require OSX <= 10.4.
Use the ABI-0 accessors and fail it for m64.

From-SVN: r161692

14 years agore PR middle-end/44706 (Failed to build 483.xalancbmk in SPEC CPU 2006)
Jan Hubicka [Fri, 2 Jul 2010 09:39:54 +0000 (11:39 +0200)]
re PR middle-end/44706 (Failed to build 483.xalancbmk in SPEC CPU 2006)

PR middle-end/44706
* predict.c (predict_paths_for_bb): Handle case when control dependence
BB has only abnormal edges.
* g++.dg/tree-ssa/pr44706.C: New testcase.

From-SVN: r161691

14 years agore PR tree-optimization/44748 (ICE: in fold_convert_const_int_from_real, at fold...
Richard Guenther [Fri, 2 Jul 2010 09:14:03 +0000 (09:14 +0000)]
re PR tree-optimization/44748 (ICE: in fold_convert_const_int_from_real, at fold-const.c:1548)

2010-07-02  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/44748
* tree-ssa-ccp.c (fold_const_aggregate_ref): Properly handle
the embedded conversion in MEM_REFs.

* gcc.dg/tree-ssa/ssa-ccp-29.c: New testcase.

From-SVN: r161689

14 years agorestore darwin8 objc/c++ test functionality.
Iain Sandoe [Fri, 2 Jul 2010 09:04:55 +0000 (09:04 +0000)]
restore darwin8 objc/c++ test functionality.

* objc-obj-c++-shared/next-abi.h: Remove dependency on system
headers.  Add clause to reflect that, pre-10.5, ABI is always 0.
* objc/execute/forward-1.m: Depend only on __NEXT_RUNTIME__ for
the method types to forward:.

From-SVN: r161687

14 years agofix darwin8 bootstrap issue
Iain Sandoe [Fri, 2 Jul 2010 08:56:04 +0000 (08:56 +0000)]
fix darwin8 bootstrap issue

       * compare-debug (Darwin): Remove '-x' flag from ld-based object
       stripping.  Add a comment as to why we do it this way.

From-SVN: r161686

14 years agoDaily bump.
GCC Administrator [Fri, 2 Jul 2010 00:17:05 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r161685