platform/upstream/linaro-gcc.git
12 years ago PR target/53250
olegendo [Sun, 6 May 2012 22:38:57 +0000 (22:38 +0000)]
PR target/53250
* config/sh/sh.c (sh_rtx_costs): Handle SET.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187218 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/53227
uros [Sun, 6 May 2012 20:47:59 +0000 (20:47 +0000)]
PR target/53227
* config/i386/i386.md (swap<mode>): Rename from *swap<mode>.
(bswapdi2): Split from bswap<mode>2.  Use nonnimediate_operand
predicate for operand 1.  Force operand 1 to register for TARGET_BSWAP.
(bswapsi2): Ditto.
(*bswapdi2_doubleword): New insn pattern.
(*bswap<mode>2): Rename from *bswap<mode>2_1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187215 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-06 Tobias Burnus <burnus@net-b.de>
burnus [Sun, 6 May 2012 20:30:05 +0000 (20:30 +0000)]
2012-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41587
        * decl.c (build_struct): Don't ignore FAILED status.

2012-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41587
        * gfortran.dg/class_array_13.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187214 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Sun, 6 May 2012 19:12:51 +0000 (19:12 +0000)]
gcc/
* config/mips/mips.c (mips_set_reg_reg_piece_cost): New function.
(mips_set_reg_reg_cost): Likewise.
(mips_rtx_costs): Handle SET.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187213 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Sun, 6 May 2012 18:55:20 +0000 (18:55 +0000)]
gcc/
* lower-subreg.c (shift_cost): Use set_src_cost, avoiding the SET.
(compute_costs): Likewise for the zero extension.  Use set_rtx_cost
to compute the cost of moves.  Set the mode of the target register.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187212 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-06 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sun, 6 May 2012 15:06:31 +0000 (15:06 +0000)]
2012-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53152
* call.c (op_error, build_new_op_1, build_new_op): Add location_t
parameter.
(build_conditional_expr_1): Adjust.
* typeck.c (build_x_indirect_ref, build_x_binary_op,
build_x_unary_op): Add location_t parameter.
(rationalize_conditional_expr, build_x_array_ref,
build_x_compound_expr, cp_build_modify_expr, build_x_modify_expr):
Adjust.
* typeck2.c (build_x_arrow): Add location_t parameter.
* semantics.c (finish_unary_op_expr): Likewise.
(finish_increment_expr, handle_omp_for_class_iterator): Adjust.
* decl2.c (grok_array_decl): Add location_t parameter.
* parser.c (cp_parser_postfix_open_square_expression,
cp_parser_postfix_dot_deref_expression, cp_parser_unary_expression,
cp_parser_binary_expression, cp_parser_builtin_offsetof,
do_range_for_auto_deduction, cp_convert_range_for,
cp_parser_template_argument, cp_parser_omp_for_cond): Pass the
location, adjust.
* pt.c (tsubst_copy_and_build): Adjust.
* tree.c (maybe_dummy_object): Likewise.
* cp-tree.h: Update declarations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187211 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl.
ebotcazou [Sun, 6 May 2012 11:28:20 +0000 (11:28 +0000)]
* gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187210 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renaming
ebotcazou [Sun, 6 May 2012 11:13:32 +0000 (11:13 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renaming
case, use the padded type if the renamed object has an unconstrained
type with default discriminant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187209 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc-interface/trans.c (Loop_Statement_to_gnu): Also handle invariant
ebotcazou [Sun, 6 May 2012 10:51:37 +0000 (10:51 +0000)]
* gcc-interface/trans.c (Loop_Statement_to_gnu): Also handle invariant
conditions with only one bound.
(Raise_Error_to_gnu): Likewise.  New function extracted from...
(gnat_to_gnu) <N_Raise_Constraint_Error>: ...here.  Call above function
in regular mode only.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187208 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc-interface/misc.c (gnat_post_options): Disable caret by default.
ebotcazou [Sun, 6 May 2012 10:46:17 +0000 (10:46 +0000)]
* gcc-interface/misc.c (gnat_post_options): Disable caret by default.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187207 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc-interface/gigi.h (make_packable_type): Declare.
ebotcazou [Sun, 6 May 2012 10:41:03 +0000 (10:41 +0000)]
* gcc-interface/gigi.h (make_packable_type): Declare.
(make_type_from_size): Likewise.
(relate_alias_sets): Likewise.
(maybe_pad_type): Adjust.
(init_gnat_to_gnu): Delete.
(destroy_gnat_to_gnu): Likewise.
(init_dummy_type): Likewise.
(destroy_dummy_type): Likewise.
(init_gnat_utils): Declare.
(destroy_gnat_utils): Likewise.
(ceil_pow2): New inline function.
* gcc-interface/decl.c (gnat_to_gnu_entity): Use ceil_pow2.
<object>: Pass True for the final processing of alignment and size.
<E_Subprogram_Type>: Only create the TYPE_DECL for a padded return
type if necessary.
(round_up_to_align): Delete.
(ceil_alignment): Likewise.
(relate_alias_sets): Move to...
(make_aligning_type): Likewise.
(make_packable_type): Likewise.
(maybe_pad_type): Likewise.
(make_type_from_size): Likewise.
* gcc-interface/utils.c (MAX_BITS_PER_WORD): Delete.
(struct pad_type_hash): New type.
(pad_type_hash_table): New static variable.
(init_gnat_to_gnu): Merge into...
(init_dummy_type): Likewise.
(init_gnat_utils): ...this.  New function.
(destroy_gnat_to_gnu): Merge into...
(destroy_dummy_type): Likewise.
(destroy_gnat_utils): ...this.  New function.
(pad_type_hash_marked_p): New function.
(pad_type_hash_hash): Likewise.
(pad_type_hash_eq): Likewise.
(relate_alias_sets): ...here.
(make_aligning_type): Likewise.
(make_packable_type): Likewise.
(maybe_pad_type): Likewise.  Change same_rm_size parameter into
set_rm_size; do not set TYPE_ADA_SIZE if it is false.  Do not set
null as Ada size.  Do not set TYPE_VOLATILE on the padded type.  If it
is complete and has constant size, canonicalize it.  Bail out earlier
if a warning need not be issued.
(make_type_from_size): Likewise.
<INTEGER_TYPE>: Bail out if size is too large
(gnat_types_compatible_p): Do not deal with padded types.
(convert): Compare main variants for padded types.
* gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_utils.
(gnat_to_gnu): Do not convert at the end for a call to a function that
returns an unconstrained type with default discriminant.
(Attribute_to_gnu) <Attr_Size>: Simplify handling of padded objects.
* gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Likewise.
Do not use the padded type if it is BLKmode and the inner type is
non-BLKmode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187206 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAdjust.
ebotcazou [Sun, 6 May 2012 09:24:21 +0000 (09:24 +0000)]
Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187204 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Sun, 6 May 2012 00:18:08 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187203 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Sat, 5 May 2012 17:41:49 +0000 (17:41 +0000)]
gcc/
* rtl.h (plus_constant, plus_constant_mode): Merge into a single
plus_constant function.
* explow.c (plus_constant, plus_constant_mode): Likewise.  Assert
that the mode is sensible.
(use_anchored_address, round_push, allocate_dynamic_stack_space)
(probe_stack_range, anti_adjust_stack_and_probe): Update calls to
plus_constant.

* alias.c (canon_rtx): Likewise.
(init_alias_analysis): Likewise.
* builtins.c (expand_builtin_return_addr)
(expand_builtin_setjmp_setup, expand_builtin_longjmp)
(expand_builtin_nonlocal_goto, expand_builtin_update_setjmp_buf)
(expand_builtin_apply_args_1, expand_builtin_apply, expand_movstr)
(expand_builtin_stpcpy): Likewise.
* calls.c (save_fixed_argument_area, restore_fixed_argument_area)
(compute_argument_addresses, internal_arg_pointer_based_exp)
(expand_call, emit_library_call_value_1): Likewise.
* cfgexpand.c (expand_one_stack_var_at, expand_debug_expr): Likewise.
* combine-stack-adj.c (try_apply_stack_adjustment): Likewise.
* combine.c (combine_simplify_rtx, force_to_mode): Likewise.
* cse.c (insert_const_anchor, find_reg_offset_for_const)
(use_related_value, fold_rtx): Likewise.
* cselib.c (cselib_subst_to_values): Likewise.
* dse.c (record_store, check_mem_read_rtx): Likewise.
* dwarf2out.c (rtl_for_decl_location, gen_variable_die): Likewise.
* emit-rtl.c (adjust_address_1): Likewise.
* except.c (sjlj_emit_function_enter)
(expand_builtin_extract_return_addr)
(expand_builtin_frob_return_addr): Likewise.
* expmed.c (expand_divmod): Likewise.
* expr.c (move_by_pieces, store_by_pieces, store_by_pieces_1)
(emit_move_resolve_push, push_block, emit_push_insn, store_expr)
(expand_expr_addr_expr_1, expand_expr_real_1): Likewise.
* function.c (assign_stack_local_1)
(instantiate_virtual_regs_in_rtx): Likewise.
* optabs.c (prepare_cmp_insn): Likewise.
* recog.c (offsettable_address_addr_space_p): Likewise.
* reload.c (find_reloads_address, form_sum)
(find_reloads_subreg_address): Likewise.
* reload1.c (init_reload, eliminate_regs_1)
(eliminate_regs_in_insn): Likewise.
* simplify-rtx.c (simplify_unary_operation_1)
(simplify_binary_operation_1, simplify_plus_minus): Likewise.
* var-tracking.c (compute_cfa_pointer, prepare_call_arguments)
(vt_add_function_parameter): Likewise.

* config/alpha/alpha.h (EH_RETURN_HANDLER_RTX): Likewise.
* config/alpha/vms.h (EH_RETURN_HANDLER_RTX): Likewise.
* config/alpha/alpha.c (alpha_legitimize_address_1)
(get_unaligned_address, alpha_expand_unaligned_load)
(alpha_expand_unaligned_store, alpha_expand_unaligned_load_words)
(alpha_expand_unaligned_store_words, alpha_expand_block_clear)
(alpha_expand_builtin_establish_vms_condition_handler)
(alpha_setup_incoming_varargs, emit_frame_store_1)
(alpha_expand_prologue, alpha_expand_epilogue)
(alpha_use_linkage): Likewise.
* config/alpha/alpha.md: Likewise.

* config/arm/arm.c (arm_trampoline_init, legitimize_pic_address)
(arm_load_pic_register, arm_pic_static_addr, arm_legitimize_address)
(thumb_legitimize_address, arm_gen_load_multiple_1)
(arm_gen_store_multiple_1, arm_gen_multiple_op, gen_ldm_seq)
(gen_stm_seq, gen_const_stm_seq, arm_block_move_unaligned_straight)
(arm_block_move_unaligned_loop, arm_gen_movmemqi, arm_reload_in_hi)
(arm_reload_out_hi, arm_reorg, vfp_emit_fstmd, emit_multi_reg_push)
(emit_sfm, thumb_set_frame_pointer, arm_expand_prologue)
(thumb1_emit_multi_reg_push, thumb1_expand_prologue)
(thumb_expand_movmemqi, arm_set_return_address)
(thumb_set_return_address): Likewise.
* config/arm/arm.md: Likewise.

* config/avr/avr.c (avr_incoming_return_addr_rtx)
(avr_prologue_setup_frame, expand_epilogue)
(avr_const_address_lo16): Likewise.

* config/bfin/bfin.h (EH_RETURN_HANDLER_RTX): Likewise.
* config/bfin/bfin.c (setup_incoming_varargs, bfin_load_pic_reg)
(bfin_expand_prologue, bfin_trampoline_init, bfin_expand_call)
(bfin_output_mi_thunk): Likewise.

* config/c6x/c6x.c (c6x_initialize_trampoline)
(c6x_output_mi_thunk): Likewise.

* config/cr16/cr16.h (EH_RETURN_HANDLER_RTX): Likewise.
* config/cr16/cr16.c (cr16_create_dwarf_for_multi_push): Likewise.

* config/cris/cris.c (cris_return_addr_rtx, cris_split_movdx)
(cris_expand_prologue, cris_expand_epilogue, cris_gen_movem_load)
(cris_emit_movem_store, cris_trampoline_init): Likewise.
* config/cris/cris.md: Likewise.

* config/darwin.c (machopic_indirect_data_reference)
(machopic_legitimize_pic_address): Likewise.

* config/epiphany/epiphany.c (epiphany_emit_save_restore)
(epiphany_expand_prologue, epiphany_expand_epilogue)
(epiphany_trampoline_init): Likewise.
* config/epiphany/epiphany.md: Likewise.

* config/fr30/fr30.c (fr30_move_double): Likewise.

* config/frv/frv.c (frv_dwarf_store, frv_expand_prologue)
(frv_expand_block_move, frv_expand_block_clear, frv_return_addr_rtx)
(frv_index_memory, unspec_got_name, frv_find_base_term)
(frv_output_dwarf_dtprel): Likewise.

* config/h8300/h8300.c (h8300_push_pop, h8300_return_addr_rtx)
(h8300_swap_into_er6, h8300_swap_out_of_er6): Likewise.

* config/i386/i386.h (RETURN_ADDR_RTX): Likewise.
* config/i386/i386.c (setup_incoming_varargs_64)
(setup_incoming_varargs_ms_64, choose_baseaddr)
(ix86_emit_save_reg_using_mov, ix86_adjust_stack_and_probe)
(ix86_emit_probe_stack_range, ix86_expand_prologue)
(ix86_emit_restore_reg_using_pop, ix86_emit_leave)
(ix86_expand_epilogue, legitimize_pic_address, ix86_legitimize_address)
(ix86_split_long_move, ix86_expand_movmem, ix86_expand_setmem)
(ix86_static_chain, ix86_trampoline_init, x86_this_parameter)
(x86_output_mi_thunk): Likewise.
* config/i386/i386.md: Likewise.

* config/ia64/ia64.c (ia64_expand_load_address)
(ia64_expand_tls_address, ia64_expand_move, ia64_split_tmode)
(do_spill, ia64_trampoline_init): Likewise.

* config/iq2000/iq2000.c (iq2000_va_start)
(iq2000_emit_frame_related_store, iq2000_expand_prologue)
(iq2000_expand_eh_return, iq2000_setup_incoming_varargs)
(iq2000_print_operand, iq2000_legitimize_address): Likewise.

* config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.

* config/m32c/m32c.c (m32c_return_addr_rtx)
(m32c_expand_insv): Likewise.

* config/m32r/m32r.c (m32r_setup_incoming_varargs)
(m32r_legitimize_pic_address, m32r_print_operand)
(m32r_print_operand_address): Likewise.

* config/m68k/linux.h (FINALIZE_TRAMPOLINE): Likewise.
* config/m68k/m68k.h (RETURN_ADDR_RTX): Likewise.
(EH_RETURN_HANDLER_RTX): Likewise.
* config/m68k/m68k.c (m68k_emit_movem, m68k_expand_prologue)
(m68k_expand_epilogue, legitimize_pic_address)
(m68k_output_mi_thunk): Likewise.
* config/m68k/m68k.md: Likewise.

* config/mcore/mcore.c (mcore_expand_prolog): Likewise.
(mcore_expand_epilog): Likewise.
* config/mcore/mcore.md: Likewise.

* config/mep/mep.c (mep_allocate_initial_value)
(mep_expand_prologue, mep_expand_epilogue): Likewise.

* config/microblaze/microblaze.c (double_memory_operand)
(microblaze_block_move_loop): Likewise.

* config/mips/mips.c (mips_strip_unspec_address, mips_add_offset)
(mips_setup_incoming_varargs, mips_va_start, mips_block_move_loop)
(mips_print_operand, mips16e_save_restore_reg, mips_save_restore_reg)
(mips_expand_prologue, mips_epilogue_set_cfa)
(mips_expand_epilogue): Likewise.
* config/mips/mips.md: Likewise.

* config/mmix/mmix.c (mmix_dynamic_chain_address, mmix_return_addr_rtx)
(mmix_expand_prologue, mmix_expand_epilogue): Likewise.

* config/mn10300/mn10300.c (mn10300_gen_multiple_store)
(mn10300_builtin_saveregs, mn10300_trampoline_init): Likewise.

* config/moxie/moxie.h (INCOMING_RETURN_ADDR_RTX): Likewise.
(EH_RETURN_HANDLER_RTX): Likewise.
* config/moxie/moxie.c (moxie_static_chain): Likewise.

* config/pa/pa.c (legitimize_pic_address, hppa_legitimize_address)
(store_reg, set_reg_plus_d, pa_expand_prologue, load_reg)
(pa_return_addr_rtx, hppa_builtin_saveregs)
(pa_trampoline_init): Likewise.
* config/pa/pa.md: Likewise.

* config/pdp11/pdp11.c (pdp11_expand_epilogue): Likewise.

* config/picochip/picochip.c (picochip_static_chain): Likewise.

* config/rs6000/rs6000.h (RS6000_SAVE_TOC): Likewise.
* config/rs6000/rs6000.c (rs6000_legitimize_address)
(setup_incoming_varargs, print_operand, rs6000_return_addr)
(rs6000_emit_eh_reg_restore, rs6000_emit_probe_stack_range)
(rs6000_emit_epilogue)
(rs6000_machopic_legitimize_pic_address): Likewise.

* config/rx/rx.c (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.

* config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Likewise.
(DYNAMIC_CHAIN_ADDRESS): Likewise.
* config/s390/s390.c (s390_decompose_address, legitimize_pic_address)
(s390_delegitimize_address, print_operand, annotate_constant_pool_refs)
(replace_constant_pool_ref, s390_return_addr_rtx, s390_back_chain_rtx)
(save_fpr, restore_fpr, save_gprs, restore_gprs, s390_emit_prologue)
(s390_emit_epilogue, s390_function_profiler): Likewise.
* config/s390/s390.md: Likewise.

* config/score/score.c (score_add_offset, score_prologue): Likewise.

* config/sh/sh.c (expand_block_move, push_regs, sh_builtin_saveregs)
(sh_output_mi_thunk): Likewise.
* config/sh/sh.md: Likewise.

* config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS, FRAME_ADDR_RTX)
(RETURN_ADDR_RTX, INCOMING_RETURN_ADDR_RTX): Likewise.
* config/sparc/sparc.c (sparc_legitimize_pic_address)
(sparc_emit_probe_stack_range, emit_save_or_restore_regs)
(emit_window_save, sparc_flat_expand_prologue, sparc_struct_value_rtx)
(emit_and_preserve): Likewise.
* config/sparc/sparc.md: Likewise.

* config/spu/spu.h (DYNAMIC_CHAIN_ADDRESS): Likewise.
* config/spu/spu.c (spu_expand_insv, spu_machine_dependent_reorg)
(spu_setup_incoming_varargs, ea_load_store_inline)
(spu_expand_load): Likewise.

* config/stormy16/stormy16.c (xstormy16_expand_prologue)
(combine_bnp): Likewise.

* config/tilegx/tilegx.h (DYNAMIC_CHAIN_ADDRESS): Likewise.
* config/tilegx/tilegx.c (tilegx_setup_incoming_varargs)
(tilegx_expand_unaligned_load, tilegx_trampoline_init): Likewise.

* config/tilepro/tilepro.h (DYNAMIC_CHAIN_ADDRESS): Likewise.
* config/tilepro/tilepro.c (tilepro_setup_incoming_varargs)
(tilepro_expand_unaligned_load, tilepro_trampoline_init): Likewise.

* config/v850/v850.c (expand_prologue, expand_epilogue): Likewise.
* config/v850/v850.md: Likewise.

* config/vax/elf.h (EH_RETURN_STACKADJ_RTX): Likewise.
(EH_RETURN_HANDLER_RTX): Likewise.
* config/vax/vax.h (DYNAMIC_CHAIN_ADDRESS, RETURN_ADDR_RTX): Likewise.
* config/vax/vax.c (vax_add_reg_cfa_offset, vax_expand_prologue)
(print_operand_address, vax_trampoline_init): Likewise.

* config/xtensa/xtensa.c (xtensa_expand_prologue, xtensa_return_addr)
(xtensa_function_value_regno_p): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187199 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Sat, 5 May 2012 11:32:26 +0000 (11:32 +0000)]
2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/43772
testsuite/
* c-c++-common/pr43772.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187195 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Sat, 5 May 2012 11:30:57 +0000 (11:30 +0000)]
2012-05-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/43772
c-family/
* c-common.c (warn_logical_operator): Do not warn if either side
is already true or false.
testsuite/
* c-c++-common/pr43772.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187194 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-05 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 5 May 2012 08:49:43 +0000 (08:49 +0000)]
2012-05-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/41600
* trans-array.c (build_array_ref): New static function.
(gfc_conv_array_ref, gfc_get_dataptr_offset): Call it.
* trans-expr.c (gfc_get_vptr_from_expr): New function.
(gfc_conv_derived_to_class): Add a new argument for a caller
supplied vptr and use it if it is not NULL.
(gfc_conv_procedure_call): Add NULL to call to above.
symbol.c (gfc_is_associate_pointer): Return true if symbol is
a class object.
* trans-stmt.c (trans_associate_var): Handle class associate-
names.
* expr.c (gfc_get_variable_expr): Supply the array-spec if
possible.
* trans-types.c (gfc_typenode_for_spec): Set GFC_CLASS_TYPE_P
for class types.
* trans.h : Add prototypes for gfc_get_vptr_from_expr and
gfc_conv_derived_to_class. Define GFC_CLASS_TYPE_P.
* resolve.c (resolve_variable): For class arrays, ensure that
the target expression has all the necessary _data references.
(resolve_assoc_var): Throw a "not yet implemented" error for
class array selectors that need a temporary.
* match.c (copy_ts_from_selector_to_associate,
select_derived_set_tmp, select_class_set_tmp): New functions.
(select_type_set_tmp): Call one of last two new functions.
(gfc_match_select_type): Copy_ts_from_selector_to_associate is
called if associate-name is typed.

