aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-07-07dwarf2out: Move insn scanning out of final.c.Bernd Schmidt7-55/+143
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. Co-Authored-By: Richard Henderson <rth@redhat.com> From-SVN: r176016
2011-07-07dwarf2out: Split CFI construction routines into a new file.Richard Henderson8-2780/+3019
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. From-SVN: r176015
2011-07-07re PR c++/49663 ([C++0x] ICE in lookup_base)Jason Merrill6-21/+92
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. From-SVN: r176013
2011-07-07re PR fortran/49648 (ICE(segfault) with MATMUL and function-result actual ↵Mikael Morin2-0/+32
argument) 2011-07-07 Mikael Morin <mikael.morin@sfr.fr> PR fortran/49648 * gfortran.dg/result_in_spec_4.f90: New test. From-SVN: r176012
2011-07-07re PR fortran/49648 (ICE(segfault) with MATMUL and function-result actual ↵Mikael Morin2-0/+8
argument) 2011-07-07 Mikael Morin <mikael.morin@sfr.fr> PR fortran/49648 * resolve.c (resolve_symbol): Force resolution of function result's array specification. From-SVN: r176011
2011-07-07re PR target/49660 (64-bit gcc doesn't enable -mv8plus with -m32 on ↵Eric Botcazou4-6/+32
Solaris/SPARC) PR target/49660 * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Add MASK_V8PLUS, remove commented out flag and reorder. From-SVN: r176008
2011-07-07re PR c/49644 (post-increment of promoted operand is incorrect.)Jakub Jelinek4-0/+29
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. From-SVN: r176006
2011-07-07re PR c/49644 (post-increment of promoted operand is incorrect.)Jakub Jelinek4-0/+30
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. From-SVN: r176004
2011-07-07Add ia32 and x32 effective targets.H.J. Lu2-1/+30
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. From-SVN: r176000
2011-07-07libtool-version: Bump soversion.Matthias Klose2-1/+5
2011-07-07 Matthias Klose <doko@ubuntu.com> * libtool-version: Bump soversion. From-SVN: r175999
2011-07-07re PR middle-end/49495 (-O3 causes error message "edge points to wrong ↵Martin Jambor2-11/+30
declaration:") 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. From-SVN: r175998
2011-07-07pr40657-2.c: Remove -march option and unneeded dg-prune-output.Janis Johnson6-10/+12
* 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. From-SVN: r175997
2011-07-07pr39839.c: Don't specify -mthumb or -march, remove unneeded prune of ↵Janis Johnson4-9/+9
possible warning. * 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. From-SVN: r175996
2011-07-07pr41679.c: Move from gcc.target/arm.Janis Johnson4-0/+4
* 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. From-SVN: r175995
2011-07-07pr41679.c: Remove test directives in preparation for move to ↵Janis Johnson4-12/+6
../../gcc.c-torture/compile. * 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. From-SVN: r175994
2011-07-07target-supports.exp (check_effective_target_arm_dsp): New.Janis Johnson11-13/+48
* 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. From-SVN: r175993
2011-07-07config.gcc (*local*): Remove.Joseph Myers5-28/+9
gcc: * config.gcc (*local*): Remove. * doc/install-old.texi: Don't mention local configurations. libgcc: * config.host (*local*): Remove. From-SVN: r175988
2011-07-07re PR debug/49522 (Divide by zero in validate_subreg in emit-rtl.c:695)Jakub Jelinek4-2/+76
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 From-SVN: r175987
2011-07-07t-crtpic, [...]: Remove.Joseph Myers4-24/+5
* config/i386/t-crtpic, config/i386/t-svr3dbx, config/pa/t-pa: Remove. From-SVN: r175986
2011-07-07hw-doloop.c: New file.Bernd Schmidt6-668/+928
* 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. From-SVN: r175985
2011-07-07Initial x32 support.H.J. Lu13-22/+156
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. From-SVN: r175984
2011-07-07pragma-align.c: Run only if target !default_packed.Georg-Johann Lay11-1/+25
* 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. From-SVN: r175983
2011-07-07target-supports.exp (check_effective_target_arm_thumb1): New.Janis Johnson3-4/+25
* 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. From-SVN: r175982
2011-07-07invoke.texi (mwords-little-endian): Deprecate.Richard Sandiford4-2/+13
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. From-SVN: r175981
2011-07-07reload1.c (choose_reload_regs): Use mode sizes to check whether an old ↵Richard Sandiford4-13/+73
reload register completely defines the... 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. From-SVN: r175980
2011-07-07pr37485.c (dg-options): Add -fno-loop-strip-mine -fno-loop-interchange ↵Uros Bizjak2-2/+7
-ffast-math. * gcc.dg/graphite/pr37485.c (dg-options): Add -fno-loop-strip-mine -fno-loop-interchange -ffast-math. From-SVN: r175977
2011-07-07fold-const.c (fold_unary_loc): Do not strip sign-changes for NEGATE_EXPR.Richard Guenther4-1/+26
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. From-SVN: r175976
2011-07-07tree-vrp.c (simplify_conversion_using_ranges): New function.Richard Guenther5-7/+69
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. From-SVN: r175975
2011-07-07tree-ssa-forwprop.c (truth_valued_ssa_name): New function.Kai Tietz13-0/+266
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. From-SVN: r175974
2011-07-07gcc.c (%[Spec]): Don't document.Joseph Myers3-61/+17
* 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. From-SVN: r175970
2011-07-07common-target-def.h (TARGET_HAVE_NAMED_SECTIONS): Don't default based on ↵Joseph Myers13-44/+39
TARGET_ASM_NAMED_SECTION. * 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. From-SVN: r175969
2011-07-07re PR middle-end/49640 (Internal compiler in C99 code (using variable-length ↵Jakub Jelinek4-2/+61
arrays) and OpenMP) 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. From-SVN: r175967
2011-07-07trans.c (gfc_allocate_with_status): Call _gfortran_caf_register with NULL ↵Tobias Burnus6-10/+115
arguments for (new) stat=/errmsg= arguments. 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. From-SVN: r175966
2011-07-07x86-64: Remove empty directory.Matthias Klose1-0/+4
2011-07-07 Matthias Klose <doko@ubuntu.com> * sysdep/x86-64: Remove empty directory. From-SVN: r175965
2011-07-07pr37485.c: Add -floop-block.Richard Guenther2-1/+5
2011-07-07 Richard Guenther <rguenther@suse.de> * gcc.dg/graphite/pr37485.c: Add -floop-block. From-SVN: r175963
2011-07-07re PR libmudflap/49550 (Many libmudflap tests fail on Solaris 11/x86)Rainer Orth14-13/+205
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.*. From-SVN: r175961
2011-07-07* gcc-interface/misc.c (gnat_init): Tweak previous change.Eric Botcazou2-4/+8
From-SVN: r175960
2011-07-07re PR bootstrap/39150 (Configure scripts have no 64-Bit Solaris defined ↵Rainer Orth35-58/+213
(only i386-solaris*).) 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]*. From-SVN: r175958
2011-07-07sol2.h (ASM_SPEC): Split into ...Rainer Orth5-16/+32
* 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. From-SVN: r175957
2011-07-07avr.md (*reload_insi): Change predicate #1 to const_int_operand.Georg-Johann Lay4-113/+274
* 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. From-SVN: r175956
2011-07-06re PR c++/49353 (C++ frontend should not declare function EXTERN when it ↵Jason Merrill2-1/+8
forces them to stay) PR c++/49353 * semantics.c (expand_or_defer_fn_1): Clear DECL_EXTERNAL on kept inlines. From-SVN: r175954
2011-07-07Daily bump.GCC Administrator1-1/+1
From-SVN: r175953
2011-07-06revert: simplify-rtx.c (simplify_const_binary_operation): Use the ↵Bernd Schmidt3-4/+14
shift_truncation_mask hook instead of performing modulo by width. 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. From-SVN: r175949
2011-07-06explow.c (trunc_int_for_mode): Use GET_MODE_PRECISION instead of ↵Bernd Schmidt7-244/+267
GET_MODE_BITSIZE where appropriate. * 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. From-SVN: r175946
2011-07-06machmode.h (HWI_COMPUTABLE_MODE_P): New macro.Bernd Schmidt5-56/+64
* 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. From-SVN: r175945
2011-07-06emit-rtl.c (paradoxical_subreg_p): New function.Bernd Schmidt10-67/+63
* 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. From-SVN: r175944
2011-07-06Add -mno-r11 support to PowerPC 64Michael Meissner10-247/+463
From-SVN: r175943
2011-07-06stack-layout-2.c: Cleanup expand rtl dump.Uros Bizjak3-2/+9
* gcc.dg/stack-layout-2.c: Cleanup expand rtl dump. * gfortran.dg/move_alloc_4.f90: Cleanup original tree dump. From-SVN: r175942
2011-07-06re PR c++/49568 (g++.dg/torture/pr41257-2.C FAILs to link on Tru64 UNIX)Jason Merrill2-2/+9
PR c++/49568 * method.c (make_thunk, use_thunk): Copy DECL_COMDAT. From-SVN: r175938
2011-07-06trans-array.c (gfc_array_allocate): Rename allocatable_arrayDaniel Carrera7-38/+97
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. From-SVN: r175937