ro [Fri, 8 Jul 2011 10:20:36 +0000 (10:20 +0000)]
PR testsuite/48727
* g++.dg/opt/devirt2.C: Use specific pattern for sparc*-*-*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176034
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Fri, 8 Jul 2011 10:16:51 +0000 (10:16 +0000)]
2011-07-08 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (analyze_all_variable_accesses): Dump that a struture
is too big for total scalarization.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176033
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Fri, 8 Jul 2011 08:49:57 +0000 (08:49 +0000)]
* configure.host (abi_baseline_subdir_switch): Describe.
Provide default.
(*-*-solaris2.[89], *-*-solaris2.1[0-9]): Override.
* acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Substitute
baseline_subdir_switch.
* testsuite/Makefile.am (site.exp): Emit it.
(baseline_subdir): Use it.
* testsuite/libstdc++-abi/abi.exp: Use it.
* configure: Regenerate.
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* python/Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176032
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 8 Jul 2011 08:42:31 +0000 (08:42 +0000)]
2011-07-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49662
* gcc.dg/graphite/interchange-14.c: XFAIL.
* gcc.dg/graphite/interchange-15.c: Likewise.
* gcc.dg/graphite/interchange-mvt.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176031
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 8 Jul 2011 00:17:49 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176025
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 8 Jul 2011 00:14:19 +0000 (00:14 +0000)]
alpha-elf: Disable stabs debugging, and the mips sdb extensions.
In particular, the mips sdb extensions accidentally implied the
irix dwarf2 extensions and restrictions. Disable stabs because
it's almost certainly untested for years.
* config/alpha/elf.h (MIPS_DEBUGGING_INFO): Undef.
(DBX_DEBUGGING_INFO): Undef.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176021
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 8 Jul 2011 00:13:02 +0000 (00:13 +0000)]
Dump NOTE_INSN_CFI notes.
* dwarf2out.c (output_cfi_directive): Export. Add FILE parameter.
Handle some opcodes specially for debugging.
* print-rtl.c: Include dwarf2out.h
(print_rtx): Handle NOTE_INSN_CFI.
* Makefile.in (print-rtl.o): Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176020
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 8 Jul 2011 00:05:57 +0000 (00:05 +0000)]
dwarf2: Extract cfi creation to a new pass.
* tree-pass.h (pass_dwarf2_frame): Declare.
* passes.c (init_optimization_passes): Add it.
* dwarf2cfi.c (dwarf2out_frame_debug): Make static.
(create_cfi_notes): Rename from dwarf2out_frame_debug_after_prologue;
make static, do not call add_cfis_to_fde.
(dwarf2out_frame_debug_init, dwarf2cfi_function_init,
dwarf2out_frame_init): Merge into...
(execute_dwarf2_frame): ... here. New function.
(dwarf2out_do_frame, dwarf2out_do_cfi_asm): Make boolean. Change
saved_do_cfi_asm to a tri-state variable.
(gate_dwarf2_frame, pass_dwarf2_frame): New.
* dwarf2out.c (dwarf2out_begin_prologue): Only allocate the fde
if it has yet to be done. Don't call dwarf2cfi_function_init.
* dwarf2out.h, debug.h: Update decls.
* final.c (final_start_function): Don't call
dwarf2out_frame_debug_init or dwarf2out_frame_debug_after_prologue.
* lto-streamer-in.c (lto_init_eh): Don't call dwarf2out_frame_init.
* toplev.c (lang_dependent_init): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176019
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 7 Jul 2011 23:57:26 +0000 (23:57 +0000)]
dwarf2out: Convert fde_table to a VEC.
Prepare for allocating the FDE for the current function earlier
than dwarf2out_begin_prologue.
* dwarf2out.c (fde_table, fde_table_allocated, fde_table_in_use,
FDE_TABLE_INCREMENT): Replace with...
(fde_vec): ... this, a new vector.
(current_fde): Remove. Replace all users with cfun->fde.
(output_call_frame_info): Use FOR_EACH_VEC_ELT over fde_vec.
(size_of_aranges, dwarf2out_finish): Likewise.
(dwarf2out_alloc_current_fde): Break out from ...
(dwarf2out_begin_prologue): ... here.
(dwarf2out_frame_init): Remove.
* dwarf2cfi.c: Update all users of current_fde.
(dwarf2out_frame_init): Rename from dwarf2cfi_frame_init.
* dwarf2out.h: Update decls.
(dw_fde_node): Add fde_index member.
* function.h (struct function): Add fde member.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176018
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 7 Jul 2011 23:51:16 +0000 (23:51 +0000)]
dwarf2out: Emit NOTE_INSN_CFI_* both with and without cfi-asm.
This patch is essentially Bernd's 006-cfilabel patch, updated
for all the other changes to dwarf2out.
The patch reduces the difference between the cfi-asm and non-cfi-asm
code paths. We now emit the CFI notes in all cases. Later, after we're
done producing the CFI insns we need, another pass over the rtl adds
the necessary labels and set_loc/advance_loc CFIs. One consequence of
this is that def_cfa_1 can no longer use lookup_cfa, so it just compares
to an old_cfa variable instead.
The major change since Bernd's patch is that all the target-specific
changes are no longer necessary.
* dwarf2cfi.c (add_cfi): Remove.
(dwarf2out_cfi_label): Remove force argument. Only generate the
label name.
(add_fde_cfi): Simplify the different code paths.
(add_cie_cfi): New.
(old_cfa, old_cfa_remember): New.
(def_cfa_1, reg_save): Remove label, add for_cie parameter.
(last_reg_save_label): Remove.
(dwarf2out_args_size, dwarf2out_stack_adjust, queue_reg_save,
dwarf2out_frame_debug_def_cfa, dwarf2out_frame_debug_adjust_cfa,
dwarf2out_frame_debug_cfa_offset, dwarf2out_frame_debug_cfa_register,
dwarf2out_frame_debug_cfa_expression,
dwarf2out_frame_debug_cfa_restore,
dwarf2out_frame_debug_cfa_window_save,
dwarf2out_frame_debug_expr): Remove label parameter.
(cfi_label_required_p, add_cfis_to_fde): New.
(dwarf2out_frame_debug_after_prologue): New.
(dwarf2cfi_frame_init): Initialize old_cfa.
(dwarf2out_frame_debug_restore_state): Likewise.
* dwarf2out.c (dwarf2out_emit_cfi): Only do output for cfi_asm.
(dwarf2out_switch_text_section): Don't clear dw_fde_current_label here.
* final.c (final_start_function): Call
dwarf2out_frame_debug_after_prologue.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176017
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 7 Jul 2011 23:42:41 +0000 (23:42 +0000)]
dwarf2out: Move insn scanning out of final.c.
This patch is essentially Bernd's 005-scanfirst patch, updated for
the introduction of the dwarf2cfi.c file.
We introduce NOTE_INSN_CFI and NOTE_INSN_CFI_LABEL to hold the dwarf2
info during the bulk of final. The actual construction of these notes
still happens during final, right at the very beginning of the pass,
via the dwarf2out_frame_debug_init hook.
* dwarf2cfi.c (cfi_insn): New.
(dwarf2out_cfi_label): Don't emit cfi label here.
(add_fde_cfi): Create a NOTE_INSN_CFI.
(dwarf2out_frame_debug): Setup cfi_insn.
(dwarf2out_frame_debug_init): Loop over insns creating CFI notes.
(dwarf2out_cfi_begin_epilogue): Make static.
(dwarf2out_frame_debug_restore_state): Make static.
* dwarf2out.c (output_cfi_directive): Make static.
(dwarf2out_emit_cfi): New.
* dwarf2out.h: Update.
* final.c (final): Remove CFI notes.
(final_scan_insn): Don't call dwarf2out_cfi_begin_epilogue,
dwarf2out_frame_debug_restore_state, dwarf2out_frame_debug.
Handle NOTE_INSN_CFI and NOTE_INSN_CFI_LABEL.
* insn-notes.def (NOTE_INSN_CFI): New.
(NOTE_INSN_CFI_LABEL): New.
* rtl.h (union rtunion_def): Add rt_cfi member.
(XCFI, XCCFI, NOTE_CFI, NOTE_LABEL_NUMBER): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176016
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 7 Jul 2011 23:35:22 +0000 (23:35 +0000)]
dwarf2out: Split CFI construction routines into a new file.
Excepting changing some functions from static to extern, this
patch contains code motion only. The split is not very clean
at this point, but will be refined as CFI construction is turned
into its own proper pass.
* dwarf2cfi.c: New file.
* Makefile.in (OBJS): Add it.
(GTFILES): Add dwarf2cfi.c and dwarf2out.h.
* gengtype.c (open_base_files): Include dwarf2out.h.
* coretypes.h (enum var_init_status): Move from ...
* rtl.h: ... here.
* dwarf2out.c (saved_do_cfi_asm, dwarf2out_do_frame,
dwarf2out_do_cfi_asm, cie_cfi_vec, dwarf2out_cfi_label_num,
expand_builtin_dwarf_sp_column, init_return_column_size,
expand_builtin_init_dwarf_reg_sizes, new_cfi, add_cfi,
dwarf2out_cfi_label, emit_cfa_remember, any_cfis_emitted, add_fde_cfi,
lookup_cfa_1, lookup_cfa, cfa, cfa_store, cfa_remember, args_size,
old_args_size, cfa_equal_p, def_cfa_1, reg_save, initial_return_save,
stack_adjust_offset, barrier_args_size, compute_barrier_args_size_1,
compute_barrier_args_size, dwarf2out_args_size,
dwarf2out_stack_adjust, dwarf2out_notice_stack_adjust,
queued_reg_saves, reg_saved_in_data, regs_saved_in_regs,
compare_reg_or_pc, record_reg_saved_in_reg, last_reg_save_label,
queue_reg_save, dwarf2out_flush_queued_reg_saves,
clobbers_queued_reg_save, reg_saved_in, cfa_temp,
dwarf2out_frame_debug_def_cfa, dwarf2out_frame_debug_adjust_cfa,
dwarf2out_frame_debug_cfa_offset, dwarf2out_frame_debug_cfa_register,
dwarf2out_frame_debug_cfa_expression,
dwarf2out_frame_debug_cfa_restore,
dwarf2out_frame_debug_cfa_window_save, dwarf2out_frame_debug_expr,
dwarf2out_frame_debug, dwarf2out_frame_debug_init,
dwarf2out_cfi_begin_epilogue, dwarf2out_frame_debug_restore_state,
get_cfa_from_loc_descr): Move to dwarf2cfi.c.
(dw_cfi_ref, dw_fde_ref, dw_cfi_oprnd_ref, enum dw_cfi_oprnd_type,
dw_cfi_oprnd, dw_cfi_node, cfi_vec, dw_cfa_location, dw_fde_node,
dw_val_ref, dw_die_ref, const_dw_die_ref, dw_loc_descr_ref,
dw_loc_list_ref, enum dw_val_class, dw_vec_const, dw_val_node,
dw_loc_descr_node): Move to dwarf2out.h.
(current_fde, output_cfi_directive, build_cfa_loc, get_address_mode,
mem_loc_descriptor): Export.
(build_cfa_aligned_loc): Export. Take CFA as a parameter.
(dwarf2out_frame_init): Extract CIE generation code to
dwarf2cfi_frame_init.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176015
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 7 Jul 2011 21:53:58 +0000 (21:53 +0000)]
PR c++/49663
* pt.c (push_deduction_access_scope): Preserve
processing_template_decl across push_to_top_level.
And revert:
* class.c (pushclass): Accept NULL argument.
(popclass): Deal with popping null class.
* pt.c (push_access_scope, pop_access_scope): Use them rather than
push_to_top_level/pop_from_top_level.
* name-lookup.c (lookup_name_real_1): Check current_class_type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176013
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Thu, 7 Jul 2011 21:03:25 +0000 (21:03 +0000)]
2011-07-07 Mikael Morin <mikael.morin@sfr.fr>
PR fortran/49648
* gfortran.dg/result_in_spec_4.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176012
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Thu, 7 Jul 2011 20:58:16 +0000 (20:58 +0000)]
2011-07-07 Mikael Morin <mikael.morin@sfr.fr>
PR fortran/49648
* resolve.c (resolve_symbol): Force resolution of function result's
array specification.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176011
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 7 Jul 2011 20:36:59 +0000 (20:36 +0000)]
PR target/49660
* config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Add
MASK_V8PLUS, remove commented out flag and reorder.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176008
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 7 Jul 2011 19:41:55 +0000 (19:41 +0000)]
PR c/49644
* typeck.c (cp_build_binary_op): For MULT_EXPR and TRUNC_DIV_EXPR with
one non-complex and one complex argument, call save_expr on both
operands.
* g++.dg/torture/pr49644.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176006
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 7 Jul 2011 19:11:27 +0000 (19:11 +0000)]
PR c/49644
* c-typeck.c (build_binary_op): For MULT_EXPR and TRUNC_DIV_EXPR with
one non-complex and one complex argument, call c_save_expr on both
operands.
* gcc.c-torture/execute/pr49644.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176004
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Thu, 7 Jul 2011 18:11:18 +0000 (18:11 +0000)]
Add ia32 and x32 effective targets.
2011-07-07 H.J. Lu <hongjiu.lu@intel.com>
* lib/target-supports.exp (check_effective_target_ia32): New.
(check_effective_target_x32): Likewise.
(check_effective_target_vect_cmdline_needed): Also check x32.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176000
138bc75d-0d04-0410-961f-
82ee72b054a4
doko [Thu, 7 Jul 2011 18:10:16 +0000 (18:10 +0000)]
2011-07-07 Matthias Klose <doko@ubuntu.com>
* libtool-version: Bump soversion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175999
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Thu, 7 Jul 2011 18:08:00 +0000 (18:08 +0000)]
2011-07-07 Martin Jambor <mjambor@suse.cz>
PR middle-end/49495
* cgraphunit.c (verify_edge_corresponds_to_fndecl): New function.
(verify_cgraph_node): Some functinality moved to
verify_edge_corresponds_to_fndecl, call it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175998
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Thu, 7 Jul 2011 17:50:13 +0000 (17:50 +0000)]
* gcc.target/arm/pr40657-2.c: Remove -march option and unneeded
dg-prune-output.
* gcc.target/arm/pr42235.c: Likewise.
* gcc.target/arm/pr42495.c: Likewise.
* gcc.target/arm/pr42574.c: Likewise.
* gcc.target/arm/thumb-branch1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175997
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Thu, 7 Jul 2011 17:49:18 +0000 (17:49 +0000)]
* gcc.target/arm/pr39839.c: Don't specify -mthumb or -march, remove
unneeded prune of possible warning.
* gcc.target/arm/pr40956.c: Likewise.
* gcc.target/arm/pr42505.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175996
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Thu, 7 Jul 2011 17:48:03 +0000 (17:48 +0000)]
* gcc.c-torture/compile/pr41679.c: Move from gcc.target/arm.
* gcc.c-torture/compile/pr46883.c: Likewise.
* gcc.c-torture/compile/pr46934.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175995
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Thu, 7 Jul 2011 17:45:36 +0000 (17:45 +0000)]
* gcc.target/arm/pr41679.c: Remove test directives in preparation
for move to ../../gcc.c-torture/compile.
* gcc.target/arm/pr46883.c: Likewise.
* gcc.target/arm/pr46934.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175994
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Thu, 7 Jul 2011 17:44:14 +0000 (17:44 +0000)]
* lib/target-supports.exp (check_effective_target_arm_dsp): New.
* gcc.target/arm/mla-2.c: Use it instead of specific -march.
* gcc.target/arm/wmul-1.c: Likewise.
* gcc.target/arm/wmul-2.c: Likewise.
* gcc.target/arm/wmul-3.c: Likewise.
* gcc.target/arm/wmul-4.c: Likewise.
* gcc.target/arm/smlaltb-1.c: Require arm_dsp, don't specify -march,
add tab after scan target.
* gcc.target/arm/smlaltt-1.c: Likewise.
* gcc.target/arm/smlatb-1.c: Likewise.
* gcc.target/arm/smlatt-1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175993
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 7 Jul 2011 16:33:18 +0000 (16:33 +0000)]
gcc:
* config.gcc (*local*): Remove.
* doc/install-old.texi: Don't mention local configurations.
libgcc:
* config.host (*local*): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175988
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 7 Jul 2011 16:05:55 +0000 (16:05 +0000)]
PR debug/49522
* df-problems.c (dead_debug_reset): Remove dead_debug_uses
referencing debug insns that have been reset.
(dead_debug_insert_before): Don't assert reg is non-NULL,
instead return immediately if it is NULL.
* gcc.dg/debug/pr49522.c: New test.
M gcc/ChangeLog
A gcc/testsuite/gcc.dg/debug/pr49522.c
M gcc/testsuite/ChangeLog
M gcc/df-problems.c
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175987
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 7 Jul 2011 15:47:14 +0000 (15:47 +0000)]
* config/i386/t-crtpic, config/i386/t-svr3dbx, config/pa/t-pa:
Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175986
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Thu, 7 Jul 2011 15:42:41 +0000 (15:42 +0000)]
* hw-doloop.c: New file.
* hw-doloop.h: New file.
* Makefile.in (OBJS): Add hw-doloop.o.
(hw-doloop.o): New rule.
($(obj_out_file)): Add hw-doloop.h dependency.
* config/bfin/bfin.c: Include "hw-doloop.h".
(loop_info, DEF_VEC_P for loop_info, loop_info_d): Remove.
(bfin_dump_loops, bfin_bb_in_loop, bfin_scan_loop): Remove.
(hwloop_optimize): Renamed from bfin_optimize_loop. Argument
type changed to hwloop_info. Return bool, true if the loop was
successfully optimized. Remove code that was moved to
hw-doloop.c, and adjust other parts.
(hwloop_fail): New static function, containing parts that used
to be in bfin_optimize_loop.
(bfin_discover_loop, bfin_discover_loops, free_loops,
bfin_reorder_loops): Remove.
(hwloop_pattern_reg): New static function.
(bfin_doloop_hooks): New variable.
(bfin_reorg_loops): Remove most code, call reorg_loops.
* config/bfin/bfin.md (doloop_end splitter): Also enable if
loop counter is a memory_operand.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175985
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Thu, 7 Jul 2011 15:38:34 +0000 (15:38 +0000)]
Initial x32 support.
2011-07-07 H.J. Lu <hongjiu.lu@intel.com>
* config.gcc: Support --with-multilib-list for x86 Linux
targets.
* configure.ac: Mention x86-64 for --with-multilib-list.
* configure: Regenerated.
* config/i386/gnu-user64.h (SPEC_64): Support x32.
(SPEC_32): Likewise.
(ASM_SPEC): Likewise.
(LINK_SPEC): Likewise.
(TARGET_THREAD_SSP_OFFSET): Likewise.
(TARGET_THREAD_SPLIT_STACK_OFFSET): Likewise.
(SPEC_X32): New.
* config/i386/i386.h (TARGET_X32): New.
(TARGET_LP64): New.
(LONG_TYPE_SIZE): Likewise.
(POINTER_SIZE): Likewise.
(POINTERS_EXTEND_UNSIGNED): Likewise.
(OPT_ARCH64): Support x32.
(OPT_ARCH32): Likewise.
* config/i386/i386.opt (mx32): New.
* config/i386/kfreebsd-gnu64.h (GNU_USER_LINK_EMULATIONX32): New.
(GLIBC_DYNAMIC_LINKERX32): Likewise.
* config/i386/linux64.h (GNU_USER_LINK_EMULATIONX32): Likewise.
(GLIBC_DYNAMIC_LINKERX32): Likewise.
* config/linux.h (UCLIBC_DYNAMIC_LINKERX32): New.
(BIONIC_DYNAMIC_LINKERX32): Likewise.
(GNU_USER_DYNAMIC_LINKERX32): Likewise.
* config/i386/t-linux64: Support TM_MULTILIB_CONFIG.
* doc/install.texi: Document --with-multilib-list for
Linux/x86-64.
* doc/invoke.texi: Document -mx32.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175984
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Thu, 7 Jul 2011 15:13:01 +0000 (15:13 +0000)]
* gcc.dg/pragma-align.c: Run only if target !default_packed.
* gcc.dg/pr46212.c: Run only if target int32plus.
* gcc.dg/torture/pr48146.c: Ditto.
* gcc.dg/tree-ssa/vrp51.c: Ditto.
* c-c++-common/pr44832.c: Ditto.
* gcc.dg/pr49544.c: Run only if target ptr32plus.
* gcc.dg/pr31490.c: Ditto.
* gcc.dg/torture/builtin-math-7.c: Run only if target
large_double.
* gcc.dg/torture/pr45764.c: Skip for AVR.
* gcc.dg/pr47893.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175983
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Thu, 7 Jul 2011 15:07:57 +0000 (15:07 +0000)]
* lib/target-supports.exp (check_effective_target_arm_thumb1): New.
(check_effective_target_arm_thumb2): Clarify comment, add valid code.
* gcc.target/arm/mla-1.c: Skip for arm_thumb1, don't specify -march,
add tab to scan target.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175982
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Thu, 7 Jul 2011 15:07:02 +0000 (15:07 +0000)]
gcc/
* doc/invoke.texi (mwords-little-endian): Deprecate.
* config/arm/arm.opt (mwords-little-endian): Likewise.
* config/arm/arm.c (arm_option_override): Warn about the deprecation
of -mwords-little-endian.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175981
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Thu, 7 Jul 2011 15:05:42 +0000 (15:05 +0000)]
gcc/
* reload1.c (choose_reload_regs): Use mode sizes to check whether
an old reload register completely defines the required value.
gcc/testsuite/
* gcc.target/arm/neon-modes-3.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175980
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Thu, 7 Jul 2011 14:32:24 +0000 (14:32 +0000)]
* gcc.dg/graphite/pr37485.c (dg-options): Add -fno-loop-strip-mine
-fno-loop-interchange -ffast-math.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175977
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 7 Jul 2011 14:21:21 +0000 (14:21 +0000)]
2011-07-07 Richard Guenther <rguenther@suse.de>
* fold-const.c (fold_unary_loc): Do not strip sign-changes
for NEGATE_EXPR.
* gcc.dg/ftrapv-3.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175976
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 7 Jul 2011 14:20:16 +0000 (14:20 +0000)]
2011-07-07 Richard Guenther <rguenther@suse.de>
* tree-vrp.c (simplify_conversion_using_ranges): New function.
(simplify_stmt_using_ranges): Call it.
* gcc.dg/tree-ssa/vrp58.c: New testcase.
* gcc.dg/tree-ssa/scev-cast.c: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175975
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Thu, 7 Jul 2011 14:16:44 +0000 (14:16 +0000)]
2011-07-07 Kai Tietz <ktietz@redhat.com>
* tree-ssa-forwprop.c (truth_valued_ssa_name): New function.
(lookup_logical_inverted_value): Likewise.
(simplify_bitwise_binary_1): Likewise.
(simplify_bitwise_binary): Use simplify_bitwise_binary_1.
2011-07-07 Kai Tietz <ktietz@redhat.com>
* gcc.dg/binop-notxor1.c: New test.
* gcc.dg/binop-notand4a.c: New test.
* gcc.dg/binop-notxor2.c: New test.
* gcc.dg/binop-notand3a.c: New test.
* gcc.dg/binop-notand2a.c: New test.
* gcc.dg/binop-notand6a.c: New test.
* gcc.dg/binop-notor1.c: New test.
* gcc.dg/binop-notand1a.c: New test.
* gcc.dg/binop-notand5a.c: New test.
* gcc.dg/binop-notor2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175974
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 7 Jul 2011 13:24:21 +0000 (13:24 +0000)]
* gcc.c (%[Spec]): Don't document.
(struct spec_list): Update comment.
(do_spec_1): Don't handle %[Spec].
* doc/invoke.texi (%[@var{name}]): Remove documentation of spec.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175970
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 7 Jul 2011 13:22:44 +0000 (13:22 +0000)]
* common/common-target-def.h (TARGET_HAVE_NAMED_SECTIONS): Don't
default based on TARGET_ASM_NAMED_SECTION.
* common/common-target.def (have_named_sections): Default to true.
* common/config/default-common.c: Don't include tm.h.
* common/config/picochip/picochip-common.c
(TARGET_HAVE_NAMED_SECTIONS): Don't define.
* common/config/m32c/m32c-common.c: Remove.
* config.gcc (m32c*-*-*): Set target_has_targetm_common=no.
* config/alpha/osf5.h (TARGET_HAVE_NAMED_SECTIONS): Define to
false.
* config/i386/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to
false.
* config/m68k/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to
false.
* config/pa/som.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
* config/pdp11/pdp11.h (TARGET_HAVE_NAMED_SECTIONS): Define to
false.
* config/vax/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to
false.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175969
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 7 Jul 2011 12:49:17 +0000 (12:49 +0000)]
PR middle-end/49640
* gimplify.c (gimplify_compound_lval): For last 2 ARRAY_*REF
operands and last COMPONENT_REF operand call gimplify_expr on it
if non-NULL.
* gcc.dg/gomp/pr49640.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175967
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Thu, 7 Jul 2011 12:46:18 +0000 (12:46 +0000)]
2011-07-07 Tobias Burnus <burnus@net-b.de>
* trans.c (gfc_allocate_with_status): Call _gfortran_caf_register
with NULL arguments for (new) stat=/errmsg= arguments.
2011-07-07 Tobias Burnus <burnus@net-b.de>
* libcaf.h (__attribute__, unlikely, likely): New macros.
(caf_register_t): Update comment.
(_gfortran_caf_register): Add stat, errmsg, errmsg_len arguments.
* single.c (_gfortran_caf_register): Ditto; add error diagnostics.
* mpi.c (_gfortran_caf_register): Ditto.
(caf_is_finalized): New global variable.
(_gfortran_caf_finalize): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175966
138bc75d-0d04-0410-961f-
82ee72b054a4
doko [Thu, 7 Jul 2011 12:23:20 +0000 (12:23 +0000)]
2011-07-07 Matthias Klose <doko@ubuntu.com>
* sysdep/x86-64: Remove empty directory.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175965
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 7 Jul 2011 10:36:13 +0000 (10:36 +0000)]
2011-07-07 Richard Guenther <rguenther@suse.de>
* gcc.dg/graphite/pr37485.c: Add -floop-block.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175963
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Thu, 7 Jul 2011 10:14:02 +0000 (10:14 +0000)]
gcc:
PR libmudflap/49550
* gcc.c (MFWRAP_SPEC): Also wrap mmap64.
libmudflap:
PR libmudflap/49550
* mf-runtime.c (__wrap_main) [__sun__ && __svr4__]: Don't register
stdin, stdout, stderr.
Register __ctype, __ctype_mask.
* configure.ac: Check for mmap64.
Check for rawmemchr, stpcpy, mempcpy.
* configure: Regenerate.
* config.h.in: Regenerate.
* mf-hooks1.c [HAVE_MMAP64] (__mf_0fn_mmap64): New function.
(mmap64): New wrapper function.
* mf-impl.h (__mf_dynamic_index) [HAVE_MMAP64]: Add dyn_mmap64.
* mf-runtime.c (__mf_dynamic) [HAVE_MMAP64]: Handle mmap64.
* mf-hooks2.c [HAVE_GETMNTENT && HAVE_SYS_MNTTAB_H]: Implement
getmntent wrapper.
* mf-hooks3.c (_REENTRANT): Define.
* testsuite/libmudflap.c/heap-scalestress.c (SCALE): Reduce to 10000.
* testsuite/libmudflap.c/pass-stratcliff.c: Include ../config.h.
(MIN): Define.
Use HAVE_RAWMEMCHR, HAVE_STPCPY, HAVE_MEMPCPY as guards.
* testsuite/libmudflap.c/pass47-frag.c: Expect __ctype warning on
*-*-solaris2.*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175961
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 7 Jul 2011 09:50:59 +0000 (09:50 +0000)]
* gcc-interface/misc.c (gnat_init): Tweak previous change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175960
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Thu, 7 Jul 2011 09:24:16 +0000 (09:24 +0000)]
gcc:
PR target/39150
* configure.ac (gcc_cv_as_hidden): Also accept
x86_64-*-solaris2.1[0-9]*.
(gcc_cv_as_cfi_directive): Likewise.
(gcc_cv_as_comdat_group_group): Likewise.
(set_have_as_tls): Likewise.
* configure: Regenerate.
* config.gcc (i[34567]86-*-solaris2*): Also handle
x86_64-*-solaris2.1[0-9]*.
* config.host (i[34567]86-*-solaris2*): Likewise.
* config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
* config/sol2-bi.h (ASM_CPU_DEFAULT_SPEC): Redefine.
[USE_GLD] (ARCH_DEFAULT_EMULATION): Define.
(TARGET_LD_EMULATION): Use it.
* config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC): Define.
(SUBTARGET_CPU_EXTRA_SPECS): Add asm_cpu_default.
* config/i386/sol2-bi.h (ASM_CPU32_DEFAULT_SPEC): Define.
(ASM_CPU64_DEFAULT_SPEC): Define.
(ASM_CPU_SPEC): Use %(asm_cpu_default).
(ASM_SPEC): Redefine.
(DEFAULT_ARCH32_P): Define using TARGET_64BIT_DEFAULT.
* config/host-solaris.c [__x86_64__] (TRY_EMPTY_VM_SPACE): Reduce.
* doc/install.texi (Specific, amd64-*-solaris2.1[0-9]*):
Document.
(Specific, i?86-*-solaris2.10): Mention x86_64-*-solaris2.1[0-9]*
configuration.
(Specific, x86_64-*-solaris2.1[0-9]*): Document.
gcc/ada:
PR target/39150
* gcc-interface/Makefile.in: Handle x86_64-solaris2.
libgcc:
PR target/39150
* config.host (*-*-solaris2*): Handle x86_64-*-solaris2.1[0-9]*
like i?86-*-solaris2.1[0-9]*.
(i[34567]86-*-solaris2*): Also handle x86_64-*-solaris2.1[0-9]*.
* configure.ac (i?86-*-solaris2*): Likewise.
* configure: Regenerate.
gcc/testsuite:
PR target/39150
* gcc.misc-tests/linkage.exp: Handle x86_64-*-solaris2.1[0-9]*.
toplevel:
PR target/39150
* configure.ac (i[3456789]86-*-solaris2*): Also accept
x86_64-*-solaris2.1[0-9]*.
* configure: Regenerate.
boehm-gc:
PR target/39150
* configure.ac (i?86-*-solaris2.[89]): Also accept
x86_64-*-solaris2.1?.
* configure: Regenerate.
gnattools:
PR target/39150
* configure.ac (*86-*-solaris2*): Also accept
x86_64-*-solaris2.1[0-9]*.
* configure: Regenerate.
libcpp:
PR target/39150
* configure.ac (host_wide_int): Handle x86_64-*-solaris2.1[0-9]
like i[34567]86-*-solaris2.1[0-9]*.
* configure: Regenerate.
libgo:
PR target/39150
* config/libtool.m4: Handle x86_64-*-solaris2.1[0-9]* like
i?86-*-solaris*.
* configure: Regenerate.
libjava:
PR target/39150
* configure.host (x86_64-*): Add -Usun to libgcj_flags.
(x86_64-*-solaris2.1[0-9]*): New case.
(i?86-*-solaris2*): Also accept x86_64-*-solaris2.1[0-9]*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175958
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Thu, 7 Jul 2011 08:52:48 +0000 (08:52 +0000)]
* config/sol2.h (ASM_SPEC): Split into ...
(ASM_SPEC_BASE, ASM_PIC_SPEC): ... this.
* config/i386/sol2.h (ASM_SPEC): Define using ASM_SPEC_BASE.
* config/i386/sol2-bi.h (ASM_CPU_SPEC): Redefine.
(ASM_SPEC): Use ASM_SPEC_BASE.
* config/sparc/sol2.h (ASM_SPEC): Redefine.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175957
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Thu, 7 Jul 2011 07:13:13 +0000 (07:13 +0000)]
* config/avr/avr.md (*reload_insi): Change predicate #1 to
const_int_operand. Ditto for peep2 producing this insn.
Add argument to output_reload_insisf call.
(*movsi,*movsf): Add argument to output_movsisf call.
(*reload_insf): New insn and new peep2 to produce it.
* config/avr/avr-protos.h (output_movsisf): Change prototype.
(output_reload_insisf): Change prototype.
* config/avr/avr.c (avr_asm_len): New function.
(output_reload_insisf): Rewrite.
(output_movsisf): Change prototype. output_reload_insisf for
all CONST_INT and CONST_DOUBLE. ALlow moving 0.0f to memory.
(adjust_insn_length): Add argument to output_movsisf and
output_reload_insisf call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175956
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 7 Jul 2011 02:58:33 +0000 (02:58 +0000)]
PR c++/49353
* semantics.c (expand_or_defer_fn_1): Clear DECL_EXTERNAL
on kept inlines.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175954
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 7 Jul 2011 00:18:32 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175953
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 6 Jul 2011 23:56:28 +0000 (23:56 +0000)]
Revert:
* simplify-rtx.c (simplify_const_binary_operation): Use the
shift_truncation_mask hook instead of performing modulo by
width. Compare against mode precision, not bitsize.
* combine.c (combine_simplify_rtx, simplify_shift_const_1):
Use shift_truncation_mask instead of constructing the value
manually.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175949
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 6 Jul 2011 23:16:39 +0000 (23:16 +0000)]
* explow.c (trunc_int_for_mode): Use GET_MODE_PRECISION
instead of GET_MODE_BITSIZE where appropriate.
* rtlanal.c (subreg_lsb_1, subreg_get_info, nonzero_bits1,
num_sign_bit_copies1, canonicalize_condition, low_bitmask_len,
init_num_sign_bit_copies_in_rep): Likewise.
* cse.c (fold_rtx, cse_insn): Likewise.
* loop-doloop.c (doloop_modify, doloop_optimize): Likewise.
* simplify-rtx.c (simplify_unary_operation_1,
simplify_const_unary_operation, simplify_binary_operation_1,
simplify_const_binary_operation, simplify_ternary_operation,
simplify_const_relational_operation, simplify_subreg): Likewise.
* combine.c (try_combine, find_split_point, combine_simplify_rtx,
simplify_if_then_else, simplify_set, expand_compound_operation,
expand_field_assignment, make_extraction, if_then_else_cond,
make_compound_operation, force_to_mode, make_field_assignment,
reg_nonzero_bits_for_combine, reg_num_sign_bit_copies_for_combine,
extended_count, try_widen_shift_mode, simplify_shift_const_1,
simplify_comparison, record_promoted_value, simplify_compare_const,
record_dead_and_set_regs_1): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175946
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 6 Jul 2011 23:12:45 +0000 (23:12 +0000)]
* machmode.h (HWI_COMPUTABLE_MODE_P): New macro.
* combine.c (set_nonzero_bits_and_sign_copies): Use it.
(find_split-point, combine_simplify_rtx, simplify_if_then_else,
simplify_set, simplify_logical, expand_compound_operation,
make_extraction, force_to_mode, if_then_else_cond, extended_count,
try_widen_shift_mode, simplify_shift_const_1, simplify_comparison,
record_value_for_reg): Likewise.
* expmed.c (expand_widening_mult, expand_mult_highpart): Likewise.
* simplify-rtx. c (simplify_unary_operation_1,
simplify_binary_operation_1, simplify_const_relational_operation):
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175945
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 6 Jul 2011 23:11:51 +0000 (23:11 +0000)]
* emit-rtl.c (paradoxical_subreg_p): New function.
* rtl.h (paradoxical_subreg_p): Declare.
* combine.c (set_nonzero_bits_and_sign_copies, get_last_value,
apply_distributive_law, simplify_comparison, simplify_set): Use it.
* cse.c (record_jump_cond, cse_insn): Likewise.
* expr.c (force_operand): Likewise.
* rtlanal.c (num_sign_bit_copies1): Likewise.
* reload1.c (eliminate_regs_1, strip_paradoxical_subreg): Likewise.
* reload.c (push_secondary_reload, find_reloads_toplev): Likewise.
(push_reload): Use precision to check for paradoxical subregs.
* expmed.c (extract_bit_field_1): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175944
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Wed, 6 Jul 2011 23:09:20 +0000 (23:09 +0000)]
Add -mno-r11 support to PowerPC 64
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175943
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 6 Jul 2011 21:48:15 +0000 (21:48 +0000)]
* gcc.dg/stack-layout-2.c: Cleanup expand rtl dump.
* gfortran.dg/move_alloc_4.f90: Cleanup original tree dump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175942
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 6 Jul 2011 21:22:16 +0000 (21:22 +0000)]
PR c++/49568
* method.c (make_thunk, use_thunk): Copy DECL_COMDAT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175938
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Wed, 6 Jul 2011 20:57:03 +0000 (20:57 +0000)]
2011-07-06 Daniel Carrera <dcarrera@gmail.com>
* trans-array.c (gfc_array_allocate): Rename allocatable_array
* to
allocatable. Rename function gfc_allocate_array_with_status to
gfc_allocate_allocatable_with_status. Update function call for
gfc_allocate_with_status.
* trans-opemp.c (gfc_omp_clause_default_ctor): Rename function
gfc_allocate_array_with_status to gfc_allocate_allocatable_with_status.
* trans-stmt.c (gfc_trans_allocate): Update function call for
gfc_allocate_with_status. Rename function gfc_allocate_array_with_status
to gfc_allocate_allocatable_with_status.
* trans.c (gfc_call_malloc): Add new parameter
* gfc_allocate_with_status
so it uses the library for memory allocation when -fcoarray=lib.
(gfc_allocate_allocatable_with_status): Renamed from
gfc_allocate_array_with_status.
(gfc_allocate_allocatable_with_status): Update function call for
gfc_allocate_with_status.
* trans.h (gfc_coarray_type): New enum.
(gfc_allocate_with_status): Update prototype.
(gfc_allocate_allocatable_with_status): Renamed from
gfc_allocate_array_with_status.
* trans-decl.c (generate_coarray_sym_init): Use the new constant
GFC_CAF_COARRAY_ALLOC in the call to gfor_fndecl_caf_register.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175937
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 6 Jul 2011 19:51:58 +0000 (19:51 +0000)]
libgo: Use GOCFLAGS when compiling tests.
From Uros Bizjak.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175930
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Wed, 6 Jul 2011 18:40:36 +0000 (18:40 +0000)]
2011-07-06 Jonathan Wakely <jwakely.gcc@gmail.com>
PR other/49658
* doc/extend.texi (Compound Literals): Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175928
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 6 Jul 2011 18:38:24 +0000 (18:38 +0000)]
json: fix test when rand returns 0.
Fixes using gccgo when optimizing, which changes the order of
calls to rand. Same patch proposed upstream.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175927
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 6 Jul 2011 17:48:43 +0000 (17:48 +0000)]
* mt-alphaieee (GOCFLAGS_FOR_TARGET): Add -mieee.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175926
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Wed, 6 Jul 2011 17:26:15 +0000 (17:26 +0000)]
2011-07-06 James Greenhalgh <james.greenhalgh@arm.com>
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add
__ARM_FEATURE_DSP.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175925
138bc75d-0d04-0410-961f-
82ee72b054a4
bstarynk [Wed, 6 Jul 2011 16:37:09 +0000 (16:37 +0000)]
2011-07-06 Basile Starynkevitch <basile@starynkevitch.net>
* configure.ac (plugin-version.h): Generate
GCCPLUGIN_VERSION_MAJOR, GCCPLUGIN_VERSION_MINOR,
GCCPLUGIN_VERSION_PATCHLEVEL, GCCPLUGIN_VERSION constant integer
macros.
* configure: Regenerate.
* doc/plugins.texi (Building GCC plugins): Mention
GCCPLUGIN_VERSION ... constant macros in plugin-version.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175923
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Wed, 6 Jul 2011 16:05:18 +0000 (16:05 +0000)]
* lib/target-supports.exp (check_profiling_available): Disable
profiling with -fprofile-generate for target avr.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175922
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 6 Jul 2011 14:44:30 +0000 (14:44 +0000)]
* machmode.h (TRULY_NOOP_TRUNCATION_MODES_P): New macro.
* combine.c (make_extraction, gen_lowpart_or_truncate,
apply_distributive_law, simplify_comparison,
reg_truncated_to_mode, record_truncated_value): Use it.
* cse.c (notreg_cost): Likewise.
* expmed.c (store_bit_field_1, extract_bit_field_1): Likewise.
* expr.c (convert_move, convert_modes): Likewise.
* optabs.c (expand_binop, expand_unop): Likewise.
* postreload.c (move2add_last_label): Likewise.
* regmove.c (optimize_reg_copy_3): Likewise.
* rtlhooks.c (gen_lowpart_general): Likewise.
* simplify-rtx.c (simplify_unary_operation_1): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175921
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Wed, 6 Jul 2011 14:24:35 +0000 (14:24 +0000)]
* config/rs6000/vxworks.h (WORDS_BIG_ENDIAN): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175919
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 6 Jul 2011 14:21:51 +0000 (14:21 +0000)]
* simplify-rtx.c (simplify_ternary_operation): Remove dead code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175918
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 6 Jul 2011 14:21:03 +0000 (14:21 +0000)]
* cse.c (find_comparison_args): Use val_mode_signbit_set_p.
* simplify-rtx.c (mode_signbit_p): Use GET_MODE_PRECISION.
(val_mode_signbit_p, val_mode_signbit_set_p): New functions.
(simplify_const_unary_operation, simplify_binary_operation_1,
simplify_const_binary_operation,
simplify_const_relational_operation): Use them. Use
GET_MODE_MASK for masking and sign-extensions.
* combine.c (set_nonzero_bits_and_sign_copies, simplify_set,
combine_simplify_rtx, force_to_mode, reg_nonzero_bits_for_combine,
simplify_shift_const_1, simplify_comparison): Likewise.
* expr.c (convert_modes): Likewise.
* rtlanal.c (nonzero_bits1, canonicalize_condition): Likewise.
* expmed.c (emit_cstore, emit_store_flag_1, emit_store_flag):
Likewise.
* rtl.h (val_mode_signbit_p, val_mode_signbit_set_p): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175917
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 6 Jul 2011 14:05:54 +0000 (14:05 +0000)]
2011-07-06 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49645
* c-decl.c (finish_decl): Also set DECL_HARD_REGISTER for global
register variables.
* tree-ssa-sccvn.c (vn_reference_op_eq): Disregard differences
in type qualification here ...
(copy_reference_ops_from_ref): ... not here.
(vn_reference_lookup_3): ... or here.
(copy_reference_ops_from_ref): Record decl bases as MEM[&decl].
(vn_reference_lookup): Do the lookup with a valueized ao-ref.
* g++.dg/tree-ssa/pr8781.C: Disable SRA.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175916
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 6 Jul 2011 13:58:39 +0000 (13:58 +0000)]
* doc/install.texi (Configuration): It's
--enable-gnu-indirect-function, not --enable-indirect-function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175915
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 6 Jul 2011 13:36:16 +0000 (13:36 +0000)]
* simplify-rtx.c (simplify_const_binary_operation): Use the
shift_truncation_mask hook instead of performing modulo by
width. Compare against mode precision, not bitsize.
* combine.c (combine_simplify_rtx, simplify_shift_const_1):
Use shift_truncation_mask instead of constructing the value
manually.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175913
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Wed, 6 Jul 2011 13:19:04 +0000 (13:19 +0000)]
Use pointer_mode for address computation.
gcc/
2011-07-06 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/47383
* tree-ssa-address.c (addr_for_mem_ref): Use pointer_mode for
address computation and convert to address_mode if needed.
gcc/testsuite/
2011-07-06 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/47383
* gcc.dg/pr47383.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175912
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Wed, 6 Jul 2011 11:56:46 +0000 (11:56 +0000)]
PR tree-optimization/49647
* gcc.dg/tree-ssa/
20030807-7.c: Remove xfail *-*-*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175910
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 6 Jul 2011 10:03:05 +0000 (10:03 +0000)]
2011-07-06 Richard Guenther <rguenther@suse.de>
* tree.c (build_common_tree_nodes_2): Merge with
build_common_tree_nodes.
* tree.h (build_common_tree_nodes): Adjust prototype.
(build_common_tree_nodes_2): Remove.
* doc/tm.texi.in (lang_hooks.builtin_function): Adjust.
* doc/tm.texi (lang_hooks.builtin_function): Regenerate.
c-family/
* c-common.c (c_common_nodes_and_builtins):
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
fortran/
* f95-lang.c (gfc_init_decl_processing):
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
go/
* go-lang.c (go_langhook_init):
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
java/
* decl.c (java_init_decl_processing):
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
lto/
* lto-lang.c (lto_init):
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
ada/
* gcc-interface/misc.c (gnat_init):
Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
Re-initialize boolean_false_node.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175906
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 6 Jul 2011 08:46:41 +0000 (08:46 +0000)]
PR testsuite/49542
* gcc.dg/vect/pr33804.c: XFAIL if vect_no_align unconditionally.
* gcc.dg/vect/slp-multitypes-3.c: XFAIL on SPARC unconditionally.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175905
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 6 Jul 2011 04:20:39 +0000 (04:20 +0000)]
PR c++/48157
* pt.c (tsubst_qualified_id): Preserve TEMPLATE_ID_EXPR in
partial instantiation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175904
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 6 Jul 2011 00:18:36 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175900
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Tue, 5 Jul 2011 22:14:37 +0000 (22:14 +0000)]
libgcc/
* config.host (i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-knetbsd*-gnu)
(i[34567]86-*-gnu*, i[34567]86-*-kopensolaris*-gnu): Remove
md_unwind_header by splitting out of...
(i[34567]86-*-linux*): ... this.
* config.host (x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu):
Remove md_unwind_header by splitting out of...
(x86_64-*-linux*): ... this.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175892
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 5 Jul 2011 18:43:04 +0000 (18:43 +0000)]
PR tree-optimization/49618
* tree-eh.c (tree_could_trap_p) <case CALL_EXPR>: For DECL_WEAK
t recurse on the decl.
<case FUNCTION_DECL, case VAR_DECL>: For DECL_WEAK decls
return true if expr isn't known to be defined in current
TU or some other LTO partition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175884
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Tue, 5 Jul 2011 18:27:57 +0000 (18:27 +0000)]
* gcc.dg/pr44023.c: Add dg-require-effective-target int32plus
* gcc.dg/pr43402.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175882
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Tue, 5 Jul 2011 18:16:17 +0000 (18:16 +0000)]
2011-07-05 Thomas Koenig <tkoenig@gcc.gnu.org>
* runtime/memory.c (internal_malloc_size): If size is zero,
allocate a single byte.
* m4/pack.m4 (pack_'rtype_code`): Don't check for zero size
for the argument of internal_malloc_size.
* m4/spread.m4 (spread_'rtype_code`): Likewise.
* m4/eoshift1.m4 (eoshift1): Don't allocate twice. Don't check
for zero size for the argument of internal_malloc_size.
* m4/eoshift3.m4: Don't check for zero size for the argument of
internal_malloc_size.
* intrinsics/pack_generic.c (pack_internal): Likewise.
(pack_s_internal): Likewise.
* intrinsics/cshift0.c (cshift0): Likewise.
* intrinsics/spread_generic.c (spread_internal): Likewise.
* intrinsics/eoshift0.c (eoshift0): Likewise.
* intrinsics/eoshift2.c (eoshift2): Likewise.
* generated/eoshift1_16.c: Regenerated.
* generated/eoshift1_4.c: Regenerated.
* generated/eoshift1_8.c: Regenerated.
* generated/eoshift3_16.c: Regenerated.
* generated/eoshift3_4.c: Regenerated.
* generated/eoshift3_8.c: Regenerated.
* generated/pack_c10.c: Regenerated.
* generated/pack_c16.c: Regenerated.
* generated/pack_c4.c: Regenerated.
* generated/pack_c8.c: Regenerated.
* generated/pack_i16.c: Regenerated.
* generated/pack_i1.c: Regenerated.
* generated/pack_i2.c: Regenerated.
* generated/pack_i4.c: Regenerated.
* generated/pack_i8.c: Regenerated.
* generated/pack_r10.c: Regenerated.
* generated/pack_r16.c: Regenerated.
* generated/pack_r4.c: Regenerated.
* generated/pack_r8.c: Regenerated.
* generated/spread_c10.c: Regenerated.
* generated/spread_c16.c: Regenerated.
* generated/spread_c4.c: Regenerated.
* generated/spread_c8.c: Regenerated.
* generated/spread_i16.c: Regenerated.
* generated/spread_i1.c: Regenerated.
* generated/spread_i2.c: Regenerated.
* generated/spread_i4.c: Regenerated.
* generated/spread_i8.c: Regenerated.
* generated/spread_r10.c: Regenerated.
* generated/spread_r16.c: Regenerated.
* generated/spread_r4.c: Regenerated.
* generated/spread_r8.c: Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175880
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Tue, 5 Jul 2011 18:03:04 +0000 (18:03 +0000)]
* gcc.dg/cpp/pragma-3.c: Add dg-require-effective-target fopenmp.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175879
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Tue, 5 Jul 2011 17:45:38 +0000 (17:45 +0000)]
Add --param case-values-threshold
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175878
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Tue, 5 Jul 2011 17:16:17 +0000 (17:16 +0000)]
* gcc.target/arm/pr42093.c: Use "-fno-reorder-blocks".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175877
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 5 Jul 2011 17:14:16 +0000 (17:14 +0000)]
dwarf2out: Remove unused text-based unwind entry points.
The dwarf2out_cfi_label function is privatized, the
dwarf2out_def_cfa function is merged into its last user.
The others really are unused.
* dwarf2out.c (dwarf2out_cfi_label): Make static.
(dwarf2out_flush_queued_reg_saves): Make static.
(dwarf2out_reg_save): Remove.
(dwarf2out_return_save): Remove.
(dwarf2out_return_reg): Remove.
(dwarf2out_reg_save_reg): Remove.
(dwarf2out_def_cfa): Merge into ...
(dwarf2out_frame_init): ... here.
* dwarf2out.h, tree.h: Remove declarations as necessary.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175876
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 5 Jul 2011 17:10:29 +0000 (17:10 +0000)]
ia64: Remove TARGET_DWARF_HANDLE_FRAME_UNSPEC hook.
Use an empty REG_FRAME_RELATED_EXPR instead.
* config/ia64/ia64.c (ia64_dwarf_handle_frame_unspec): Remove.
(TARGET_DWARF_HANDLE_FRAME_UNSPEC): Remove.
(ia64_expand_epilogue): Emit an empty FRAME_RELATED_EXPR for
the alloc insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175875
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 5 Jul 2011 17:08:58 +0000 (17:08 +0000)]
ia64: Remove dead code in process_epilogue.
* config/ia64/ia64.c (ia64_emit_deleted_label_after_insn): Remove.
(IA64_CHANGE_CFA_IN_EPILOGUE): Remove.
(process_epilogue): Don't call dwarf2out_def_cfa.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175874
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 5 Jul 2011 17:08:52 +0000 (17:08 +0000)]
ia64: Use pc_rtx to save the return address.
When actually emitting dwarf2, this now produces proper results.
When emitting ia64 unwind info, this removes a hard-coded assumption.
* config/ia64/ia64.c (ia64_expand_prologue): Use pc_rtx to
indicate the return address save.
(process_cfa_register): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175873
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 5 Jul 2011 17:06:09 +0000 (17:06 +0000)]
ia64: Remove ia64_dwarf2out_def_steady_cfa.
This defines nothing that we can't deduce already, so remove it.
* config/ia64/ia64.c (ia64_dwarf2out_def_steady_cfa): Remove.
(process_cfa_adjust_cfa, ia64_asm_unwind_emit): Don't call it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175872
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 5 Jul 2011 17:05:04 +0000 (17:05 +0000)]
ia64: Issue REG_CFA_REGISTER for ar.pfs at alloc insn.
* config/ia64/ia64.c (ia64_expand_prologue): Emit REG_CFA_REGISTER
for ar.pfs save at alloc insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175871
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 5 Jul 2011 17:03:41 +0000 (17:03 +0000)]
arm: Use REG_CFA_REGISTER instead of UNSPEC_STACK_ALIGN.
This requires a bit of extra preparation in arm_unwind_emit, in
order to handle the change for ARM unwinding.
* config/arm/arm.c (arm_dwarf_handle_frame_unspec): Remove.
(TARGET_DWARF_HANDLE_FRAME_UNSPEC): Remove.
(arm_expand_prologue): Use REG_CFA_REGISTER to mark the
stack pointer save.
(arm_unwind_emit_set): Don't recognize UNSPEC_STACK_ALIGN.
(arm_unwind_emit): Walk REG_NOTES for unwinding notes. Emit
proper unwind info for a REG_CFA_REGISTER save of stack pointer.
* config/arm/arm.md (UNSPEC_STACK_ALIGN): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175870
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 5 Jul 2011 16:58:42 +0000 (16:58 +0000)]
vax: Emit prologue as rtl.
Not that there's much rtl to emit, since the CALL instruction
interpreting the procedure entry mask does almost all the work.
However, it means we're no longer emitting dwarf2 via the
text-based entry points.
* config/vax/vax.md (define_c_enum unspecv): New. Define the
VUNSPEC_* constants here instead of via define_constants.
(VUNSPEC_PEM): New constant.
(procedure_entry_mask): New insn.
(prologue): New expander.
* config/vax/vax.c (vax_add_reg_cfa_offset): New.
(vax_expand_prologue): Rename from vax_output_function_prologue;
emit rtl instead of text.
(TARGET_ASM_FUNCTION_PROLOGUE): Remove.
(print_operand): Add 'x' prefix.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175869
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 5 Jul 2011 16:36:59 +0000 (16:36 +0000)]
* g++.dg/rtti/anon-ns1.C: Allow for null-termination.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175867
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Tue, 5 Jul 2011 15:47:40 +0000 (15:47 +0000)]
Promote the function argument before checking non-legitimate constant.
2011-07-05 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/47715
* calls.c (precompute_register_parameters): Promote the function
argument before checking non-legitimate constant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175864
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Tue, 5 Jul 2011 14:50:34 +0000 (14:50 +0000)]
Fix PR47654: Loop blocking should strip-mine at least two loops.
PR tree-optimization/47654
* graphite-blocking.c (pbb_strip_mine_time_depth): Do not return bool.
(lst_do_strip_mine_loop): Return an int.
(lst_do_strip_mine): Same.
(scop_do_strip_mine): Same.
(scop_do_block): Loop blocking should strip-mine at least two loops.
* graphite-interchange.c (lst_interchange_select_outer): Return an int.
(scop_do_interchange): Same.
* graphite-poly.h (scop_do_interchange): Update declaration.
(scop_do_strip_mine): Same.
* gcc.dg/graphite/block-pr47654.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175861
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Tue, 5 Jul 2011 14:50:27 +0000 (14:50 +0000)]
Fix computation of precision.
* graphite-clast-to-gimple.c (precision_for_value): Removed.
(precision_for_interval): Removed.
(gcc_type_for_interval): Use mpz_sizeinbase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175860
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Tue, 5 Jul 2011 14:50:21 +0000 (14:50 +0000)]
Correct computation of max.
* graphite-ppl.h (value_max): Correct computation of max.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175859
138bc75d-0d04-0410-961f-
82ee72b054a4