PR fortran/53191
* resolve.c (resolve_ref): C614 applied to class expressions.

2012-05-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/41600
* gfortran.dg/select_type_26.f03 : New test.
* gfortran.dg/select_type_27.f03 : New test.

PR fortran/53191
* gfortran.dg/select_type_28.f03 : New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187192 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR 49010,24518 MOD/MODULO fixes.
jb [Sat, 5 May 2012 07:59:22 +0000 (07:59 +0000)]
PR 49010,24518 MOD/MODULO fixes.

gcc/fortran:

2012-05-05  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/49010
PR fortran/24518
* intrinsic.texi (MOD, MODULO): Mention sign and magnitude of result.
* simplify.c (gfc_simplify_mod): Use mpfr_fmod.
(gfc_simplify_modulo): Likewise, use copysign to fix the result if
zero.
* trans-intrinsic.c (gfc_conv_intrinsic_mod): Remove fallback as
builtin_fmod is always available. For modulo, call copysign to fix
the result when signed zeros are enabled.

testsuite:

2012-05-05  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/49010
PR fortran/24518
* gfortran.dg/mod_sign0_1.f90: New test.
* gfortran.dg/mod_large_1.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187191 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix handling of temporary files.
jb [Sat, 5 May 2012 06:30:51 +0000 (06:30 +0000)]
Fix handling of temporary files.

