gcc.git
13 years agoconfig.gcc (*local*): Remove.
Joseph Myers [Thu, 7 Jul 2011 16:33:18 +0000 (17:33 +0100)]
config.gcc (*local*): Remove.

gcc:
* config.gcc (*local*): Remove.
* doc/install-old.texi: Don't mention local configurations.

libgcc:
* config.host (*local*): Remove.

From-SVN: r175988

13 years agore PR debug/49522 (Divide by zero in validate_subreg in emit-rtl.c:695)
Jakub Jelinek [Thu, 7 Jul 2011 16:05:55 +0000 (18:05 +0200)]
re PR debug/49522 (Divide by zero in validate_subreg in emit-rtl.c:695)

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

13 years agot-crtpic, [...]: Remove.
Joseph Myers [Thu, 7 Jul 2011 15:47:14 +0000 (16:47 +0100)]
t-crtpic, [...]: Remove.

* config/i386/t-crtpic, config/i386/t-svr3dbx, config/pa/t-pa:
Remove.

From-SVN: r175986

13 years agohw-doloop.c: New file.
Bernd Schmidt [Thu, 7 Jul 2011 15:42:41 +0000 (15:42 +0000)]
hw-doloop.c: New file.

* 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

13 years agoInitial x32 support.
H.J. Lu [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.

From-SVN: r175984

13 years agopragma-align.c: Run only if target !default_packed.
Georg-Johann Lay [Thu, 7 Jul 2011 15:13:01 +0000 (15:13 +0000)]
pragma-align.c: Run only if target !default_packed.

* 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

13 years agotarget-supports.exp (check_effective_target_arm_thumb1): New.
Janis Johnson [Thu, 7 Jul 2011 15:07:57 +0000 (15:07 +0000)]
target-supports.exp (check_effective_target_arm_thumb1): New.

* 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

13 years agoinvoke.texi (mwords-little-endian): Deprecate.
Richard Sandiford [Thu, 7 Jul 2011 15:07:02 +0000 (15:07 +0000)]
invoke.texi (mwords-little-endian): Deprecate.

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

13 years agoreload1.c (choose_reload_regs): Use mode sizes to check whether an old reload registe...
Richard Sandiford [Thu, 7 Jul 2011 15:05:42 +0000 (15:05 +0000)]
reload1.c (choose_reload_regs): Use mode sizes to check whether an old 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

13 years agopr37485.c (dg-options): Add -fno-loop-strip-mine -fno-loop-interchange -ffast-math.
Uros Bizjak [Thu, 7 Jul 2011 14:32:24 +0000 (16:32 +0200)]
pr37485.c (dg-options): Add -fno-loop-strip-mine -fno-loop-interchange -ffast-math.

* gcc.dg/graphite/pr37485.c (dg-options): Add -fno-loop-strip-mine
-fno-loop-interchange -ffast-math.

From-SVN: r175977

13 years agofold-const.c (fold_unary_loc): Do not strip sign-changes for NEGATE_EXPR.
Richard Guenther [Thu, 7 Jul 2011 14:21:21 +0000 (14:21 +0000)]
fold-const.c (fold_unary_loc): Do not strip sign-changes for NEGATE_EXPR.

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

13 years agotree-vrp.c (simplify_conversion_using_ranges): New function.
Richard Guenther [Thu, 7 Jul 2011 14:20:16 +0000 (14:20 +0000)]
tree-vrp.c (simplify_conversion_using_ranges): New function.

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

13 years agotree-ssa-forwprop.c (truth_valued_ssa_name): New function.
Kai Tietz [Thu, 7 Jul 2011 14:16:44 +0000 (16:16 +0200)]
tree-ssa-forwprop.c (truth_valued_ssa_name): New function.

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

13 years agogcc.c (%[Spec]): Don't document.
Joseph Myers [Thu, 7 Jul 2011 13:24:21 +0000 (14:24 +0100)]
gcc.c (%[Spec]): Don't document.

* 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

13 years agocommon-target-def.h (TARGET_HAVE_NAMED_SECTIONS): Don't default based on TARGET_ASM_N...
Joseph Myers [Thu, 7 Jul 2011 13:22:44 +0000 (14:22 +0100)]
common-target-def.h (TARGET_HAVE_NAMED_SECTIONS): Don't default based on 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

13 years agore PR middle-end/49640 (Internal compiler in C99 code (using variable-length arrays...
Jakub Jelinek [Thu, 7 Jul 2011 12:49:17 +0000 (14:49 +0200)]
re PR middle-end/49640 (Internal compiler in C99 code (using variable-length 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

13 years agotrans.c (gfc_allocate_with_status): Call _gfortran_caf_register with NULL arguments...
Tobias Burnus [Thu, 7 Jul 2011 12:46:18 +0000 (14:46 +0200)]
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>

        * 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

13 years agox86-64: Remove empty directory.
Matthias Klose [Thu, 7 Jul 2011 12:23:20 +0000 (12:23 +0000)]
x86-64: Remove empty directory.

2011-07-07  Matthias Klose  <doko@ubuntu.com>

        * sysdep/x86-64: Remove empty directory.

From-SVN: r175965

13 years agopr37485.c: Add -floop-block.
Richard Guenther [Thu, 7 Jul 2011 10:36:13 +0000 (10:36 +0000)]
pr37485.c: Add -floop-block.

2011-07-07  Richard Guenther  <rguenther@suse.de>

* gcc.dg/graphite/pr37485.c: Add -floop-block.

From-SVN: r175963

13 years agore PR libmudflap/49550 (Many libmudflap tests fail on Solaris 11/x86)
Rainer Orth [Thu, 7 Jul 2011 10:14:02 +0000 (10:14 +0000)]
re PR libmudflap/49550 (Many libmudflap tests fail on Solaris 11/x86)

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

13 years ago* gcc-interface/misc.c (gnat_init): Tweak previous change.
Eric Botcazou [Thu, 7 Jul 2011 09:50:59 +0000 (09:50 +0000)]
* gcc-interface/misc.c (gnat_init): Tweak previous change.

From-SVN: r175960

13 years agore PR bootstrap/39150 (Configure scripts have no 64-Bit Solaris defined (only i386...
Rainer Orth [Thu, 7 Jul 2011 09:24:16 +0000 (09:24 +0000)]
re PR bootstrap/39150 (Configure scripts have no 64-Bit Solaris defined (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

13 years agosol2.h (ASM_SPEC): Split into ...
Rainer Orth [Thu, 7 Jul 2011 08:52:48 +0000 (08:52 +0000)]
sol2.h (ASM_SPEC): Split into ...

* 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

13 years agoavr.md (*reload_insi): Change predicate #1 to const_int_operand.
Georg-Johann Lay [Thu, 7 Jul 2011 07:13:13 +0000 (07:13 +0000)]
avr.md (*reload_insi): Change predicate #1 to const_int_operand.

* 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

13 years agore PR c++/49353 (C++ frontend should not declare function EXTERN when it forces them...
Jason Merrill [Thu, 7 Jul 2011 02:58:33 +0000 (22:58 -0400)]
re PR c++/49353 (C++ frontend should not declare function EXTERN when it forces them to stay)

PR c++/49353
* semantics.c (expand_or_defer_fn_1): Clear DECL_EXTERNAL
on kept inlines.

From-SVN: r175954

13 years agoDaily bump.
GCC Administrator [Thu, 7 Jul 2011 00:18:32 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r175953

13 years agorevert: simplify-rtx.c (simplify_const_binary_operation): Use the shift_truncation_ma...
Bernd Schmidt [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.

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

13 years agoexplow.c (trunc_int_for_mode): Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE...
Bernd Schmidt [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.

* 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

13 years agomachmode.h (HWI_COMPUTABLE_MODE_P): New macro.
Bernd Schmidt [Wed, 6 Jul 2011 23:12:45 +0000 (23:12 +0000)]
machmode.h (HWI_COMPUTABLE_MODE_P): New macro.

* 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

13 years agoemit-rtl.c (paradoxical_subreg_p): New function.
Bernd Schmidt [Wed, 6 Jul 2011 23:11:51 +0000 (23:11 +0000)]
emit-rtl.c (paradoxical_subreg_p): New function.

* 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

13 years agoAdd -mno-r11 support to PowerPC 64
Michael Meissner [Wed, 6 Jul 2011 23:09:20 +0000 (23:09 +0000)]
Add -mno-r11 support to PowerPC 64

From-SVN: r175943

13 years agostack-layout-2.c: Cleanup expand rtl dump.
Uros Bizjak [Wed, 6 Jul 2011 21:48:15 +0000 (23:48 +0200)]
stack-layout-2.c: Cleanup expand rtl dump.

* gcc.dg/stack-layout-2.c: Cleanup expand rtl dump.
* gfortran.dg/move_alloc_4.f90: Cleanup original tree dump.

From-SVN: r175942

13 years agore PR c++/49568 (g++.dg/torture/pr41257-2.C FAILs to link on Tru64 UNIX)
Jason Merrill [Wed, 6 Jul 2011 21:22:16 +0000 (17:22 -0400)]
re PR c++/49568 (g++.dg/torture/pr41257-2.C FAILs to link on Tru64 UNIX)

PR c++/49568
* method.c (make_thunk, use_thunk): Copy DECL_COMDAT.

From-SVN: r175938

13 years agotrans-array.c (gfc_array_allocate): Rename allocatable_array
Daniel Carrera [Wed, 6 Jul 2011 20:57:03 +0000 (20:57 +0000)]
trans-array.c (gfc_array_allocate): Rename allocatable_array

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

13 years agolibgo: Use GOCFLAGS when compiling tests.
Ian Lance Taylor [Wed, 6 Jul 2011 19:51:58 +0000 (19:51 +0000)]
libgo: Use GOCFLAGS when compiling tests.

From Uros Bizjak.

From-SVN: r175930

13 years agore PR other/49658 (Typo in gcc/doc/extend.texi)
Jonathan Wakely [Wed, 6 Jul 2011 18:40:36 +0000 (18:40 +0000)]
re PR other/49658 (Typo in gcc/doc/extend.texi)

2011-07-06  Jonathan Wakely  <jwakely.gcc@gmail.com>

PR other/49658
* doc/extend.texi (Compound Literals): Fix typo.

From-SVN: r175928

13 years agojson: fix test when rand returns 0.
Ian Lance Taylor [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.

From-SVN: r175927

13 years agomt-alphaieee (GOCFLAGS_FOR_TARGET): Add -mieee.
Uros Bizjak [Wed, 6 Jul 2011 17:48:43 +0000 (19:48 +0200)]
mt-alphaieee (GOCFLAGS_FOR_TARGET): Add -mieee.

* mt-alphaieee (GOCFLAGS_FOR_TARGET): Add -mieee.

From-SVN: r175926

13 years agoarm.h (TARGET_CPU_CPP_BUILTINS): Add __ARM_FEATURE_DSP.
James Greenhalgh [Wed, 6 Jul 2011 17:26:15 +0000 (17:26 +0000)]
arm.h (TARGET_CPU_CPP_BUILTINS): Add __ARM_FEATURE_DSP.

2011-07-06  James Greenhalgh  <james.greenhalgh@arm.com>

* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add
__ARM_FEATURE_DSP.

From-SVN: r175925

13 years agoconfigure.ac (plugin-version.h): Generate GCCPLUGIN_VERSION_MAJOR...
Basile Starynkevitch [Wed, 6 Jul 2011 16:37:09 +0000 (16:37 +0000)]
configure.ac (plugin-version.h): Generate GCCPLUGIN_VERSION_MAJOR...

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.

From-SVN: r175923

13 years agotarget-supports.exp (check_profiling_available): Disable profiling with -fprofile...
Georg-Johann Lay [Wed, 6 Jul 2011 16:05:18 +0000 (16:05 +0000)]
target-supports.exp (check_profiling_available): Disable profiling with -fprofile-generate for target avr.

* lib/target-supports.exp (check_profiling_available): Disable
profiling with -fprofile-generate for target avr.

From-SVN: r175922

13 years agomachmode.h (TRULY_NOOP_TRUNCATION_MODES_P): New macro.
Bernd Schmidt [Wed, 6 Jul 2011 14:44:30 +0000 (14:44 +0000)]
machmode.h (TRULY_NOOP_TRUNCATION_MODES_P): New macro.

* 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.

From-SVN: r175921

13 years ago* config/rs6000/vxworks.h (WORDS_BIG_ENDIAN): Define.
Joseph Myers [Wed, 6 Jul 2011 14:24:35 +0000 (15:24 +0100)]
* config/rs6000/vxworks.h (WORDS_BIG_ENDIAN): Define.

From-SVN: r175919

13 years ago* simplify-rtx.c (simplify_ternary_operation): Remove dead code.
Bernd Schmidt [Wed, 6 Jul 2011 14:21:51 +0000 (14:21 +0000)]
* simplify-rtx.c (simplify_ternary_operation): Remove dead code.

From-SVN: r175918

13 years agocse.c (find_comparison_args): Use val_mode_signbit_set_p.
Bernd Schmidt [Wed, 6 Jul 2011 14:21:03 +0000 (14:21 +0000)]
cse.c (find_comparison_args): Use val_mode_signbit_set_p.

* 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.

From-SVN: r175917

13 years agore PR tree-optimization/49645 (g++.dg/tree-ssa/pr8781.C FAILs on Tru64 UNIX)
Richard Guenther [Wed, 6 Jul 2011 14:05:54 +0000 (14:05 +0000)]
re PR tree-optimization/49645 (g++.dg/tree-ssa/pr8781.C FAILs on Tru64 UNIX)

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.

From-SVN: r175916

13 years agoinstall.texi (Configuration): It's --enable-gnu-indirect-function, not --enable-indir...
Ian Lance Taylor [Wed, 6 Jul 2011 13:58:39 +0000 (13:58 +0000)]
install.texi (Configuration): It's --enable-gnu-indirect-function, not --enable-indirect-function.

* doc/install.texi (Configuration): It's
--enable-gnu-indirect-function, not --enable-indirect-function.

From-SVN: r175915

13 years agosimplify-rtx.c (simplify_const_binary_operation): Use the shift_truncation_mask hook...
Bernd Schmidt [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.

* 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: r175913

13 years agoUse pointer_mode for address computation.
H.J. Lu [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.

From-SVN: r175912

13 years agore PR tree-optimization/49647 (gcc.dg/tree-ssa/20030807-7.c XPASSes everywhere)
Rainer Orth [Wed, 6 Jul 2011 11:56:46 +0000 (11:56 +0000)]
re PR tree-optimization/49647 (gcc.dg/tree-ssa/20030807-7.c XPASSes everywhere)

PR tree-optimization/49647
* gcc.dg/tree-ssa/20030807-7.c: Remove xfail *-*-*.

From-SVN: r175910

13 years agotree.c (build_common_tree_nodes_2): Merge with build_common_tree_nodes.
Richard Guenther [Wed, 6 Jul 2011 10:03:05 +0000 (10:03 +0000)]
tree.c (build_common_tree_nodes_2): Merge with build_common_tree_nodes.

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.

From-SVN: r175906

13 years agore PR testsuite/49542 (2 failures in the vectorization testsuite in 64-bit mode)
Eric Botcazou [Wed, 6 Jul 2011 08:46:41 +0000 (08:46 +0000)]
re PR testsuite/49542 (2 failures in the vectorization testsuite in 64-bit mode)

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.

From-SVN: r175905

13 years agore PR c++/48157 (Unable to match function call to member function template)
Jason Merrill [Wed, 6 Jul 2011 04:20:39 +0000 (00:20 -0400)]
re PR c++/48157 (Unable to match function call to member function template)

PR c++/48157
* pt.c (tsubst_qualified_id): Preserve TEMPLATE_ID_EXPR in
partial instantiation.

From-SVN: r175904

13 years agoDaily bump.
GCC Administrator [Wed, 6 Jul 2011 00:18:36 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r175900

13 years agolibgcc/
Thomas Schwinge [Tue, 5 Jul 2011 22:14:37 +0000 (00:14 +0200)]
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.

From-SVN: r175892

13 years agore PR tree-optimization/49618 (When building uClibc with GCC 4.6.1 old_atexit is...
Jakub Jelinek [Tue, 5 Jul 2011 18:43:04 +0000 (20:43 +0200)]
re PR tree-optimization/49618 (When building uClibc with GCC 4.6.1 old_atexit is miscompiled)

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.

From-SVN: r175884

13 years agopr44023.c: Add dg-require-effective-target int32plus
Georg-Johann Lay [Tue, 5 Jul 2011 18:27:57 +0000 (18:27 +0000)]
pr44023.c: Add dg-require-effective-target int32plus

* gcc.dg/pr44023.c: Add dg-require-effective-target int32plus
* gcc.dg/pr43402.c: Ditto.

From-SVN: r175882

13 years agomemory.c (internal_malloc_size): If size is zero, allocate a single byte.
Thomas Koenig [Tue, 5 Jul 2011 18:16:17 +0000 (18:16 +0000)]
memory.c (internal_malloc_size): If size is zero, allocate a single byte.

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.

From-SVN: r175880

13 years ago* gcc.dg/cpp/pragma-3.c: Add dg-require-effective-target fopenmp.
Georg-Johann Lay [Tue, 5 Jul 2011 18:03:04 +0000 (18:03 +0000)]
* gcc.dg/cpp/pragma-3.c: Add dg-require-effective-target fopenmp.

From-SVN: r175879

13 years agoAdd --param case-values-threshold
Michael Meissner [Tue, 5 Jul 2011 17:45:38 +0000 (17:45 +0000)]
Add --param case-values-threshold

From-SVN: r175878

13 years ago* gcc.target/arm/pr42093.c: Use "-fno-reorder-blocks".
Janis Johnson [Tue, 5 Jul 2011 17:16:17 +0000 (17:16 +0000)]
* gcc.target/arm/pr42093.c: Use "-fno-reorder-blocks".

From-SVN: r175877

13 years agodwarf2out: Remove unused text-based unwind entry points.
Richard Henderson [Tue, 5 Jul 2011 17:14:16 +0000 (10:14 -0700)]
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.

From-SVN: r175876

13 years agoia64: Remove TARGET_DWARF_HANDLE_FRAME_UNSPEC hook.
Richard Henderson [Tue, 5 Jul 2011 17:10:29 +0000 (10:10 -0700)]
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.

From-SVN: r175875

13 years agoia64: Remove dead code in process_epilogue.
Richard Henderson [Tue, 5 Jul 2011 17:08:58 +0000 (10:08 -0700)]
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.

From-SVN: r175874

13 years agoia64: Use pc_rtx to save the return address.
Richard Henderson [Tue, 5 Jul 2011 17:08:52 +0000 (10:08 -0700)]
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.

From-SVN: r175873

13 years agoia64: Remove ia64_dwarf2out_def_steady_cfa.
Richard Henderson [Tue, 5 Jul 2011 17:06:09 +0000 (10:06 -0700)]
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.

From-SVN: r175872

13 years agoia64: Issue REG_CFA_REGISTER for ar.pfs at alloc insn.
Richard Henderson [Tue, 5 Jul 2011 17:05:04 +0000 (10:05 -0700)]
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.

From-SVN: r175871

13 years agoarm: Use REG_CFA_REGISTER instead of UNSPEC_STACK_ALIGN.
Richard Henderson [Tue, 5 Jul 2011 17:03:41 +0000 (10:03 -0700)]
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.

From-SVN: r175870

13 years agovax: Emit prologue as rtl.
Richard Henderson [Tue, 5 Jul 2011 16:58:42 +0000 (09:58 -0700)]
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.

From-SVN: r175869

13 years ago* g++.dg/rtti/anon-ns1.C: Allow for null-termination.
Jason Merrill [Tue, 5 Jul 2011 16:36:59 +0000 (12:36 -0400)]
* g++.dg/rtti/anon-ns1.C: Allow for null-termination.

From-SVN: r175867

13 years agoPromote the function argument before checking non-legitimate constant.
H.J. Lu [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.

From-SVN: r175864

13 years agoFix PR47654: Loop blocking should strip-mine at least two loops.
Sebastian Pop [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.

From-SVN: r175861

13 years agoFix computation of precision.
Sebastian Pop [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.

From-SVN: r175860

13 years agoCorrect computation of max.
Sebastian Pop [Tue, 5 Jul 2011 14:50:21 +0000 (14:50 +0000)]
Correct computation of max.

* graphite-ppl.h (value_max): Correct computation of max.

From-SVN: r175859

13 years agoCorrect typo.
Sebastian Pop [Tue, 5 Jul 2011 14:50:13 +0000 (14:50 +0000)]
Correct typo.

* graphite-clast-to-gimple.c (clast_name_to_index): Add missing space.

From-SVN: r175858

13 years agore PR c++/49598 ([C++0x] Ice on lambda with implicit capture by value.)
Jason Merrill [Tue, 5 Jul 2011 14:47:21 +0000 (10:47 -0400)]
re PR c++/49598 ([C++0x] Ice on lambda with implicit capture by value.)

PR c++/49598
* semantics.c (finish_id_expression): convert_from_reference.

From-SVN: r175857

13 years agoc-common.c (c_common_nodes_and_builtins): Build all common tree nodes first.
Richard Guenther [Tue, 5 Jul 2011 14:39:30 +0000 (14:39 +0000)]
c-common.c (c_common_nodes_and_builtins): Build all common tree nodes first.

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

c-family/
* c-common.c (c_common_nodes_and_builtins): Build all common
tree nodes first.

* c-decl.c (c_init_decl_processing): Defer building common
tree nodes to c_common_nodes_and_builtins.

cp/
* decl.c (cxx_init_decl_processing): Defer building common
tree nodes to c_common_nodes_and_builtins.

From-SVN: r175856

13 years ago07-05-2011 Razya Ladelsky <razya@il.ibm.com>
Razya Ladelsky [Tue, 5 Jul 2011 13:08:01 +0000 (13:08 +0000)]
07-05-2011  Razya Ladelsky  <razya@il.ibm.com>

        * tree-cfg.c (gimple_duplicate_sese_tail): Remove handling of
        the loop's number of iterations.
        * tree-parloops.c (transform_to_exit_first_loop): Add the
        handling of the loop's number of iterations before the call
        to gimple_duplicate_sese_tail.
        Insert the stmt caclculating the new rhs of the loop's
        condition stmt to the preheader instead of iters_bb.
        * testsuite/gcc.dg/autopar/pr49580.c: New test.

From-SVN: r175851

13 years agoDon't propagate hard registers in forward_propagate_subreg.
H.J. Lu [Tue, 5 Jul 2011 12:47:35 +0000 (12:47 +0000)]
Don't propagate hard registers in forward_propagate_subreg.

2011-07-05  H.J. Lu  <hongjiu.lu@intel.com>

PR rtl-optimization/47449
* fwprop.c (forward_propagate_subreg): Don't propagate hard
register nor zero/sign extended hard register.

From-SVN: r175849

13 years agore PR tree-optimization/49518 (ICE in vect_enhance_data_refs_alignment, at tree-vect...
Richard Guenther [Tue, 5 Jul 2011 11:24:26 +0000 (11:24 +0000)]
re PR tree-optimization/49518 (ICE in vect_enhance_data_refs_alignment, at tree-vect-data-refs.c:1555)

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

PR tree-optimization/49518
PR tree-optimization/49628
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Skip
irrelevant and invariant data-references.
(vect_analyze_data_ref_access): For invariant loads clear the
group association.

* g++.dg/torture/pr49628.C: New testcase.
* gcc.dg/torture/pr49518.c: Likewise.

From-SVN: r175847

13 years agorun_acats (which): Extract last field from type -p, type output only if command succe...
Rainer Orth [Tue, 5 Jul 2011 10:22:50 +0000 (10:22 +0000)]
run_acats (which): Extract last field from type -p, type output only if command succeeded.

* ada/acats/run_acats (which): Extract last field from type -p,
type output only if command succeeded.

From-SVN: r175843

13 years agoDaily bump.
GCC Administrator [Tue, 5 Jul 2011 00:17:59 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r175840

13 years agocp-demangle.c (d_expression): Handle 'this'.
Jason Merrill [Mon, 4 Jul 2011 21:44:11 +0000 (17:44 -0400)]
cp-demangle.c (d_expression): Handle 'this'.

* cp-demangle.c (d_expression): Handle 'this'.
(d_print_comp) [DEMANGLE_COMPONENT_FUNCTION_PARAM]: Likewise.

From-SVN: r175836

13 years agoDR 1207 PR c++/49589
Jason Merrill [Mon, 4 Jul 2011 21:44:04 +0000 (17:44 -0400)]
DR 1207 PR c++/49589

DR 1207
PR c++/49589
* mangle.c (write_expression): Handle 'this'.
* parser.c (cp_parser_postfix_dot_deref_expression): Allow
incomplete *this.
* semantics.c (potential_constant_expression_1): Check that
DECL_CONTEXT is set on 'this'.

From-SVN: r175835

13 years agoerror.c (dump_template_bindings): Don't print typenames for a partial instantiation.
Jason Merrill [Mon, 4 Jul 2011 21:43:57 +0000 (17:43 -0400)]
error.c (dump_template_bindings): Don't print typenames for a partial instantiation.

* error.c (dump_template_bindings): Don't print typenames
for a partial instantiation.
(dump_function_decl): If we aren't printing function arguments,
print template arguments as <args> rather than [with ...].
(dump_expr): Don't print return type or template header.
[BASELINK]: Use BASELINK_FUNCTIONS rather than get_first_fn.
* pt.c (dependent_template_arg_p): Handle null arg.

From-SVN: r175834

13 years ago* error.c (type_to_string): Avoid redundant akas.
Jason Merrill [Mon, 4 Jul 2011 21:43:49 +0000 (17:43 -0400)]
* error.c (type_to_string): Avoid redundant akas.

From-SVN: r175833

13 years agore PR fortran/49623 (Segfault of "gfortran -L" if no argument follows the "-L")
Jakub Jelinek [Mon, 4 Jul 2011 21:12:57 +0000 (23:12 +0200)]
re PR fortran/49623 (Segfault of "gfortran -L" if no argument follows the "-L")

PR fortran/49623
* gfortranspec.c (lang_specific_driver): Ignore options with
CL_ERR_MISSING_ARG errors.

From-SVN: r175830

13 years agore PR rtl-optimization/49619 (ICE in simplify_subreg, at simplify-rtx.c:5362)
Jakub Jelinek [Mon, 4 Jul 2011 21:04:54 +0000 (23:04 +0200)]
re PR rtl-optimization/49619 (ICE in simplify_subreg, at simplify-rtx.c:5362)

PR rtl-optimization/49619
* combine.c (combine_simplify_rtx): In PLUS -> IOR simplification
pass VOIDmode as op0_mode to recursive call, and return temp even
when different from tor, just if it is not IOR of the original
PLUS arguments.

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

From-SVN: r175825

13 years agore PR rtl-optimization/49472 (Compiler segfault on valid code)
Jakub Jelinek [Mon, 4 Jul 2011 18:53:56 +0000 (20:53 +0200)]
re PR rtl-optimization/49472 (Compiler segfault on valid code)

PR rtl-optimization/49472
* simplify-rtx.c (simplify_unary_operation_1) <case NEG>: When
negating MULT, negate the second operand instead of first.
(simplify_binary_operation_1) <case MULT>: If one operand is
a NEG and the other is MULT, don't attempt to optimize by
negation of the MULT operand if it only moves the NEG operation
around.

* gfortran.dg/pr49472.f90: New test.

From-SVN: r175821

13 years agore PR debug/49602 (verify_ssa failed (definition does not dominate use) with "-O2...
Jakub Jelinek [Mon, 4 Jul 2011 17:19:52 +0000 (19:19 +0200)]
re PR debug/49602 (verify_ssa failed (definition does not dominate use) with "-O2 -g")

PR debug/49602
* tree-into-ssa.c (rewrite_debug_stmt_uses): Disregard
get_current_def return value if it can't be trusted to be
the current value of the variable in the current bb.

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

From-SVN: r175818

13 years agore PR target/49600 (Bad SSE2 int->float split in i386.md)
Uros Bizjak [Mon, 4 Jul 2011 16:26:08 +0000 (18:26 +0200)]
re PR target/49600 (Bad SSE2 int->float split in i386.md)

PR target/49600
* config/i386/i386.md (SSE2 int->float split): Push operand 1 in
general register to memory for !TARGET_INTER_UNIT_MOVES.

From-SVN: r175817

13 years agore PR target/34734 ([avr] attribute((progmem)) not handled properly in C++)
Georg-Johann Lay [Mon, 4 Jul 2011 12:48:04 +0000 (12:48 +0000)]
re PR target/34734 ([avr] attribute((progmem)) not handled properly in C++)

PR target/34734
PR target/44643
* gcc.target/avr/avr.exp: Run over cpp files, too.
* gcc.target/avr/torture/avr-torture.exp: Ditto.
* gcc.target/avr/progmem.h: New file.
* gcc.target/avr/exit-abort.h: New file.
* gcc.target/avr/progmem-error-1.c: New file.
* gcc.target/avr/progmem-error-1.cpp: New file.
* gcc.target/avr/progmem-warning-1.c: New file.
* gcc.target/avr/torture/progmem-1.c: New file.
* gcc.target/avr/torture/progmem-1.cpp: New file.

From-SVN: r175811

13 years agore PR target/44643 ([avr] ICE in c-typeck.c)
Georg-Johann Lay [Mon, 4 Jul 2011 12:28:02 +0000 (12:28 +0000)]
re PR target/44643 ([avr] ICE in c-typeck.c)

PR target/44643
* config/avr/avr.c (avr_insert_attributes): Use TYPE_READONLY
instead of TREE_READONLY.

From-SVN: r175809

13 years agoextend.texi (AVR Built-in Functions): Update documentation of __builtin_avr_fmul*.
Georg-Johann Lay [Mon, 4 Jul 2011 12:20:35 +0000 (12:20 +0000)]
extend.texi (AVR Built-in Functions): Update documentation of __builtin_avr_fmul*.

* doc/extend.texi (AVR Built-in Functions): Update documentation
of __builtin_avr_fmul*.
* config/avr/avr.c (avr_init_builtins): Don't depend on
AVR_HAVE_MUL.
* config/avr/avr-c.c (avr_cpu_cpp_builtins): Ditto.
* config/avr/avr.md (fmul): Rename to fmul_insn.
(fmuls): Rename to fmuls_insn.
(fmulsu): Rename to fmulsu_insn.
(fmul,fmuls,fmulsu): New expander.
(*fmul.call,*fmuls.call,*fmulsu.call): New Insn.
* config/avr/t-avr (LIB1ASMFUNCS): Add _fmul, _fmuls, _fmulsu.
* config/avr/libgcc.S (__fmul): New function.
(__fmuls): New function.
(__fmulsu,__fmulsu_exit): New function.

From-SVN: r175807

13 years agore PR tree-optimization/49615 (internal compiler error: verify_stmts failed / LHS...
Richard Guenther [Mon, 4 Jul 2011 12:06:17 +0000 (12:06 +0000)]
re PR tree-optimization/49615 (internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member)

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

PR tree-optimization/49615
* tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix
basic-block index check.

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

From-SVN: r175803

13 years agot-avr (intfuncs16): Add _clrsbXX2.
Georg-Johann Lay [Mon, 4 Jul 2011 10:02:34 +0000 (10:02 +0000)]
t-avr (intfuncs16): Add _clrsbXX2.

libgcc/
* config/avr/t-avr (intfuncs16): Add _clrsbXX2.

gcc/
* longlong.h (count_leading_zeros, count_trailing_zeros,
COUNT_LEADING_ZEROS_0): Define for target avr if W_TYPE_SIZE is 16
resp. 64.

From-SVN: r175800

13 years agoIn gcc/objc/: 2011-07-04 Nicola Pero <nicola.pero@meta-innovation.com>
Nicola Pero [Mon, 4 Jul 2011 08:02:50 +0000 (08:02 +0000)]
In gcc/objc/: 2011-07-04 Nicola Pero <nicola.pero@meta-innovation.com>

In gcc/objc/:
2011-07-04  Nicola Pero  <nicola.pero@meta-innovation.com>

Refactored encoding code into objc-encoding.h and objc-encoding.c.
* objc-act.c (util_obstack, util_firstobj, encode_type_qualifiers,
encode_type, generating_instance_variables, objc_method_parm_type,
objc_encoded_type_size, encode_method_prototype,
objc_build_encode_expr, pointee_is_readonly, encode_pointer,
encode_array, encode_vector, encode_aggregate_fields,
encode_aggregate_within, encode_next_bitfield,
encode_gnu_bitfield, encode_field_decl,
objc_v2_encode_property_attr): Moved to objc-encoding.h and
objc-encoding.c.  No change in the actual code.
Include objc-encoding.h.
(objc_init): Added TODO.
(objc_build_property_setter_name): Made non-static so it can be
called from objc-encoding.c.
* objc-act.h (OBJC_ENCODE_INLINE_DEFS,
OBJC_ENCODE_DONT_INLINE_DEFS): Moved to objc-encoding.h.
* objc-runtime-shared-support.h (objc_v2_encode_property_attr,
encode_method_prototype, encode_field_decl,
generating_instance_variables): Moved to objc-encoding.h.
(objc_build_property_setter_name): Declare.
* objc-encoding.c: New.
* objc-encoding.h: New.
* objc-gnu-runtime-abi-01.c: Include objc-encoding.h.
* objc-next-runtime-abi-01.c: Likewise.
* objc-next-runtime-abi-02.c: Likewise.
* objc-runtime-shared-support.c: Likewise.
* Make-lang.in (OBJC_OBJS): Added objc-encoding.o.
(objc/objc-lang.o): Reordered dependencies.
(objc/objc-runtime-shared-support.o): Reordered dependencies.
Added dependencies on objc-encoding.h and on $(GGC_H),
$(DIAGNOSTIC_CORE_H), $(FLAGS_H) and input.h.
(objc/objc-gnu-runtime-abi-01.o): Likewise.
(objc/objc-next-runtime-abi-01.o): Likewise.
(objc/objc-next-runtime-abi-02.o): Likewise.
(objc/objc-act.o): Reordered dependencies.  Added dependency on
objc-encoding.h.
(objc/objc-encoding.o): New rule.

* objc-encoding.c (encode_type): Use "%<%T%>" format when printing
warning "unknown type %<%T%> found during Objective-C encoding"
instead of using gen_type_name.

In gcc/objcp/:
2011-07-04  Nicola Pero  <nicola.pero@meta-innovation.com>

* Make-lang.in (OBJCXX_OBJS): Added objc-encoding.o.
(objcp/objcp-lang.o): Reordered dependencies.  Depend on GGC_H.
(objcp/objcp-decl.o): Reordered dependencies.
(objcp/objc-runtime-shared-support.o): Reordered dependencies.
Updated them to be identical to the corresponding new objc/ ones,
with the addition of objcp-decl.h.
(objcp/objc-runtime-shared-support.o): Likewise.
(objcp/objc-gnu-runtime-abi-01.o): Likewise.
(objcp/objc-next-runtime-abi-01.o): Likewise.
(objcp/objc-next-runtime-abi-02.o): Likewise.
(objcp/objcp-act.o): Reordered dependencies.  Added dependency on
objc-encoding.h.
(objcp/objc-encoding.o): New rule.

From-SVN: r175797

13 years agoDaily bump.
GCC Administrator [Mon, 4 Jul 2011 00:19:16 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r175793

13 years agoPR 49296 Fix wrong PR number in ChangeLog
Janne Blomqvist [Sun, 3 Jul 2011 17:37:30 +0000 (20:37 +0300)]
PR 49296 Fix wrong PR number in ChangeLog

From-SVN: r175789

13 years agore PR tree-optimization/49610 (Segfault with -ftree-vectorize (or -O3))
Ira Rosen [Sun, 3 Jul 2011 10:14:55 +0000 (10:14 +0000)]
re PR tree-optimization/49610 (Segfault with -ftree-vectorize (or -O3))

        PR tree-optimization/49610
        * tree-vect-loop.c (vect_is_slp_reduction): Check that DEF_STMT has
        a basic block.

From-SVN: r175786