2012-05-05  Janne Blomqvist  <jb@gcc.gnu.org>

        * gfortran.texi (GFORTRAN_TMPDIR): Rename to TMPDIR, explain
        algorithm for choosing temp directory.

2012-05-05  Janne Blomqvist  <jb@gcc.gnu.org>

        * config.h.in: Regenerated.
        * configure: Regenerated.
        * configure.ac: Add checks for getegid and __secure_getenv.
        * io/unix.c (P_tmpdir): Fallback definition for macro.
        (tempfile_open): New function.
        (tempfile): Use secure_getenv, call tempfile_open to try each
        directory in turn.
        * libgfortran.h (DEFAULT_TMPDIR): Remove macro.
        (secure_getenv): New macro/prototype.
        * runtime/environ.c (secure_getenv): New function.
        (variable_table): Rename GFORTRAN_TMPDIR to TMPDIR.
        * runtime/main.c (find_addr2line): Use secure_getenv.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187190 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Sat, 5 May 2012 00:18:18 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187188 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-04 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 4 May 2012 22:43:33 +0000 (22:43 +0000)]
2012-05-04  Paolo Carlini  <paolo.carlini@oracle.com>

     * semantics.c (cxx_eval_constant_expression, case CONVERT_EXPR): Tidy.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187184 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-04 Andrew Pinski <apinski@cavium.com>
pinskia [Fri, 4 May 2012 21:03:27 +0000 (21:03 +0000)]
2012-05-04  Andrew Pinski  <apinski@cavium.com>

* expr.c (get_def_for_expr_class): New function.
(convert_tree_comp_to_rtx): New function.
(expand_cond_expr_using_cmove): New function.
(expand_expr_real_2 <case COND_EXPR>): Call
expand_cond_expr_using_cmove first and return if it succeeds.
Remove the check for HAVE_conditional_move since we should have
already converted it to a conditional move.
* config/i386/i386.c (ix86_expand_int_movcc): Disallow comparison
modes of DImode for 32bits and TImode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187183 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR other/29442
steven [Fri, 4 May 2012 20:04:47 +0000 (20:04 +0000)]
PR other/29442
* read-md.c (fprint_md_ptr_loc, fprint_c_condition): New functions.
(print_md_ptr_loc, print_c_condition): Use them.
* read-md.h (fprint_md_ptr_loc, fprint_c_condition): New prototypes.
* genattrtab.c (attr_file_name, dfa_file_name, latency_file_name,
attr_file, dfa_file, latency_file): New global variables.
(write_attr_valueq, write_attr_set, write_attr_case, write_attr_value,
write_upcase, write_indent, write_length_unit_log, write_test_expr,
write_attr_get, write_insn_cases, write_eligible_delay,
write_const_num_delay_slots): Accept FILE pointer and toss it around.
Update all callers.
(write_header, open_outfile, handle_arg): New funcions.
(make_automaton_attrs): Write prototypes as extern to the output
files.
(main): Use init_rtx_reader_args_cb with handle_arg to take 3 file
names from the command line.  Open the output files and write out
internal functions for DFA functions to dfa_file_name, insn latency
functions to latency_file_name, and everything else to attr_file.
* Makefile.in (OBJS): Add insn-dfatab.o and insn-latencytab.o.
(BACKEND): Build libbackend first.
(MOSTLYCLEANFILES): Add insn-dfatab.c and insn-latencytab.c.
(.PRECIOUS): Likewise.
(insn-dfatab.o): New rule.
(insn-latencytab.o): New rule.
(simple_rtl_generated_c): Do not include insn-attrtab.c.
(s-attrtab): New rule.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187181 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/md.texi (attr_flag): Update for changes of previous revision.
steven [Fri, 4 May 2012 19:40:02 +0000 (19:40 +0000)]
    * doc/md.texi (attr_flag): Update for changes of previous revision.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187179 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * rtl.def (ATTR_FLAG): Remove probability indicating flags.
steven [Fri, 4 May 2012 19:37:59 +0000 (19:37 +0000)]
* rtl.def (ATTR_FLAG): Remove probability indicating flags.
* genattr.c (main): Remove ATTR_FLAG_likely, ATTR_FLAG_unlikely,
ATTR_FLAG_very_likely, and ATTR_FLAG_very_unlikely.
* reorg.c (get_jump_flags): Do not set the removed flags.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187178 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agocompiler: Correct parse of for with possible composite literal.
ian [Fri, 4 May 2012 19:33:18 +0000 (19:33 +0000)]
compiler: Correct parse of for with possible composite literal.

Fixes, e.g., "for first := true; first; first = false {".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187176 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-04 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 4 May 2012 18:54:25 +0000 (18:54 +0000)]
2012-05-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53175
        * resolve.c (resolve_variable): Set public_used
        if a private module variable is used in a (public)
        specification expression.
        * trans-decl.c (gfc_finish_var_decl): Mark those
        TREE_PUBLIC.

2012-05-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53175
        gfortran.dg/public_private_module_5.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187175 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-04 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 4 May 2012 18:53:17 +0000 (18:53 +0000)]
2012-05-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53111
        * resolve.c (resolve_fl_derived): Fix -std=f95
        diagnostic for generic vs. DT names.

2012-05-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53111
        * gfortran.dg/constructor_7.f90: New.
        * gfortran.dg/constructor_8.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187174 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/53228
uros [Fri, 4 May 2012 16:42:23 +0000 (16:42 +0000)]
PR target/53228
* config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE.
(TARGET_CMOV): Rename from TARGET_CMOVE.
(TARGET_CMOVE): New define.
* config/i386/i386.c (ix86_option_override_internal): Use TARGET_CMOV.
Do not set TARGET_CMOVE here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187168 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoEnable -Wunused-local-typedefs when -Wall or -Wunused is on
dodji [Fri, 4 May 2012 16:38:27 +0000 (16:38 +0000)]
Enable -Wunused-local-typedefs when -Wall or -Wunused is on

Now that the libstdc++ testsuite is run with -ftrack-macro-location by
default, this patch triggers the -Wunused-local-typedefs warning when
-Wunused (and -Wall) is turned on.

The patch has been reviewed and accepted[1] a while ago, but was waiting
for the -ftrack-macro-expansion work to go in first.

Bootstrapped and tested again on x86_64-unknown-linux-gnu against
trunk.

Applied to the mainline.

[1]: http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00605.html

gcc/

* opts.c (finish_options): Activate -Wunused-local-typedefs if
-Wunused is activated.
* doc/invoke.texi: Update blurb of -Wunused-local-typedefs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187167 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago/cp
paolo [Fri, 4 May 2012 15:02:05 +0000 (15:02 +0000)]
/cp
2012-05-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53166
* pt.c (instantiate_class_template_1): Increase / decrease
c_inhibit_evaluation_warnings around the tsubst_expr call
for STATIC_ASSERT_CONDITION.
(tsubst_expr, case STATIC_ASSERT): Likewise.
* typeck.c (cp_build_binary_op, case EQ_EXPR/NE_EXPR): Check
c_inhibit_evaluation_warnings in the OPT_Waddress warnings.

/testsuite
2012-05-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53166
* g++.dg/cpp0x/static_assert7.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187165 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibgo: Update to Go 1.0.1 release.
ian [Fri, 4 May 2012 15:01:11 +0000 (15:01 +0000)]
libgo: Update to Go 1.0.1 release.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187163 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
krebbel [Fri, 4 May 2012 14:44:59 +0000 (14:44 +0000)]
2012-05-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.md (*movmem_short, *clrmem_short)
(*cmpmem_short): Move the mode check from the insn condition to
the match_scratch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187159 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago gcc/
uweigand [Fri, 4 May 2012 12:46:04 +0000 (12:46 +0000)]
gcc/
PR tree-optimization/52633
* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Swap order of
vect_recog_widen_shift_pattern and vect_recog_over_widening_pattern.
(vect_recog_over_widening_pattern): Remove handling of code that was
already detected as over-widening pattern.  Remove special handling
of "unsigned" cases.  Instead, support general case of conversion
of the shift result to another type.

gcc/testsuite/
PR tree-optimization/52633
* gcc.dg/vect/vect-over-widen-1.c: Two patterns should now be
recognized as widening shifts instead of over-widening.
* gcc.dg/vect/vect-over-widen-1-big-array.c: Likewise.
* gcc.dg/vect/vect-over-widen-4.c: Likewise.
* gcc.dg/vect/vect-over-widen-4-big-array.c: Likewise.
* gcc.target/arm/pr52633.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187158 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree-vect-patterns.c (vect_single_imm_use): New function.
uweigand [Fri, 4 May 2012 12:27:04 +0000 (12:27 +0000)]
* tree-vect-patterns.c (vect_single_imm_use): New function.
(vect_recog_widen_mult_pattern): Use it instead of open-coding loop.
(vect_recog_over_widening_pattern): Likewise.
(vect_recog_widen_shift_pattern): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187157 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree-vect-patterns.c (vect_same_loop_or_bb_p): New function.
uweigand [Fri, 4 May 2012 12:26:03 +0000 (12:26 +0000)]
* tree-vect-patterns.c (vect_same_loop_or_bb_p): New function.
(vect_handle_widen_op_by_const): Use it instead of open-coding test.
(vect_recog_widen_mult_pattern): Likewise.
(vect_operation_fits_smaller_type): Likewise.
(vect_recog_over_widening_pattern): Likewise.
(vect_recog_widen_shift_pattern): Add to vect_same_loop_or_bb_p test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187156 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-04 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 4 May 2012 11:47:06 +0000 (11:47 +0000)]
2012-05-04  Richard Guenther  <rguenther@suse.de>

PR lto/50602
* lto-wrapper.c (merge_and_complain): Complain about mismatches
of -freg-struct-return and -fpcc-struct-return.
(run_gcc): Pass through -freg-struct-return and -fpcc-struct-return
from the input file options and ignore those from the link
command line.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187155 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-04 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 4 May 2012 11:30:35 +0000 (11:30 +0000)]
2012-05-04  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/53168
* tree-ssa-pre.c (phi_translate_1): Only handle type-punned
memory reads when the result is a constant we can pun.

* gcc.dg/torture/pr53168.c: New testcase.
* gcc.dg/tree-ssa/ssa-pre-30.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187153 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-04 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 4 May 2012 11:08:42 +0000 (11:08 +0000)]
2012-05-04  Richard Guenther  <rguenther@suse.de>

* common.opt (flto-report): Do not mark as Optimization.

lto/
* lang.opt (fwpa): Do not mark as Optimization.
(fltrans): Likewise.

* gcc.dg/lto/pr53214_0.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187151 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/48496
ebotcazou [Fri, 4 May 2012 11:01:34 +0000 (11:01 +0000)]
PR target/48496
* recog.c (constrain_operands): If extra constraints are present, also
accept pseudo-registers with equivalent memory locations during reload.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187150 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * collect2.c (may_unlink_output_file): New global.
hainque [Fri, 4 May 2012 08:05:52 +0000 (08:05 +0000)]
    * collect2.c (may_unlink_output_file): New global.
        (maybe_unlink): Honor it.
        * collect2.h: Add extern for it.
        * tlink.c (do_tlink): Set it to true if the link succeeded.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187148 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.c (eval_spec_function): Finalize/restore the current string
hainque [Fri, 4 May 2012 08:03:54 +0000 (08:03 +0000)]
    * gcc.c (eval_spec_function): Finalize/restore the current string
        obstack state as part of the context push/pop operations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187146 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agocompiler: Error if importing same package twice with same name.
ian [Fri, 4 May 2012 05:24:02 +0000 (05:24 +0000)]
compiler: Error if importing same package twice with same name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187142 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR rtl-optimization/52804
amker [Fri, 4 May 2012 02:52:27 +0000 (02:52 +0000)]
PR rtl-optimization/52804
* reload1.c (reload_reg_reaches_end_p): Check whether successor
reload with type RELOAD_FOR_INPUT_ADDRESS kills reload register
of current one with type RELOAD_FOR_INPADDR_ADDRESS.
Same stands for reloads with type RELOAD_FOR_OUTPUT_ADDRESS and
RELOAD_FOR_OUTADDR_ADDRESS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187139 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Fri, 4 May 2012 00:31:55 +0000 (00:31 +0000)]
2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c++/24985
gcc/
* tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Show caret
for macro expansion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187134 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Fri, 4 May 2012 00:18:01 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187131 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Thu, 3 May 2012 22:37:01 +0000 (22:37 +0000)]
2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/51712
c-family/
* c-common.c (expr_original_type): New.
(shorten_compare): Do not warn for enumeration types.
testsuite/
* c-c++-common/pr51712.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187125 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Thu, 3 May 2012 22:28:21 +0000 (22:28 +0000)]
2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>

gcc/
* flags.h (flag_permissive): Do not declare.
* diagnostic.c (diagnostic_report_diagnostic): Handle fpermissive
option specially.
* toplev.c (flag_permissive): Do not define.
* c-tree.h (system_header_p): Delete unused.
c-family/
* c.opt (fpermissive): Add Var(flag_permissive).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187123 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix long double float miscompilations on sparc 64-bit.
davem [Thu, 3 May 2012 22:19:35 +0000 (22:19 +0000)]
Fix long double float miscompilations on sparc 64-bit.

PR target/52684
* config/sparc/sparc.c (emit_soft_tfmode_libcall): If we pass a
MEM directly into a libcall, mark it's MEM_EXPR as addressable.
(sparc_emit_float_lib_cmp): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187120 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago[gcc]
meissner [Thu, 3 May 2012 21:47:45 +0000 (21:47 +0000)]
[gcc]
2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/53199
* config/rs6000/rs6000.md (bswapdi splitters): If
-mavoid-indexed-addresses (or -mcpu=power6 which sets it by
default) is used, generate an alternate sequence that does not
depend on using indexed addressing.

[gcc/testsuite]
2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/53199
* gcc.target/powwerpc/pr53199.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187119 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gengtype.c (write_types): Fix warning message.
jason [Thu, 3 May 2012 21:29:07 +0000 (21:29 +0000)]
* gengtype.c (write_types): Fix warning message.
(write_local): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187118 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-03 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Thu, 3 May 2012 20:23:42 +0000 (20:23 +0000)]
2012-05-03  Benjamin Kosnik  <bkoz@redhat.com>

* scripts/testsuite_flags.in (cxxflags): Remove
-ftrack-macro-expansion=0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187117 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * dwarf2out.c (struct external_ref, build_local_stub): New.
jason [Thu, 3 May 2012 19:55:16 +0000 (19:55 +0000)]
* dwarf2out.c (struct external_ref, build_local_stub): New.
(hash_external_ref, external_ref_eq, lookup_external_ref): New.
(optimize_external_refs, optimize_external_refs_1): New.
(change_AT_die_ref): New.
(clone_as_declaration): Add DW_AT_signature when cloning a declaration.
(build_abbrev_table): Take the external refs hashtable.
(output_comp_unit): Get it from optimize_external_refs and pass it in.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187116 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/53093
hubicka [Thu, 3 May 2012 19:22:03 +0000 (19:22 +0000)]
PR middle-end/53093
* tree-emutls.c (new_emutls_decl): Fix handling of aliases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187115 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/53106
hubicka [Thu, 3 May 2012 19:18:51 +0000 (19:18 +0000)]
PR middle-end/53106
* ipa.c (cgraph_remove_unreachable_nodes): Fix handling of clones.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187114 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agocompiler: Build import tables as needed for imported interfaces.
ian [Thu, 3 May 2012 17:42:02 +0000 (17:42 +0000)]
compiler: Build import tables as needed for imported interfaces.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187111 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAdd PR rtl-optimization/52543 to changelog.
rsandifo [Thu, 3 May 2012 17:04:41 +0000 (17:04 +0000)]
Add PR rtl-optimization/52543 to changelog.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187110 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibatomic: Enable AM_MAINTAINER_MODE
rth [Thu, 3 May 2012 16:30:11 +0000 (16:30 +0000)]
libatomic: Enable AM_MAINTAINER_MODE

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187108 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * dwarf2out.c (die_struct): Add comdat_type_p flag. Use it instead of
jason [Thu, 3 May 2012 16:19:17 +0000 (16:19 +0000)]
* dwarf2out.c (die_struct): Add comdat_type_p flag.  Use it instead of
use_debug_types to discriminate the die_id union.
(print_die, assign_symbol_names, copy_decls_walk): Likewise.
(build_abbrev_table, output_die): Likewise.
(prune_unused_types_walk_attribs): Likewise.
(generate_type_signature, copy_declaration_context): Set it.
(remove_child_or_replace_with_skeleton): Set it.
(dwarf2out_start_source_file, dwarf2out_end_source_file): Don't
check use_debug_types.
(dwarf2out_finish): Do break_out_includes after .debug_types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187107 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * dwarf2out.c (modified_type_die): Use scope_die_for.
jason [Thu, 3 May 2012 16:19:02 +0000 (16:19 +0000)]
* dwarf2out.c (modified_type_die): Use scope_die_for.
(gen_type_die_with_usage, dwarf2out_finish): Likewise.
(uses_local_type_r, uses_local_type): New.
(scope_die_for): Keep a type that uses a local type in local scope.
Use get_context_die for namespace and type scope.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187106 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.c (ix86_code_end): Set DECL_IGNORED_P on the
jason [Thu, 3 May 2012 16:18:51 +0000 (16:18 +0000)]
* config/i386/i386.c (ix86_code_end): Set DECL_IGNORED_P on the
pc thunk.
* dwarf2out.c (output_aranges): Skip DECL_IGNORED_P functions.
(dwarf2out_finish): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187105 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agocompiler: Fix order of initialization bug with global var a, b = f().
ian [Thu, 3 May 2012 16:09:25 +0000 (16:09 +0000)]
compiler: Fix order of initialization bug with global var a, b = f().

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187103 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Handle compilation
rth [Thu, 3 May 2012 15:59:43 +0000 (15:59 +0000)]
    * acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Handle compilation
        failure in gcc_no_link path.
        * configure: Rebuild.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187102 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-03 Martin Jambor <mjambor@suse.cz>
jamborm [Thu, 3 May 2012 15:48:56 +0000 (15:48 +0000)]
2012-05-03  Martin Jambor  <mjambor@suse.cz>

* builtins.c (get_object_alignment_1): Return whether we can determine
the alignment or conservatively assume byte alignment.  Return the
alignment by reference.  Use get_pointer_alignment_1 for dereference
alignment.
(get_pointer_alignment_1): Return whether we can determine the
alignment or conservatively assume byte alignment.  Return the
alignment by reference.  Use get_ptr_info_alignment to get SSA name
alignment.
(get_object_alignment): Update call to get_object_alignment_1.
(get_object_or_type_alignment): Likewise, fall back to type alignment
only when it returned false.
(get_pointer_alignment): Update call to get_pointer_alignment_1.
* fold-const.c (get_pointer_modulus_and_residue): Update call to
get_object_alignment_1.
* ipa-prop.c (ipa_modify_call_arguments): Update call to
get_pointer_alignment_1.
* tree-sra.c (build_ref_for_offset): Likewise, fall back to the type
of MEM_REF or TARGET_MEM_REF only when it returns false.
* tree-ssa-ccp.c (get_value_from_alignment): Update call to
get_object_alignment_1.
(ccp_finalize): Use set_ptr_info_alignment.
* tree.h (get_object_alignment_1): Update declaration.
(get_pointer_alignment_1): Likewise.
* gimple-pretty-print.c (dump_gimple_phi): Use get_ptr_info_alignment.
(dump_gimple_stmt): Likewise.
* tree-flow.h (ptr_info_def): Updated comments of fields align and
misalign.
(get_ptr_info_alignment): Declared.
(mark_ptr_info_alignment_unknown): Likewise.
(set_ptr_info_alignment): Likewise.
(adjust_ptr_info_misalignment): Likewise.
* tree-ssa-address.c (copy_ref_info): Use new access functions to get
and set alignment of SSA names.
* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Call
mark_ptr_info_alignment_unknown.
* tree-ssanames.c (get_ptr_info_alignment): New function.
(mark_ptr_info_alignment_unknown): Likewise.
(set_ptr_info_alignment): Likewise.
(adjust_ptr_info_misalignment): Likewise.
(get_ptr_info): Call mark_ptr_info_alignment_unknown.
* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
Likewise.
(bump_vector_ptr): Likewise.
* tree-vect-stmts.c (create_array_ref): Use set_ptr_info_alignment.
(vectorizable_store): Likewise.
(vectorizable_load): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187101 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/mh-ppc-aix (LDFLAGS): Quote $(CC).
hainque [Thu, 3 May 2012 15:39:07 +0000 (15:39 +0000)]
    * config/mh-ppc-aix (LDFLAGS): Quote $(CC).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187100 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * basic-block.h (struct rtl_bb_info, struct gimple_bb_info): Move
matz [Thu, 3 May 2012 14:34:07 +0000 (14:34 +0000)]
* basic-block.h (struct rtl_bb_info, struct gimple_bb_info): Move
in front of basic_block_def.
(struct basic_block_def): Make il.gimple the full struct, not a
pointer.
(__assert_gimple_bb_smaller_rtl_bb): Asserting typedef.

* cfgexpand.c (expand_gimple_basic_block): Clear all il.gimple
members.
* gimple-iterator.c (gimple_stmt_iterator): Don't special case
NULL il.gimple, which can't happen anymore.
* gimple.h (bb_seq): il.gimple can't be NULL.
(bb_seq_add): Ditto.
(set_bb_seq): Adjust.
(gsi_start_bb, gsi_last_bb): Tidy.
* lto-streamer-in.c (make_new_block): Don't zero members that
are zeroed already, don't allocate a gimple_bb_info.
* tree-cfg.c (create_bb): Don't allocate a gimple_bb_info.
(remove_bb): Clear all il.gimple members.
(gimple_verify_flow_info): Adjust for flat il.gimple.
* tree-flow-inline.h (phi_nodes, phi_nodes_ptr, set_phi_nodes): Adjust.

* coretypes.h (const_gimple_seq): Remove typedef.
* gimple.h (gimple_seq_first): Take gimple_seq.
(gimple_seq_first_stmt): Ditto.
(gimple_seq_last): Ditto.
(gimple_seq_last_stmt): Ditto.
(gimple_seq_empty_p): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187099 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago/cp
paolo [Thu, 3 May 2012 14:28:46 +0000 (14:28 +0000)]
/cp
2012-05-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53186
* call.c (build_over_call): Handle final member functions
and class types.
(build_new_method_call_1): Do not handle here.

/testsuite
2012-05-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53186
* g++.dg/other/final2.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187097 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-03 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 3 May 2012 13:07:31 +0000 (13:07 +0000)]
2012-05-03  Richard Guenther  <rguenther@suse.de>

* tree-ssa-pre.c (valid_in_sets): Remove checking of trapping
operations.
(prune_clobbered_mems): Do it here.  Do not uselessly sort
expressions.
(compute_avail): Do not add possibly trapping operations to
EXP_GEN if they might not be executed in the block.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187096 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/alpha/elf.h (MAX_OFILE_ALIGNMENT): Remove.
uros [Thu, 3 May 2012 12:03:01 +0000 (12:03 +0000)]
* config/alpha/elf.h (MAX_OFILE_ALIGNMENT): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187095 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.target/i386/hle-cmpxchg-acq-1.c (dg-options): Add -march=x86-64.
uros [Thu, 3 May 2012 11:54:58 +0000 (11:54 +0000)]
* gcc.target/i386/hle-cmpxchg-acq-1.c (dg-options): Add -march=x86-64.
* gcc.target/i386/hle-xadd-acq-1.c (dg-options): Ditto.
* gcc.target/i386/hle-cmpxchg-rel-1.c (dg-options): Ditto.
* gcc.target/i386/hle-xadd-rel-1.c (dg-options): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187094 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree-switch-conversion.c (gen_inbound_check): Free post-dominance
steven [Thu, 3 May 2012 11:14:15 +0000 (11:14 +0000)]
* tree-switch-conversion.c (gen_inbound_check): Free post-dominance
information as early as possible.  Update dominance info instead of
discarding it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187093 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-03 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 3 May 2012 11:11:34 +0000 (11:11 +0000)]
2012-05-03  Richard Guenther  <rguenther@suse.de>

* tree-ssa-pre.c (debug_bitmap_sets_for): New function.
(union_contains_value): Remove.
(vro_valid_in_sets): Likewise.
(op_valid_in_sets): New function.
(valid_in_sets): Use op_valid_in_sets.
(insert_into_preds_of_block): Move dumping ...
(do_regular_insertion): ... here.
(do_partial_partial_insertion): ... and here.  Dump that
we've found a partial partial redundancy.
(insert): Dump the current insert iteration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187092 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR plugins/53126
jakub [Thu, 3 May 2012 11:09:07 +0000 (11:09 +0000)]
PR plugins/53126
* gcc-ar.c (main): If GCC_EXEC_PREFIX is set in env,
append program name to it and pass that as first argument
to make_relative_prefix.  Always pass standard_libexec_prefix
as last argument to make_relative_prefix.  If
make_relative_prefix returns NULL, fall back to
standard_libexec_prefix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187090 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.target/i386/hle-xadd-rel-1.c: Match .byte 0xf3 instead of
jakub [Thu, 3 May 2012 10:21:41 +0000 (10:21 +0000)]
* gcc.target/i386/hle-xadd-rel-1.c: Match .byte 0xf3 instead of
.byte 0xf2.
* gcc.target/i386/hle-sub-rel-1.c: Likewise.
* gcc.target/i386/hle-xchg-rel-1.c: Likewise.
* gcc.target/i386/hle-add-rel-1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187089 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR debug/53174
jakub [Thu, 3 May 2012 10:18:34 +0000 (10:18 +0000)]
PR debug/53174
* tree-predcom.c (remove_stmt): Call reset_debug_uses on stmts being
removed.

* gcc.dg/pr53174.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187087 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/53187
jakub [Thu, 3 May 2012 10:16:01 +0000 (10:16 +0000)]
PR target/53187
* config/arm/arm.c (arm_select_cc_mode): If x has MODE_CC class
mode, return that mode.

* gcc.target/arm/pr53187.c: New test.
* gcc.c-torture/compile/pr53187.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187085 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/53194
jakub [Thu, 3 May 2012 10:12:33 +0000 (10:12 +0000)]
PR target/53194
* config/i386/i386-c.c (ix86_target_macros_internal): Don't
define __ATOMIC_HLE_* macros here.
(ix86_target_macros): But here, using cpp_define_formatted.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187084 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-03 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 3 May 2012 09:47:06 +0000 (09:47 +0000)]
2012-05-03  Richard Guenther  <rguenther@suse.de>

* gfortran.dg/pr52621.f90: Add -w to avoid diagnostic about
unsupported prefetching support.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187082 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/testsuite
gretay [Thu, 3 May 2012 09:18:57 +0000 (09:18 +0000)]
gcc/testsuite

2012-05-03  Greta Yorsh  <Greta.Yorsh@arm.com>

       * gcc.dg/fixed-point/composite-type.c (dg-options): Add
       option -ftrack-macro-expansion=0.
       * gcc.dg/fixed-point/operator-bitwise.c (dg-options): Add
       option -ftrack-macro-expansion=0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187081 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/testsuite
gretay [Thu, 3 May 2012 08:48:22 +0000 (08:48 +0000)]
gcc/testsuite

2012-05-02  Greta Yorsh  <Greta.Yorsh@arm.com>

* gcc.dg/builtin-stringop-chk-1.c (dg-options): Replace
dg-options for target arm with dg-additional-options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187079 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-03 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 3 May 2012 08:37:18 +0000 (08:37 +0000)]
2012-05-03  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/53144
* tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
Rename to ...
(vn_reference_lookup_or_insert_for_pieces): ... this.  Properly deal
with SSA name values.
(vn_reference_lookup_3): Adjust callers.

* gcc.dg/torture/pr53144.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187078 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoWith -march=native generate fma3 instruction by default for AMD processors which...
vekumar [Thu, 3 May 2012 07:34:25 +0000 (07:34 +0000)]
With -march=native generate fma3 instruction by default for AMD processors which support both fma and fma4

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187077 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-03 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 3 May 2012 07:18:56 +0000 (07:18 +0000)]
2012-05-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52864
        * interface.c (compare_parameter_intent): Remove.
        (check_intents): Remove call, handle CLASS pointer.
        (compare_actual_formal): Handle CLASS pointer.

2012-05-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52864
        * gfortran.dg/pointer_intent_7.f90: New.
        * gfortran.dg/pure_formal_3.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187076 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/53201
kyukhin [Thu, 3 May 2012 06:50:16 +0000 (06:50 +0000)]
    PR target/53201
        * config/i386/driver-i386.c (host_detect_local_cpu): Add space to
        "-mno-hle".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187075 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR bootstrap/53197
matz [Thu, 3 May 2012 02:32:08 +0000 (02:32 +0000)]
PR bootstrap/53197
* tree-ssa-dse.c (dse_optimize_stmt): Take pointer to
iterator.
(dse_enter_block): Properly iterate the whole sequence even
if the last statement was removed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187074 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Thu, 3 May 2012 00:18:18 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187072 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/xml/faq.xml: Update outdated allocator documentation.
redi [Wed, 2 May 2012 23:20:38 +0000 (23:20 +0000)]
* doc/xml/faq.xml: Update outdated allocator documentation.
* doc/xml/manual/allocator.xml: Likewise.
* doc/xml/manual/debug.xml: Likewise.
* doc/xml/manual/evolution.xml: Likewise.
* doc/xml/manual/using.xml: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187068 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-02 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Wed, 2 May 2012 22:25:28 +0000 (22:25 +0000)]
2012-05-02  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/44015
* include/bits/basic_ios.h: Add tparam markup for
* doxygen.  include/bits/basic_string.h: Same.
* include/bits/forward_list.h: Same.
* include/bits/stl_bvector.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/stl_list.h: Same.  include/bits/stl_map.h:
* Same.  include/bits/stl_multimap.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/stl_pair.h: Same.
* include/bits/stl_queue.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/stl_stack.h: Same.
* include/bits/stl_vector.h: Same.
* include/bits/unordered_map.h: Same.
* include/bits/unordered_set.h: Same.  include/std/array:
* Same.  include/std/atomic: Same.  include/std/fstream:
* Same.  include/std/istream: Same.  include/std/ostream:
* Same.  include/std/sstream: Same.
* include/std/streambuf: Same.
* testsuite/23_containers/deque/requirements/dr438/*:
          Adjust line numbers.
* testsuite/23_containers/list/requirements/dr438/*: Same.
* testsuite/23_containers/vector/requirements/dr438/*: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187066 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): For pic code,
steven [Wed, 2 May 2012 22:18:11 +0000 (22:18 +0000)]
* config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): For pic code,
unset flag_jump_tables.
* stmt.c (expand_case): Remove special flag_pic case conditional
on ASM_OUTPUT_ADDR_DIFF_ELT not being defined.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187065 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-02 Ulrich Weigand <ulrich.weigand@linaro.org>
uweigand [Wed, 2 May 2012 20:56:44 +0000 (20:56 +0000)]
2012-05-02  Ulrich Weigand  <ulrich.weigand@linaro.org>

gcc/
* common/config/s390/s390-common.c (s390_option_optimization_table):
Enable -fsched-pressure using -fsched-pressure-algorithm=model by
default when optimizing.

gcc/testsuite/
* gcc.target/s390/20030123-1.c: Add missing "volatile".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187064 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-02 Martin Jambor <mjambor@suse.cz>
jamborm [Wed, 2 May 2012 19:50:37 +0000 (19:50 +0000)]
2012-05-02  Martin Jambor  <mjambor@suse.cz>

PR lto/52605
* dwarf2out.c (dwarf2out_decl): Only lookup die representing context
of a variable when the contect is a function.

* gcc/testsuite/g++.dg/lto/pr52605_0.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187063 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago* crossconfig.m4: Since we know that all TPF builds are cross-
dj [Wed, 2 May 2012 19:34:31 +0000 (19:34 +0000)]
* crossconfig.m4: Since we know that all TPF builds are cross-
builds and cannot run configuration-time link tests, do not
allow it; just go with known supported linker options.
* configure: Regenerate (called as GLIBCXX_CROSSCONFIG).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187062 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoinclude/
ccoutant [Wed, 2 May 2012 18:41:56 +0000 (18:41 +0000)]
include/

* dwarf2.def: Remove DW_FORM_GNU_ref_index,
replace DW_AT_GNU_ref_base with DW_AT_GNU_ranges_base.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187061 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoProperly initialize cpp_context in destringize_and_run
dodji [Wed, 2 May 2012 16:55:19 +0000 (16:55 +0000)]
Properly initialize cpp_context in destringize_and_run

destringize_and_run forgets to initialize all the fields of the
cpp_context that it pushes.  Later _cpp_pop_context then gets confused
when it accesses context->tokens_kind via the call to macro_of_context
on context->prev.

The first hunk of this patch is the real obvious fix.  The second hunk
is just an assert that I am adding to err on the safe side.

Tested by on x86_64-unknown-linux-gnu against trunk by running the
test gcc.dg/gomp/macro-4.c under Valgrind, and bootstrapped.

libcpp/

* directives.c (destringize_and_run): Properly initialize the new
context.
* macro.c (_cpp_pop_context): Assert that we shouldn't try to pop
the initial base context, which has the same life time as the
current instance of cpp_file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187054 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * coretypes.h (gimple_seq, const_gimple_seq): Typedef as gimple.
matz [Wed, 2 May 2012 16:41:48 +0000 (16:41 +0000)]
* coretypes.h (gimple_seq, const_gimple_seq): Typedef as gimple.
* gimple.h (struct gimple_seq_node_d, struct gimple_seq_d): Remove.
(const_gimple_seq_node): Remove.
(gimple_seq_node): Typedef as gimple.
(struct gimple_statement_base): Add next and prev members,
adjust all WORD markers in using structs.
(union gimple_statement_d): Link via gsbase.next field for GC and PCH.
(gimple_seq_first, gimple_seq_first_stmt, gimple_seq_last,
gimple_seq_last_stmt): Adjust as gimple_seq, gimple_seq_node and
gimple are the same.
(gimple_seq_set_last, gimple_seq_set_first): Don't allocate
gimple_seq, adjust.
(gimple_init_singleton): New function.
(gsi_start_1, gsi_last_1, gsi_end_p, gsi_one_before_end_p): Adjust.
(gsi_next, gsi_prev): Adjust, handle prev cyclic list correctly.
(gsi_stmt): Adjust.
(gsi_stmt_ptr): Remove.
(enum gimple_alloc_kind): Remove gimple_alloc_kind_seq member.

* gimple-iterator.c (update_bb_for_stmts): Take last parameter
again, adjust for above changes.
(update_call_edge_frequencies): Adjust for above changes.
(gsi_insert_seq_nodes_before): Rewrite for new data structure.
(gsi_insert_seq_nodes_after): Ditto.
(gsi_split_seq_after): Ditto.
(gsi_set_stmt): Ditto.
(gsi_split_seq_before): Ditto.
(gsi_remove): Ditto.
(gsi_insert_seq_before_without_update): Don't free sequence.
(gsi_insert_seq_after_without_update): Ditto.
(gsi_replace): Assert some more invariants.
(gsi_insert_before_without_update, gsi_insert_after_without_update):
Tidy.
(gsi_for_stmt): Don't search for stmt.
(gsi_insert_on_edge_immediate): Tidy.

* gimple.c (gimple_alloc_k): Remove "sequences".
(gimple_seq_cache): Remove.
(gimple_alloc_stat): Make stmt a singleton sequence.
(gimple_seq_alloc, gimple_seq_free): Remove.
(gimple_assign_set_rhs_with_ops_1): Ensure new stmt is a singleton.
(gimple_copy): Ditto.
* gimplify.c (gimplify_cleanup_point_expr): Use gsi_set_stmt,
create iterator from correct sequence.
* tree-phinodes.c (make_phi_node): Make stmt a singleton.

* gimple.h (gimple_stmt_iterator <seq>): Make it be pointer to
gimple_seq.
(gimple_seq_set_last, gimple_seq_set_first): Take pointer to
sequence, lazily allocate it.
(bb_seq_addr): New function.
(gsi_start_1): Rename from gsi_start, but take pointer to sequence.
(gsi_start): Macro to wrap gsi_start_1 taking pointer of argument.
(gsi_none): New function.
(gsi_start_bb): Adjust.
(gsi_last_1): Rename from gsi_last, but take pointer to sequence.
(gsi_last): Macro to wrap gsi_last_1 taking pointer of argument.
(gsi_last_bb): Adjust.
(gsi_seq): Adjust.
* tree-flow-inline.h (phi_nodes_ptr): New function.

* gimple-iterator.c (gsi_insert_seq_nodes_before): Adjust to
datastructure and interface change.
(gsi_insert_seq_before_without_update): Ditto.
(gsi_insert_seq_nodes_after): Ditto.
(gsi_insert_seq_after_without_update): Ditto.
(gsi_split_seq_after): Ditto, don't use gimple_seq_alloc.
(gsi_split_seq_before): Ditto.
(gsi_start_phis): Adjust.
* tree-vect-loop.c (vect_determine_vectorization_factor): Use
gsi_none.
(vect_transform_loop): Ditto.
* gimple.c (gimple_seq_add_stmt, gimple_seq_add_seq,
gimple_seq_copy): Don't use gimple_seq_alloc.
* gimplify.c (gimple_seq_add_stmt_without_update): Ditto.
(gimplify_seq_add_seq): Ditto.
* lto-streamer-in.c (make_new_block): Ditto.
* tree-cfg.c (create_bb): Ditto.
* tree-sra.c (initialize_parameter_reductions): Ditto.

* gimple.h (gimple_seq_first, gimple_seq_first_stmt, gimple_seq_last,
gimple_seq_last_stmt, gimple_seq_set_last, gimple_seq_set_first,
gimple_seq_empty_p, gimple_seq_alloc_with_stmt, bb_seq,
set_bb_seq): Move down to after gimple_statement_d definition.

* gimple-fold.c (gimplify_and_update_call_from_tree): Use
gsi_replace_with_seq, instead of inserting itself.
* gimple-iterator.c (gsi_replace_with_seq): New function.
* tree-ssa-forwprop.c (forward_propagate_comparison): Take
iterator instead of statement, advance it.
(ssa_forward_propagate_and_combine): Adjust call to above.

* tree-phinodes.c (add_phi_node_to_bb): Tidy, don't use
gimple_seq_alloc.
* omp-low.c (finalize_task_copyfn): Don't use gimple_seq_alloc.
* tree-nested.c (walk_gimple_omp_for): Ditto.
* trans-mem.c (lower_transaction): Ditto.
* tree-eh.c (do_return_redirection): Ditto.
(do_goto_redirection): Ditto.
(lower_try_finally_switch): Ditto.
* gimplify.c (gimplify_stmt): Ditto.
(gimplify_scan_omp_clauses): Ditto.
(gimplify_omp_for): Ditto.
(gimplify_function_tree): Ditto.
* gimple-fold.c (gimplify_and_update_call_from_tree): Ditto.
* tree-mudflap.c (mf_decl_cache_locals): Ditto.
(mf_build_check_statement_for): Ditto.
(mx_register_decls): Ditto.
* graphite-sese-to-poly.c (remove_invariant_phi): Ditto,
and don't use itertors to append.
(insert_stmts): Ditto.
(insert_out_of_ssa_copy): Ditto.
(insert_out_of_ssa_copy_on_edge): Ditto.

* gimple.h (gimple_bind_body_ptr): New function.
(gimple_bind_body): Use it.
(gimple_catch_handler): Use gimple_catch_handler_ptr.
(gimple_eh_filter_failure_ptr): New function.
(gimple_eh_filter_failure): Use it.
(gimple_eh_else_n_body_ptr): New function.
(gimple_eh_else_n_body): Use it.
(gimple_eh_else_e_body_ptr): New function.
(gimple_eh_else_e_body): Use it.
(gimple_try_eval_ptr): New function.
(gimple_try_eval): Use it.
(gimple_try_cleanup_ptr): New function.
(gimple_try_cleanup): Use it.
(gimple_wce_cleanup_ptr): New function.
(gimple_wce_cleanup): Use it.
(gimple_omp_body_ptr): New function.
(gimple_omp_body): Use it.
(gimple_omp_for_pre_body_ptr): New function.
(gimple_omp_for_pre_body): Use it.
(gimple_transaction_body_ptr): New function.
(gimple_transaction_body): Use it.
(gsi_split_seq_before): Adjust to return nothing and take pointer
to sequence.
(gsi_set_stmt): Declare.
(gsi_replace_with_seq): Declare.
(walk_gimple_seq_mod): Declare.
* function.h (struct function <gimple_body>): Use typedef gimple_seq.

* gimple-iterator.c (gsi_set_stmt): New function.
(gsi_split_seq_before): Return new sequence via pointer argument.
(gsi_replace): Use gsi_set_stmt.

* tree-ssa-loop-im.c (move_computations_stmt): First remove
then insert stmt.
* tree-complex.c (update_complex_components_on_edge): Don't
copy gsi.
* tree-phinodes.c (resize_phi_node): Don't resize stmt in-place,
return new stmt.
(reserve_phi_args_for_new_edge): Change call to above,
use gsi_set_stmt.

* omp-low.c (lower_omp): Change prototype to take pointer to
sequence.
(lower_rec_input_clauses): Use gimple_seq_add_seq instead of
iterators.  Adjust call to lower_omp.
(lower_lastprivate_clauses): Adjust call to lower_omp.
(lower_reduction_clauses): Ditto.
(expand_omp_taskreg): Nullify non-cfg body of child_fn.
(lower_omp_sections): Don't explicitely count sequence length,
nullify lowered bodies earlier, ensure stmts are part of only
one sequence, adjust call to lower_omp.
(lower_omp_single): Ensure stmts are part of only one sequence,
adjust call to lower_omp.
(lower_omp_master): Ditto.
(lower_omp_ordered): Ditto.
(lower_omp_critical): Ditto.
(lower_omp_for): Ditto.
(lower_omp_taskreg): Ditto, tidy.
(lower_omp_1): Adjust calls to lower_omp.
(execute_lower_omp): Ditto.
(lower_omp): Adjust to take pointer to sequence.
(diagnose_sb_2): Use walk_gimple_seq_mod.
(diagnose_omp_structured_block_errors): Ditto and set possibly
changed function body.
* gimple-low.c (lower_function_body): Set function body after
it stabilizes.
(lower_sequence): Adjust to take pointer to sequence.
(lower_omp_directive): Ensure stmt isn't put twice into the
sequence, adjust call to lower_sequence.
(lower_stmt): Adjust calls to lower_sequence.
(lower_gimple_bind): Ditto.
(gimple_try_catch_may_fallthru): Call gsi_start with lvalue.
* tree-nested.c (walk_body): Take pointer to sequence, use
walk_gimple_seq_mod.
(walk_function): Adjust call to walk_body, set possibly changed
body.
(walk_gimple_omp_for): Adjust calls to walk_body.
(convert_nonlocal_omp_clauses): Ditto.
(convert_nonlocal_reference_stmt): Ditto.
(convert_local_omp_clauses): Ditto.
(convert_local_reference_stmt): Ditto.
(convert_tramp_reference_stmt): Ditto.
(convert_gimple_call): Ditto.
(convert_nl_goto_reference): Use local iterator copy.
* gimple.c (walk_gimple_seq_mod): Renamed from walk_gimple_seq,
but taking pointer to sequence, ensure gsi_start is called with
callers lvalue.
(walk_gimple_seq): New wrapper around walk_gimple_seq_mod,
asserting that the sequence head didn't change.
(walk_gimple_stmt): Replace all calls to walk_gimple_seq with
walk_gimple_seq_mod.
* trans-mem.c (lower_transaction): Use walk_gimple_seq_mod.
(execute_lower_tm): Ditto, and set possibly changed body.
* tree-eh.c (lower_eh_constructs_1): Take pointer to sequence,
call gsi_start with that lvalue.
(replace_goto_queue_stmt_list): Ditto.
(replace_goto_queue_1): Adjust calls to replace_goto_queue_stmt_list.
(replace_goto_queue): Ditto.
(lower_try_finally_nofallthru): Adjust calls to lower_eh_constructs_1.
(lower_try_finally_onedest): Ditto.
(lower_try_finally_copy): Ditto.
(lower_try_finally_switch): Ditto.
(lower_try_finally): Ditto.
(lower_eh_filter): Ditto.
(lower_eh_must_not_throw): Ditto.
(lower_cleanup): Ditto.
(lower_eh_constructs_2): Ditto.
(lower_catch): Ditto, and ensure gsi_start is called with lvalue.
(lower_eh_constructs): Adjust calls to lower_eh_constructs_1, and
set possibly changed body.
(optimize_double_finally): Call gsi_start with lvalue.

* tree-cfg.c (make_blocks): Adjust call to gsi_split_seq_before.
(gimple_split_block): Ditto.
(gimple_merge_blocks): Use gsi_start_phis.
(move_stmt_r): Use walk_gimple_seq_mod.
* tree-ssa-dse.c (dse_enter_block): Use gsi_last_bb.
* cgraphbuild.c (build_cgraph_edges): Use gsi_start_phis.
(rebuild_cgraph_edges): Ditto.
(cgraph_rebuild_references): Ditto.
* ipa-prop.c (ipa_analyze_params_uses): Ditto.
* tree-inline.c (copy_phis_for_bb): Ditto.
* tree-ssa-dce.c: Ditto.

* cgraphunit.c (cgraph_analyze_function): Use gimple_has_body_p.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187053 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-02 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Wed, 2 May 2012 16:22:06 +0000 (16:22 +0000)]
2012-05-02  Benjamin Kosnik  <bkoz@redhat.com>

* include/bits/hashtable_policy.h: Correct namepace nesting for
_Hashtable forward declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187052 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoChangeLog entry:
kyukhin [Wed, 2 May 2012 15:32:01 +0000 (15:32 +0000)]
ChangeLog entry:

        * coretypes (MEMMODEL_MASK): New.
        * builtins.c (get_memmodel): Add val. Call target.memmodel_check
        and return new variable.
        (expand_builtin_atomic_exchange):  Mask memmodel values.
        (expand_builtin_atomic_compare_exchange): Ditto.
        (expand_builtin_atomic_load): Ditto.
        (expand_builtin_atomic_store): Ditto.
        (expand_builtin_atomic_clear): Ditto.
        * doc/extend.texi: Mention port-dependent memory model flags.
        * config/i386/cpuid.h (bit_HLE): New.
        * config/i386/driver-i386.c (host_detect_local_cpu): Detect
        HLE support.
        * config/i386/i386-protos.h (ix86_generate_hle_prefix): New.
        * config/i386/i386-c.c (ix86_target_macros_internal): Set
        HLE defines.
        (ix86_target_string)<-mhle>: New.
        (ix86_valid_target_attribute_inner_p)<OPT_mhle>: Ditto.
        * config/i386/i386.c (ix86_target_string)<OPTION_MASK_ISA_HLE>:
        New.
        (ix86_valid_target_attribute_inner_p)<OPT_mhle>: Ditto.
        (ix86_option_override_internal)<PTA_HLE>: New switch, set it
        enabled for generic, generic64 and core-avx2.
        (ix86_print_operand): Generate HLE lock prefixes.
        (ix86_memmodel_check): New.
        (TARGET_MEMMODEL_CHECK): Ditto.
        * config/i386/i386.h (OPTION_ISA_HLE): Ditto.
        (IX86_HLE_ACQUIRE): Ditto.
        (IX86_HLE_RELEASE): Ditto.
        * config/i386/i386.h (ix86_generate_hle_prefix): Ditto.
        * config/i386/i386.opt (mhle): Ditto.
        * config/i386/sync.md(atomic_compare_and_swap<mode>): Pass
        success model to instruction emitter.
        (atomic_fetch_add<mode>): Ditto.
        (atomic_exchange<mode>): Ditto.
        (atomic_add<mode>): Ditto.
        (atomic_sub<mode>): Ditto.
        (atomic_<code><mode>): Ditto.
        (*atomic_compare_and_swap_doubledi_pic): Ditto.
        (atomic_compare_and_swap_single<mode>): Define and use argument
        for success model.
        (atomic_compare_and_swap_double<mode>): Ditto.
        * configure.ac: Check if assembler support HLE prefixes.
        * configure: Regenerate.
        * config.in: Ditto.

testsuite/ChangeLog entry:

        * gcc.target/i386/hle-cmpxchg-acq-1.c: New.
        * gcc.target/i386/hle-cmpxchg-rel-1.c: Ditto.
        * gcc.target/i386/hle-add-acq-1.c: Ditto.
        * gcc.target/i386/hle-add-rel-1.c: Ditto.
        * gcc.target/i386/hle-and-acq-1.c: Ditto.
        * gcc.target/i386/hle-and-rel-1.c: Ditto.
        * gcc.target/i386/hle-or-acq-1.c: Ditto.
        * gcc.target/i386/hle-or-rel-1.c: Ditto.
        * gcc.target/i386/hle-sub-acq-1.c: Ditto.
        * gcc.target/i386/hle-sub-rel-1.c: Ditto.
        * gcc.target/i386/hle-xadd-acq-1.c: Ditto.
        * gcc.target/i386/hle-xadd-rel-1.c: Ditto.
        * gcc.target/i386/hle-xchg-acq-1.c: Ditto.
        * gcc.target/i386/hle-xchg-rel-1.c: Ditto.
        * gcc.target/i386/hle-xor-acq-1.c: Ditto.
        * gcc.target/i386/hle-xor-rel-1.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187051 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
steven [Wed, 2 May 2012 12:57:10 +0000 (12:57 +0000)]
gcc/
PR middle-end/53153
* gimplify.c (preprocess_case_label_vec_for_gimple): New function,
split out from ...
(gimplify_switch_expr): ... here.
* gimple.h (preprocess_case_label_vec_for_gimple): Add prototype.
* tree-ssa-forwprop.c (simplify_gimple_switch_label_vec): New function
to clean up case labels with values outside the index type range.
(simplify_gimple_switch): Call it if something changed.
Remove strange and unnecessary assert.

testsuite/
PR middle-end/53153
* gcc.dg/pr53153.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187048 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/ada/
charlet [Wed, 2 May 2012 12:56:11 +0000 (12:56 +0000)]
gcc/ada/

2012-05-02  Pascal Obry  <obry@adacore.com>

Revert 2012-02-24  Dave Korn  <dave.korn.cygwin@gmail.com>

libada/

2012-05-02  Pascal Obry  <obry@adacore.com>

Revert 2012-02-24  Dave Korn  <dave.korn.cygwin@gmail.com>

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187047 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-05-02 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 2 May 2012 11:22:31 +0000 (11:22 +0000)]
2012-05-02  Richard Guenther  <rguenther@suse.de>

* tree.c (valid_constant_size_p): New function.
* tree.h (valid_constant_size_p): Declare.
* cfgexpand.c (expand_one_var): Adjust check for too large
variables by using valid_constant_size_p.
* varasm.c (assemble_variable): Likewise.

c/
* c-decl.c (grokdeclarator): Properly check for sizes that
cover more than half of the address-space.

cp/
* decl.c (grokdeclarator): Properly check for sizes that
cover more than half of the address-space.

2012-05-02  Richard Guenther  <rguenther@suse.de>

* fold-const.c (div_if_zero_remainder): sizetypes no longer
sign-extend.
(int_const_binop_1): New worker for int_const_binop with
overflowable parameter.  Pass it through
to force_fit_type_double.
(int_const_binop): Wrap around int_const_binop_1 with overflowable
equal to one.
(size_binop_loc): Call int_const_binop_1 with overflowable equal
to minus one, forcing overflow detection for even unsigned types.
(extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE special-casing.
(fold_binary_loc): Call try_move_mult_to_index with signed offset.
* stor-layout.c (initialize_sizetypes): sizetypes no longer
sign-extend.
(layout_type): For zero-sized arrays ignore overflow on the
size calculations.
* tree-ssa-ccp.c (bit_value_unop_1): Likewise.
(bit_value_binop_1): Likewise.
* tree.c (double_int_to_tree): Likewise.
(double_int_fits_to_tree_p): Likewise.
(force_fit_type_double): Likewise.
(host_integerp): Likewise.
(int_fits_type_p): Likewise.
* varasm.c (output_constructor_regular_field): Sign-extend the
field-offset to cater for negative offsets produced by the Ada frontend.
* omp-low.c (extract_omp_for_data): Convert the loop step to
signed for pointer adjustments.

* g++.dg/tree-ssa/pr19807.C: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187042 138bc75d-0d04-0410-961f-82ee72b054a4