gcc.git
12 years ago* setproctitle.c (setproctitle): Use "GNU/Linux" in comment.
Ian Lance Taylor [Sat, 29 Oct 2011 00:09:39 +0000 (00:09 +0000)]
* setproctitle.c (setproctitle): Use "GNU/Linux" in comment.

From-SVN: r180641

12 years ago2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Sat, 29 Oct 2011 00:06:34 +0000 (00:06 +0000)]
2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

Revert Fix for c++/50864.

From-SVN: r180640

12 years ago2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Sat, 29 Oct 2011 00:04:55 +0000 (00:04 +0000)]
2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

Revert Fix for c++/50864.

From-SVN: r180639

12 years agoAdd rune as an alias for int.
Ian Lance Taylor [Fri, 28 Oct 2011 22:06:24 +0000 (22:06 +0000)]
Add rune as an alias for int.

From-SVN: r180634

12 years agomorestack.S: Correct CFI information to do proper returns throughout function.
Ian Lance Taylor [Fri, 28 Oct 2011 22:03:56 +0000 (22:03 +0000)]
morestack.S: Correct CFI information to do proper returns throughout function.

* config/i386/morestack.S: Correct CFI information to do proper
returns throughout function.  In 32-bit mode, save %ebx so that it
is restored on unwind.

From-SVN: r180633

12 years agors6000.md (define_attr "type"): Add vecdouble.
Pat Haugen [Fri, 28 Oct 2011 21:38:56 +0000 (21:38 +0000)]
rs6000.md (define_attr "type"): Add vecdouble.

        * config/rs6000/rs6000.md (define_attr "type"): Add vecdouble.
        * config/rs6000/vsx.md (VStype_simple, VStype_mul): Use
        * vecdouble
        type for V2DF.
        (VStype_div): Use vector types for V2DF/V4SF.
        (VStype_sqrt): Use *sqrt types.
        (VS_spdp_type): Change type to vecdouble.
        (*vsx_fmav2df4, *vsx_nfmsv2df4, vsx_xvcvdpsxws, vsx_xvcvdpuxws,
        vsx_xvcvuxdsp, vsx_xvcvsxwdp, vsx_xvcvuxwdp, vsx_xvcvspsxds,
        vsx_xvcvspuxds): Likewise.
        (*vsx_fms<mode>4): Set type via <VStype_mul>.
        (*vsx_eq_<mode>_p, *vsx_gt_<mode>_p, *vsx_ge_<mode>_p): Set type
via
        <VStype_simple>.
        * config/rs6000/power7.md (power7-vecstore): Correct VSU pipe.
        (power7-fpcompare, power7-sdiv, power7-ddiv, power7-sqrt,
        power7-dsqrt): Correct insn latency.
        (power7-vecsimple): Add veccmp type and correct dispatch/VSU
values.
        (power7-veccmp): Delete.
        (power7-vecfloat): Correct latency/dispatch/VSU values.
        (define_bypass "power7-vecfloat"): Correct latency and types.
        (power7-veccomplex, power7-vecperm): Correct dispatch/VSU
values.
        (power7-vecdouble, power7-vecfdiv, power7-vecdiv): New.

From-SVN: r180632

12 years ago* c-c++-common/dfp/pr33466.c: Adjust for user-defined literals.
Jason Merrill [Fri, 28 Oct 2011 20:27:53 +0000 (16:27 -0400)]
* c-c++-common/dfp/pr33466.c: Adjust for user-defined literals.

From-SVN: r180627

12 years agopt.c (unify_pack_expansion): Initialize bad_old_arg and bad_new_arg.
Paolo Carlini [Fri, 28 Oct 2011 20:05:38 +0000 (20:05 +0000)]
pt.c (unify_pack_expansion): Initialize bad_old_arg and bad_new_arg.

2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

* pt.c (unify_pack_expansion): Initialize bad_old_arg and bad_new_arg.

From-SVN: r180626

12 years ago* config/i386/sse.md (<shift_insn><mode>3): Fix asm template.
Uros Bizjak [Fri, 28 Oct 2011 19:16:17 +0000 (21:16 +0200)]
* config/i386/sse.md (<shift_insn><mode>3): Fix asm template.

From-SVN: r180625

12 years agoi386.md (shift_insn): Rename code attribute from shiftrt_insn.
Uros Bizjak [Fri, 28 Oct 2011 19:05:32 +0000 (21:05 +0200)]
i386.md (shift_insn): Rename code attribute from shiftrt_insn.

* config/i386/i386.md (shift_insn): Rename code attribute from
shiftrt_insn.  Also handle ashift RTX.
(shift): Rename code attribute from shiftrt.  Also handle ashift RTX.
(vshift): New code attribute.
(<shift_insn>*): Rename from <shiftrt_insn>*. Update asm templates.
(any_lshift): Move and rename code iterator from ...
* config/i386/sse.md (lshift): ... here.
(lshift_insn): Remove code attribute.
(lshift): Remove code attribute.
(vlshr<mode>3): Use lshiftrt RTX.
(vashr<mode>3, ashrv16qi3, ashrv2di3): Use ashiftrt RTX.
(vashl<mode>3, ashlv16qi3): Use ashift RTX.
(avx2_<lshift>v<mode>): Rename from avx2_<shift_insn>v<mode>.  Use
any_lshift code iterator.  Update asm template.
(<shift_insn><mode>3): Macroize insn from lshr<mode>3 and ashl<mode>3
usign any_lshift code iterator.
* config/i386/mmx.md (mmx_<shift_insn><mode>3): Macroize insn from
mmx_lshr<mode>3 and mmx_ashl<mode>3 usign any_lshift code iterator.
* config/i386/i386.c (bdesc_args) <__builtin_ia32_psll>: Update.

From-SVN: r180624

12 years agore PR c++/50864 (ICE with decltype and "declval" from another namespace)
Paolo Carlini [Fri, 28 Oct 2011 18:40:22 +0000 (18:40 +0000)]
re PR c++/50864 (ICE with decltype and "declval" from another namespace)

/cp
2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50864
* pt.c (tsubst_copy_and_build): Fix qualified_name_lookup_error
call in case COMPONENT_REF.

/testsuite
2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50864
* g++.dg/template/crash109.C: New.

From-SVN: r180623

12 years agoi386.md (shift_insn): Rename code attribute from shiftrt_insn.
Uros Bizjak [Fri, 28 Oct 2011 18:17:51 +0000 (20:17 +0200)]
i386.md (shift_insn): Rename code attribute from shiftrt_insn.

* config/i386/i386.md (shift_insn): Rename code attribute from
shiftrt_insn.  Also handle ashift RTX.
(shift): Rename code attribute from shiftrt.  Also handle ashift RTX.
(<shift_insn>*): Rename from <shiftrt_insn>*. Update asm templates.
* config/i386/sse.md (any_lshift): Rename code iterator from lshift.
(lshift_insn): Remove code attribute.
(lshift): Remove code attribute.
(vlshr<mode>3): Use lshiftrt RTX.
(vashr<mode>3): Use ashiftrt RTX.
(vashl<mode>3): Use ashift RTX.
(avx2_<lshift>v<mode>): Rename from avx2_<shift_insn>v<mode>.  Use
any_lshift code iterator.  Update asm template.
* config/i386/i386.c (bdesc_args) <__builtin_ia32_psll>: Update.

From-SVN: r180622

12 years agore PR target/49313 (Inefficient libgcc implementations for avr)
Georg-Johann Lay [Fri, 28 Oct 2011 17:47:56 +0000 (17:47 +0000)]
re PR target/49313 (Inefficient libgcc implementations for avr)

PR target/49313
* config/avr/avr.md (parityhi2): Expand allowing pseudos.
(*parityhi2): New pre-reload insn-and-split to map 16-bit parity
to the libgcc insn.
(*parityqihi2): Same for 8-bit parity.

From-SVN: r180620

12 years agocheck.c (gfc_check_atan_2): Typo in comment.
Steven G. Kargl [Fri, 28 Oct 2011 15:15:25 +0000 (15:15 +0000)]
check.c (gfc_check_atan_2): Typo in comment.

2011-10-28  Steven G. Kargl  <kargl@gcc.gnu.org>

* check.c (gfc_check_atan_2): Typo in comment.
(gfc_check_nearest): If 's' is constant, check that it is not 0.
* simplify.c (simplify_dshift, gfc_simplify_ibclr, gfc_simplify_ibits,
gfc_simplify_ibset, simplify_shift, gfc_simplify_ishftc,
gfc_simplify_nearest): Remove dead code.

2011-10-28  Steven G. Kargl  <kargl@gcc.gnu.org>

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

From-SVN: r180618

12 years ago50862.cc: Trivial formatting fixes.
Paolo Carlini [Fri, 28 Oct 2011 14:33:21 +0000 (14:33 +0000)]
50862.cc: Trivial formatting fixes.

2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/30_threads/condition_variable_any/50862.cc: Trivial
formatting fixes.

From-SVN: r180617

12 years agore PR target/50678 (FAIL: c52104y on x86_64-apple-darwin10)
Iain Sandoe [Fri, 28 Oct 2011 11:59:07 +0000 (11:59 +0000)]
re PR target/50678 (FAIL: c52104y on x86_64-apple-darwin10)

ada:

PR target/50678
* init.c (Darwin/__gnat_error_handler): Apply a work-around to the
bug [filed as radar #10302855], which is inconsistent unwind data
for sigtramp.

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r180613

12 years agocount.cc: New.
Paolo Carlini [Fri, 28 Oct 2011 11:54:04 +0000 (11:54 +0000)]
count.cc: New.

2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/23_containers/unordered_map/operations/count.cc: New.
* testsuite/23_containers/multimap/operations/count.cc: Likewise.
* testsuite/23_containers/set/operations/count.cc: Likewise.
* testsuite/23_containers/unordered_multimap/operations/count.cc:
Likewise.
* testsuite/23_containers/unordered_set/operations/count.cc: Likewise.
* testsuite/23_containers/multiset/operations/count.cc: Likewise.
* testsuite/23_containers/unordered_multiset/operations/count.cc:
Likewise.
* testsuite/23_containers/map/operations/count.cc: Likewise.

From-SVN: r180612

12 years agore PR rtl-optimization/47918 (noreturn discovery broke non local gotos on m68k and...
Julian Brown [Fri, 28 Oct 2011 10:48:32 +0000 (10:48 +0000)]
re PR rtl-optimization/47918 (noreturn discovery broke non local gotos on m68k and i386)

PR rtl-optimization/47918

* reload1.c (set_initial_label_offsets): Use initial offsets
for labels on the nonlocal_goto_handler_labels chain.

From-SVN: r180611

12 years agoImplement out-of-line FPR and GPR saves for PPC/Darwin
Iain Sandoe [Fri, 28 Oct 2011 10:33:55 +0000 (10:33 +0000)]
Implement out-of-line FPR and GPR saves for PPC/Darwin

gcc:

* config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA):
Move darwin-fpsave.asm from here to ... LIB2FUNCS_EXTRA.
(LIB2FUNCS_EXTRA):  Add darwin-gpsave.asm.
(TARGET_LIBGCC2_CFLAGS): Ensure that fPIC and -pipe are inherited from
config/t-darwin.
* config/rs6000/darwin.h (FP_SAVE_INLINE): Adjust to enable.
(GP_SAVE_INLINE): Likewise.
(SAVE_FP_PREFIX,  SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
RESTORE_FP_SUFFIX): Set to empty strings.
* config/rs6000/rs6000.c (rs6000_savres_strategy): Implement for Darwin.
(debug_stack_info): Print savres_strategy.
(rs6000_savres_routine_name): Implement for Darwin.
(rs6000_make_savres_rtx): Adjust used register for Darwin.
(rs6000_emit_prologue): Implement out-of-line saves for Darwin.
(rs6000_output_function_prologue): Don't emit .extern for Mach-O.
(rs6000_emit_epilogue): Implement out-of-line saves for Darwin.
* config/rs6000/darwin-gpsave.asm: New file.

From-SVN: r180610

12 years agosse.md (VI4SD_AVX2): Removed.
Jakub Jelinek [Fri, 28 Oct 2011 10:28:40 +0000 (12:28 +0200)]
sse.md (VI4SD_AVX2): Removed.

* config/i386/sse.md (VI4SD_AVX2): Removed.
(VI48_AVX2, VI128_128, VI48_128, VI48_256): New mode iterators.
(vashl<mode>3): Use VI12_128 iterator instead of VI124_128.
Add another expander using VI48_128 iterator for
TARGET_AVX2 || TARGET_XOP and another using VI48_256 iterator
for TARGET_AVX2.
(vlshr<mode>3): Likewise.  Change register_operand predicate to
nonimmediate_operand on last operand in the VI12_128 expander.
(vashr<mode>3): Use VI128_128 iterator instead of VI124_128.
(vashrv4si3, vashrv8si3): New expanders.
(avx2_ashrvv8si, avx2_ashrvv4si, avx2_<lshift>vv8si,
avx2_<lshift>vv2di): Removed.
(avx2_ashrv<mode>): New insn with VI4_AVX2 iterator.
(avx2_<lshift>v<mode>): Macroize using VI48_AVX2
iterator.  Simplify pattern.

* gcc.dg/vshift-1.c: New test.
* gcc.dg/vshift-2.c: New test.
* gcc.target/i386/xop-vshift-1.c: New test.
* gcc.target/i386/xop-vshift-2.c: New test.
* gcc.target/i386/avx2-vshift-1.c: New test.

From-SVN: r180609

12 years agore PR driver/50876 (unrecognized command line option '-Zmultiply_defined suppress...
Richard Guenther [Fri, 28 Oct 2011 09:46:26 +0000 (09:46 +0000)]
re PR driver/50876 (unrecognized command line option '-Zmultiply_defined suppress regressions for lto.exp on x86_64-apple-darwin11)

2010-10-28  Richard Guenther  <rguenther@suse.de>

PR driver/50876
* lto-wrapper.c (get_options_from_collect_gcc_options):
Properly count arguments.
(run_gcc): Use an obstack to collect argv, properly separate
switches and their arguments.

From-SVN: r180608

12 years agocomplex (__complex_acosh): Just use '< _Tp()'.
Richard B. Kreckel [Fri, 28 Oct 2011 09:34:52 +0000 (09:34 +0000)]
complex (__complex_acosh): Just use '< _Tp()'.

2011-10-28  Richard B. Kreckel  <kreckel@ginac.de>

* include/std/complex (__complex_acosh): Just use '< _Tp()'.
* include/tr1/complex (__complex_acosh): Likewise.

From-SVN: r180607

12 years agotree-vect-stmts.c (vectorizable_shift): Give up if op1 has different vector mode...
Jakub Jelinek [Fri, 28 Oct 2011 09:25:18 +0000 (11:25 +0200)]
tree-vect-stmts.c (vectorizable_shift): Give up if op1 has different vector mode from vectype's mode.

* tree-vect-stmts.c (vectorizable_shift): Give up if op1 has different
vector mode from vectype's mode.

From-SVN: r180606

12 years agore PR ada/50842 (gnatmake fails to link in stage3 with undefined symbol _iconv_close)
Eric Botcazou [Fri, 28 Oct 2011 07:13:44 +0000 (07:13 +0000)]
re PR ada/50842 (gnatmake fails to link in stage3 with undefined symbol _iconv_close)

PR ada/50842
* gcc-interface/Makefile.in (SYMDEPS): Delete.
(LIBICONV): New variable.
(LIBICONV_DEP): Likewise.
(LIBS): Add $(LIBICONV).
(LIBDEPS): Add $(LIBICONV_DEP).
(EXTRA_GNATTOOLS_OBJS): Merge into...
(TOOLS_LIBS): ...this.  Add $(LIBICONV).

From-SVN: r180605

12 years agore PR rtl-optimization/49720 (Infinite recursion compiling gold binary_test.cc testcase)
Chung-Lin Tang [Fri, 28 Oct 2011 06:35:31 +0000 (06:35 +0000)]
re PR rtl-optimization/49720 (Infinite recursion compiling gold binary_test.cc testcase)

2011-10-28  Chung-Lin Tang  <cltang@codesourcery.com>

PR rtl-optimization/49720
* simplify-rtx.c (simplify_relational_operation_1): Detect
infinite recursion condition in "(eq/ne (plus x cst1) cst2)
simplifies to (eq/ne x (cst2 - cst1))" case.

testsuite/
* g++.dg/torture/pr49720.C: New test.

From-SVN: r180604

12 years agoMissing testsuite file add in previous commit.
David S. Miller [Fri, 28 Oct 2011 05:55:10 +0000 (22:55 -0700)]
Missing testsuite file add in previous commit.

From-SVN: r180603

12 years agoAdd support for the VIS3 addxc instruction.
David S. Miller [Fri, 28 Oct 2011 05:52:52 +0000 (05:52 +0000)]
Add support for the VIS3 addxc instruction.

gcc/

* config/sparc/sparc.md (snedi_special): Only match when not VIS3.
(*snedi_zero): Likewise.
(*snedi_zero_trunc): Likewise.
(snedi_special_vis3): New expander.
(*snedi_zero_vis3): New insn.
(*snedi_zero_trunc_vis3): Likewise.
(*sltu_insn_vis3): Likewise.
(*sltu_insn_vis3_trunc): Likewise.
(addxc): Likewise.
(*addxc_trunc_sp64_vis3): Likewise.
* config/sparc/sparc.c (emit_scc_insn): When VIS3 use the
gen_snedi_special_vis3 expander, and try GTU/LTU addx based
sequences on DImode values.

gcc/testsuite/

* gcc.target/sparc/setcc-3.c: New test.

From-SVN: r180602

12 years agoFix constraint on 64-bit VIS3 vector moves.
David S. Miller [Fri, 28 Oct 2011 05:09:42 +0000 (05:09 +0000)]
Fix constraint on 64-bit VIS3 vector moves.

* config/sparc/sparc.md (64-bit vector moves): Use 'e' not 'f'
constraint.

From-SVN: r180601

12 years agoFix illegal register substitutions on big-endian during cprop_reg.
David S. Miller [Fri, 28 Oct 2011 05:08:10 +0000 (05:08 +0000)]
Fix illegal register substitutions on big-endian during cprop_reg.

* regcprop.c (copyprop_hardreg_forward_1): Reject the
transformation when we narrow the mode on big endian.

From-SVN: r180600

12 years agosemantics.c (cxx_eval_outermost_constant_expr): Check cp_has_mutable_p.
Jason Merrill [Fri, 28 Oct 2011 02:18:12 +0000 (22:18 -0400)]
semantics.c (cxx_eval_outermost_constant_expr): Check cp_has_mutable_p.

* semantics.c (cxx_eval_outermost_constant_expr): Check
cp_has_mutable_p.
(cxx_eval_component_reference): Check DECL_MUTABLE_P.

From-SVN: r180590

12 years agore PR c++/30066 (option to make inline functions hidden)
Roberto Agostino Vitillo [Fri, 28 Oct 2011 02:18:00 +0000 (02:18 +0000)]
re PR c++/30066 (option to make inline functions hidden)

PR c++/30066
gcc/c-family:
* c.opt (fvisibility-inlines-hidden): Description change.
gcc/cp:
* decl2.c (determine_hidden_inline): New function.
(determine_visibility): fvisibility-inlines-hidden affects inline
functions.

From-SVN: r180589

12 years agoDaily bump.
GCC Administrator [Fri, 28 Oct 2011 00:18:37 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r180588

12 years agosse.md (avx_cvtpd2dq256_2, [...]): New expanders.
Jakub Jelinek [Thu, 27 Oct 2011 19:53:28 +0000 (21:53 +0200)]
sse.md (avx_cvtpd2dq256_2, [...]): New expanders.

* config/i386/sse.md (avx_cvtpd2dq256_2, avx_cvttpd2dq256_2,
vec_pack_sfix_trunc_v4df, vec_pack_sfix_v4df): New expanders.
(*avx_cvtpd2dq256_2, *avx_cvttpd2dq256_2): New insns.

* gcc.target/i386/sse2-cvt-1.c: New test.
* gcc.target/i386/sse2-cvt-2.c: New test.
* gcc.target/i386/avx-cvt-1.c: New test.
* gcc.target/i386/avx-cvt-2.c: New test.
* gcc.target/i386/avx2-cvt-1.c: New test.
* gcc.target/i386/avx2-cvt-2.c: New test.

From-SVN: r180580

12 years agoi386.c (ix86_print_operand): Handle 'q' and 'x' overrides for -masm=intel memory.
Jakub Jelinek [Thu, 27 Oct 2011 19:52:06 +0000 (21:52 +0200)]
i386.c (ix86_print_operand): Handle 'q' and 'x' overrides for -masm=intel memory.

* config/i386/i386.c (ix86_print_operand): Handle 'q' and 'x'
overrides for -masm=intel memory.
* config/i386/sse.md (sse2_cvtdq2pd, sse2_cvtps2pd,
sse4_1_<code>v8qiv8hi2, avx2_<code>v8qiv8si2,
sse4_1_<code>v4hiv4si2, avx2_<code>v4hiv4di2,
sse4_1_<code>v2siv2di2): Use %q1 instead of %1 for -masm=intel.
(sse4_1_<code>v4qiv4si2, avx2_<code>v4qiv4di2,
sse4_1_<code>v2hiv2di2): Use %k1 instead of %1 for -masm=intel.
(sse4_1_<code>v2qiv2di2): Use %w1 instead of %1 for -masm=intel.

From-SVN: r180579

12 years agoipa-prop.c (compute_pass_through_member_ptrs): Rename parm_info to parm_ainfo.
Martin Jambor [Thu, 27 Oct 2011 19:37:07 +0000 (21:37 +0200)]
ipa-prop.c (compute_pass_through_member_ptrs): Rename parm_info to parm_ainfo.

2011-10-27  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (compute_pass_through_member_ptrs): Rename parm_info
to parm_ainfo.
(ipa_compute_jump_functions_for_edge): Likewise.
(ipa_compute_jump_functions): Likewise.
(ipa_analyze_indirect_call_uses): Likewise.
(ipa_analyze_call_uses): Likewise.
(ipa_analyze_params_uses): Likewise.
(ipa_analyze_node): Likewise.

From-SVN: r180578

12 years agopr45605.C: Scan fre1 dump and unxfail.
Martin Jambor [Thu, 27 Oct 2011 19:27:38 +0000 (21:27 +0200)]
pr45605.C: Scan fre1 dump and unxfail.

2011-10-27  Martin Jambor  <mjambor@suse.cz>

* g++.dg/tree-ssa/pr45605.C: Scan fre1 dump and unxfail.

From-SVN: r180577

12 years agore PR target/50875 (O3 and -mavx lead to internal compiler error: in find_reloads)
Uros Bizjak [Thu, 27 Oct 2011 19:07:27 +0000 (21:07 +0200)]
re PR target/50875 (O3 and -mavx lead to internal compiler error: in find_reloads)

PR target/50875
* config/i386/sse.md (*avx2_unpcklpd256): Remove extra insn
constraints.  Change alternative 1 to "x,m,1".

testsuitee/ChangeLog:

PR target/50875
* gfortran.dg/pr50875.f90: New test.

From-SVN: r180576

12 years agoMakefile.in (build/gencheck.o): Depend on tree.def and c-family/c-common.def.
Jakub Jelinek [Thu, 27 Oct 2011 19:05:28 +0000 (21:05 +0200)]
Makefile.in (build/gencheck.o): Depend on tree.def and c-family/c-common.def.

* Makefile.in (build/gencheck.o): Depend on tree.def and
c-family/c-common.def.

From-SVN: r180575

12 years agotree-ssa-strlen.c: Include expr.h.
Jakub Jelinek [Thu, 27 Oct 2011 19:04:43 +0000 (21:04 +0200)]
tree-ssa-strlen.c: Include expr.h.

* tree-ssa-strlen.c: Include expr.h.
(get_stridx): Don't use c_strlen, instead use string_constant
and compute string length from it.
* Makefile.in (tree-ssa-strlen.o): Depend on $(EXPR_H).

From-SVN: r180574

12 years agore PR rtl-optimization/46603 (gcc.dg/vect/slp-multitypes-2.c execution failure)
Eric Botcazou [Thu, 27 Oct 2011 18:19:54 +0000 (18:19 +0000)]
re PR rtl-optimization/46603 (gcc.dg/vect/slp-multitypes-2.c execution failure)

PR rtl-optimization/46603
PR bootstrap/50879
* reload.c (push_reload): In the out case, restore previous behavior
for subregs that don't have word mode.

From-SVN: r180572

12 years agocppdefault.c: Undef NATIVE_SYSTEM_HEADER_DIR if CROSS_DIRECTORY_STRUCTURE is defined...
Ian Lance Taylor [Thu, 27 Oct 2011 17:55:53 +0000 (17:55 +0000)]
cppdefault.c: Undef NATIVE_SYSTEM_HEADER_DIR if CROSS_DIRECTORY_STRUCTURE is defined and...

* cppdefault.c: Undef NATIVE_SYSTEM_HEADER_DIR if
CROSS_DIRECTORY_STRUCTURE is defined and TARGET_SYSTEM_ROOT is
not.
(cpp_include_defaults): Only use NATIVE_SYSTEM_HEADER_DIR if it is
defined.

From-SVN: r180569

12 years agoSmall comment cleanup
Dodji Seketeli [Thu, 27 Oct 2011 17:44:39 +0000 (17:44 +0000)]
Small comment cleanup

gcc/cp/

* cp-tree.h (DECL_DECLARES_TYPE_P): Fix comment.

From-SVN: r180568

12 years agooptabs.c (expand_vec_perm): Use the correct mode for scaling the selector.
Richard Henderson [Thu, 27 Oct 2011 16:23:25 +0000 (09:23 -0700)]
optabs.c (expand_vec_perm): Use the correct mode for scaling the selector.

        * optabs.c (expand_vec_perm): Use the correct mode for scaling the
        selector.  Save the qimode constant selector for later use by the
        qimode vec_perm pattern.

From-SVN: r180567

12 years agoc6x.c (unit_req_imbalance, res_mii): Cast the first arg to unit_req_factor to the...
Bernd Schmidt [Thu, 27 Oct 2011 12:33:22 +0000 (12:33 +0000)]
c6x.c (unit_req_imbalance, res_mii): Cast the first arg to unit_req_factor to the right enum type.

* config/c6x/c6x.c (unit_req_imbalance, res_mii): Cast the first arg
to unit_req_factor to the right enum type.
(get_unit_operand_masks, reshuffle_units, try_rename_operands,
hwloop_optimize): Remove unused variables.

From-SVN: r180565

12 years agore PR middle-end/50731 (FAIL: gcc.dg/torture/vector-shift2.c)
Richard Guenther [Thu, 27 Oct 2011 12:10:57 +0000 (12:10 +0000)]
re PR middle-end/50731 (FAIL: gcc.dg/torture/vector-shift2.c)

2010-10-27  Richard Guenther  <rguenther@suse.de>

PR middle-end/50731
* tree-vect-generic.c (do_binop): Handle scalar operands.

From-SVN: r180564

12 years agore PR libstdc++/50880 (__complex_acosh() picks wrong complex branch)
Richard B. Kreckel [Thu, 27 Oct 2011 11:00:25 +0000 (11:00 +0000)]
re PR libstdc++/50880 (__complex_acosh() picks wrong complex branch)

2011-10-27  Richard B. Kreckel  <kreckel@ginac.de>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/50880
* include/std/complex (__complex_acosh): Fix for __z.real() < 0.
* include/tr1/complex (__complex_acosh): Likewise.
* testsuite/26_numerics/complex/50880.cc: New.
* testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r180563

12 years agoconfig.sub: Import these changes from the config project:
Nick Clifton [Thu, 27 Oct 2011 09:45:55 +0000 (09:45 +0000)]
config.sub: Import these changes from the config project:

* config.sub: Import these changes from the config project:

2011-10-08  Joern Rennecke <joern.rennecke@embecosm.com>
    Ben Elliston  <bje@gnu.org>

* config.sub (epiphany): New.

2011-09-09  Linas Vepstas  <linasvepstas@gmail.com>
    Ben Elliston  <bje@gnu.org>

        * config.sub (hexagon, hexagon-*): New.

2011-08-23  Roland McGrath  <mcgrathr@google.com>

* config.sub: Rename 32eb to be32, 32el to le32, 64el to le64, and
64eb to be64.

2011-08-16  Roland McGrath  <mcgrathr@google.com>

* config.sub (32eb, 32el, 64eb, 64el): New (pseudo-)CPUs.
(nacl): Grok as alias for 32el-unknown-nacl.

From-SVN: r180562

12 years agore PR target/37191 (ICE in inline_secondary_memory_needed, at config/i386/i386.c...
Uros Bizjak [Thu, 27 Oct 2011 06:17:00 +0000 (08:17 +0200)]
re PR target/37191 (ICE in inline_secondary_memory_needed, at config/i386/i386.c:21849)

PR target/37191
* config/i386/sse.md (*vec_extract_v4sf_mem): Avoid combining registers
from different units in a single alternative.

From-SVN: r180560

12 years agosyscalls: Rewrite awk script to work with nawk.
Ian Lance Taylor [Thu, 27 Oct 2011 04:56:46 +0000 (04:56 +0000)]
syscalls: Rewrite awk script to work with nawk.

From-SVN: r180559

12 years agoFix thinko in previous sparc setcc changes.
David S. Miller [Thu, 27 Oct 2011 04:04:06 +0000 (04:04 +0000)]
Fix thinko in previous sparc setcc changes.

* config/sparc/sparc.c (emit_scc_insn): Force attempt of v9 sequences
if we're comparing DImode and comparison is other than EQ or NE.

From-SVN: r180558

12 years agoDaily bump.
GCC Administrator [Thu, 27 Oct 2011 00:18:31 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r180556

12 years agoUpdate Go library to last weekly.
Ian Lance Taylor [Wed, 26 Oct 2011 23:57:58 +0000 (23:57 +0000)]
Update Go library to last weekly.

From-SVN: r180552

12 years agoAdd sparc fmaf test.
David S. Miller [Wed, 26 Oct 2011 23:57:20 +0000 (23:57 +0000)]
Add sparc fmaf test.

gcc/testsuite/

* gcc.target/sparc/fmaf-1.c: New test.

From-SVN: r180551

12 years agoImprove sparc setcc generation and add testcases.
David S. Miller [Wed, 26 Oct 2011 23:55:23 +0000 (23:55 +0000)]
Improve sparc setcc generation and add testcases.

gcc/

* config/sparc/sparc.c (emit_scc_insn): Do not try v9 sequences until
LEU/LTU/GEU/GTU is attempted.
* config/sparc/sparc.md (*neg_snesi_sign_extend): New 64-bit insn
and split.
(*neg_seqsi_sign_extend): Likewise.
(*sltu_extend_sp64, *neg_sltu_extend_sp64, *sgeu_extend_sp64,
*neg_sgeu_extend_sp64): New insns.

gcc/testsuite/

* gcc.target/sparc/setcc-1.c: New test.
* gcc.target/sparc/setcc-2.c: New test.

From-SVN: r180550

12 years agore PR libstdc++/50862 (deadlock in std::condition_variable_any)
Jonathan Wakely [Wed, 26 Oct 2011 23:35:26 +0000 (23:35 +0000)]
re PR libstdc++/50862 (deadlock in std::condition_variable_any)

PR libstdc++/50862
* include/std/condition_variable (condition_variable_any::wait): Avoid
terminating if relocking user mutex throws during stack-unwinding.
* testsuite/30_threads/condition_variable_any/50862.cc: Add dg-require.

From-SVN: r180549

12 years agothr-cse-1.c: For i?86-*-mingw*, check for multiple calls.
Joseph Myers [Wed, 26 Oct 2011 22:15:57 +0000 (23:15 +0100)]
thr-cse-1.c: For i?86-*-mingw*, check for multiple calls.

* gcc.dg/tls/thr-cse-1.c: For i?86-*-mingw*, check for multiple
calls.

From-SVN: r180546

12 years agorun-id-1.c: Pass -Wl,--stack,12582912 option for Windows targets.
Joseph Myers [Wed, 26 Oct 2011 22:14:43 +0000 (23:14 +0100)]
run-id-1.c: Pass -Wl,--stack,12582912 option for Windows targets.

* gcc.dg/graphite/run-id-1.c: Pass -Wl,--stack,12582912 option for
Windows targets.

From-SVN: r180545

12 years agopr37843-4.c: Allow for leading underscores on symbol names.
Joseph Myers [Wed, 26 Oct 2011 21:52:08 +0000 (22:52 +0100)]
pr37843-4.c: Allow for leading underscores on symbol names.

* gcc.target/i386/pr37843-4.c: Allow for leading underscores on
symbol names.

From-SVN: r180544

12 years ago* gcc.target/i386/pad-4.c: Skip for Windows targets.
Joseph Myers [Wed, 26 Oct 2011 21:51:35 +0000 (22:51 +0100)]
* gcc.target/i386/pad-4.c: Skip for Windows targets.

From-SVN: r180543

12 years agoCanonicalize sparc movcc patterns such that operand 0 always appears in operand 4.
David S. Miller [Wed, 26 Oct 2011 21:14:56 +0000 (21:14 +0000)]
Canonicalize sparc movcc patterns such that operand 0 always appears in operand 4.

* config/sparc/sparc-protos.h (sparc_expand_conditional_move): Declare.
* config/sparc/sparc.md (mov<I:mode>cc, mov<F:mode>cc): Call it.
(*mov<I:mode>_cc_v9): Normalize to expect operand 0 always in operand 4.
(*mov<I:mode>_cc_reg_sp64): Likewise.
(*movsf_cc_v9): Likewise.
(*movsf_cc_reg_sp64): Likewise.
(*movdf_cc_v9): Likewise.
(*movdf_cc_reg_sp64): Likewise.
(*movtf_cc_hq_v9): Likewise.
(*movtf_cc_reg_hq_sp64): Likewise.
(*movtf_cc_v9): Likewise.
(*movtf_cc_reg_sp64): Likewise.
* config/sparc/sparc.c (sparc_expand_conditional_move): New function.
(sparc_print_operand): Delete 'c' and 'd' handling, no longer used.

From-SVN: r180542

12 years agodecl.c (elaborate_expression_1): Add EXPR_PUBLIC_P local variable.
Eric Botcazou [Wed, 26 Oct 2011 21:05:10 +0000 (21:05 +0000)]
decl.c (elaborate_expression_1): Add EXPR_PUBLIC_P local variable.

* gcc-interface/decl.c (elaborate_expression_1): Add EXPR_PUBLIC_P local
variable.  Always create the elaboration variable, if any, as constant.

From-SVN: r180541

12 years agodecl.c (gnat_to_gnu_entity): Try to make a packable type for fields of union types...
Eric Botcazou [Wed, 26 Oct 2011 20:45:09 +0000 (20:45 +0000)]
decl.c (gnat_to_gnu_entity): Try to make a packable type for fields of union types as well.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Try to
make a packable type for fields of union types as well.
<is_type>: Use RECORD_OR_UNION_TYPE_P predicate.
(gnat_to_gnu_component_type): Try to make a packable type for fields
of union types as well.
(make_packable_type): Use RECORD_OR_UNION_TYPE_P predicate.
(maybe_pad_type): Try to make a packable type for fields of union types
as well.
(gnat_to_gnu_field): Likewise.
(is_variable_size): Use RECORD_OR_UNION_TYPE_P predicate.
(set_rm_size): Likewise.
(rm_size): Likewise.
* gcc-interface/misc.c (gnat_type_max_size): Likewise.
* gcc-interface/trans.c (add_decl_expr): Likewise.
* gcc-interface/utils.c (finish_record_type): Likewise.
* gcc-interface/utils2.c (build_simple_component_ref): Likewise.

From-SVN: r180540

12 years agodecl.c (gnat_to_gnu_field): Always check components declared as atomic.
Eric Botcazou [Wed, 26 Oct 2011 20:32:17 +0000 (20:32 +0000)]
decl.c (gnat_to_gnu_field): Always check components declared as atomic.

* gcc-interface/decl.c (gnat_to_gnu_field): Always check components
declared as atomic.  Move around conditionally executed code.

From-SVN: r180539

12 years ago* typeck.c (check_literal_operator_args): Avoid building types.
Jason Merrill [Wed, 26 Oct 2011 19:31:26 +0000 (15:31 -0400)]
* typeck.c (check_literal_operator_args): Avoid building types.

From-SVN: r180538

12 years agobuild_string comments
Jason Merrill [Wed, 26 Oct 2011 19:31:16 +0000 (15:31 -0400)]
build_string comments

From-SVN: r180537

12 years agoImplement C++11 user-defined literals.
Ed Smith-Rowland [Wed, 26 Oct 2011 19:30:59 +0000 (19:30 +0000)]
Implement C++11 user-defined literals.

libcpp/
* expr.c: (cpp_interpret_float_suffix, cpp_interpret_int_suffix,
cpp_userdef_string_remove_type, cpp_userdef_string_add_type,
cpp_userdef_char_remove_type, cpp_userdef_char_add_type,
cpp_userdef_string_p, cpp_userdef_char_p, cpp_get_userdef_suffix): New.
(cpp_classify_number): Classify unrecognized tokens as user-defined
literals.
* include/cpplib.h: Add new tokens for user-defined literals.
* init.c: Add new preprocessor flag (cxx11).
* lex.c: (lex_string, lex_raw_string): Handle user-defined literals
including concatenation and promotion with suffixes.
c-family/
* c-common.c (build_userdef_literal): New.
* c-common.def: New tree code.
* c-common.h (tree_userdef_literal): New tree struct and accessors.
* c-lex.c (interpret_float): Add suffix parm.
(c_lex_with_flags): Build literal tokens.
cp/
* cp-objcp-common.c: (cp_tree_size) Return size of USERDEF_LITERAL tree.
* cp-tree.h: (UDLIT_OP_*, UDLIT_OPER_P): Literal operator
name tools. New tree code for user-defined literals.
* cxx-pretty-print.h: (pp_cxx_userdef_literal) New.
* cxx-pretty-print.c: (pp_cxx_userdef_literal) New.
(pp_cxx_primary_expression, pp_cxx_expression): Use it.
* decl.c: (cp_tree_node_structure): Return new tree code.
(duplicate_decls): Check for raw vs. template operator conflicts.
(grokfndecl, grokdeclarator): New checks for literal operators.
* error.c: (dump_expr): Warn about user-defined literals
in C++98 mode. (dump_function_name): Pretty printing.
* mangle.c: (write_literal_operator_name): New.
(write_unqualified_id, write_unqualified_name): Use it.
* parser.c: (cp_parser_operator): Handle operator"".
(cp_parser_userdef_char_literal, cp_parser_userdef_numeric_literal,
cp_parser_userdef_string_literal): New.
(cp_parser_primary_expression): Handle new user-defined literal tokens
with new functions.
* semantics.c: (potential_constant_expression_1): Add
user-defined literals.
* typeck.c (check_raw_literal_operator,
check_literal_operator_args): New.

From-SVN: r180536

12 years ago2011-10-26 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Wed, 26 Oct 2011 18:04:57 +0000 (18:04 +0000)]
2011-10-26  Paolo Carlini  <paolo.carlini@oracle.com>

* Tweak last ChangeLog entry.

From-SVN: r180532

12 years agore PR c++/50870 ([C++0x] [4.6/4.7 Regression] ICE with decltype, operator->, and...
Paolo Carlini [Wed, 26 Oct 2011 17:59:36 +0000 (17:59 +0000)]
re PR c++/50870 ([C++0x] [4.6/4.7 Regression] ICE with decltype, operator->, and default template arguments)

2011-10-26  Paolo Carlini  <paolo.carlini@oracle.com>

* typeck.c (cp_build_addr_expr_1): Use BASELINK_P.
* class.c (instantiate_type): Likewise.
* pt.c (convert_nontype_argument_function, uses_template_parms,
tsubst_copy, resolve_nondeduced_context, type_dependent_expression_p):
Likewise.
* semantics.c (finish_decltype_type): Likewise.
* decl2.c (mark_used): Likewise.
* name-lookup.c (arg_assoc): Likewise.

/cp
2011-10-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50870
* typeck.c (non_reference): Pass NULL_TREE through.

/testsuite
2011-10-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50870
* g++.dg/cpp0x/decltype34.C: New.

From-SVN: r180531

12 years agoHIcmp.c: Fix unaligned pointer.
Tom de Vries [Wed, 26 Oct 2011 15:04:59 +0000 (15:04 +0000)]
HIcmp.c: Fix unaligned pointer.

2011-10-26  Tom de Vries <tom@codesourcery.com>

* gcc.c-torture/unsorted/HIcmp.c: Fix unaligned pointer.
* gcc.c-torture/unsorted/HIset.c: Same.
* gcc.c-torture/unsorted/SIcmp.c: Same.
* gcc.c-torture/unsorted/SIset.c: Same.
* gcc.c-torture/unsorted/SFset.c: Same.
* gcc.c-torture/unsorted/UHIcmp.c: Same.
* gcc.c-torture/unsorted/USIcmp.c: Same.
* gcc.c-torture/unsorted/DFcmp.c: Same.

From-SVN: r180528

12 years agoreload.c (reload_inner_reg_of_subreg): Change type of return value and type of OUTPUT...
Eric Botcazou [Wed, 26 Oct 2011 13:54:13 +0000 (13:54 +0000)]
reload.c (reload_inner_reg_of_subreg): Change type of return value and type of OUTPUT parameter to bool and adjust.

* reload.c (reload_inner_reg_of_subreg): Change type of return value
and type of OUTPUT parameter to bool and adjust.  Document MODE and
OUTPUT parameters.  Use HARD_REGISTER_P.  Reorder final condition
and improve associated comment.
(push_reload): Clarify and update comments about reloading of subregs.
Adjust calls to reload_inner_reg_of_subreg.  Compute the class upfront
for the reloading of subregs in the out case as well.

From-SVN: r180526

12 years agore PR debug/50826 (bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor)
Alexandre Oliva [Wed, 26 Oct 2011 13:47:48 +0000 (13:47 +0000)]
re PR debug/50826 (bootstrap on 64 bit pa broken by r180194, ICE in mem_loc_descriptor)

PR debug/50826
* var-tracking.c (rtx_debug_expr_p): New.
(use_type): Don't use debug exprs to track non-VTA variables.

From-SVN: r180525

12 years agoinvoke.texi (sink-frequency-threshold): Document.
Jeff Law [Wed, 26 Oct 2011 13:26:50 +0000 (07:26 -0600)]
invoke.texi (sink-frequency-threshold): Document.

* doc/invoke.texi (sink-frequency-threshold): Document.
* tree-ssa-sink.c: Include params.h.
(select_best_block): New function.
(statement_sink_location): Use it.
* params.def (SINK_FREQUENCY_THRESHOLD): New PARAM.

From-SVN: r180524

12 years agore PR target/48108 (lto should be containerized in a single mach-o section on darwin)
Iain Sandoe [Wed, 26 Oct 2011 12:37:59 +0000 (12:37 +0000)]
re PR target/48108 (lto should be containerized in a single mach-o section on darwin)

gcc:

PR target/48108
* config/darwin.c (top level): Amend comments concerning LTO output.
(lto_section_num): New variable.  (darwin_lto_section_e): New GTY.
(LTO_SECTS_SECTION, LTO_INDEX_SECTION): New.
(LTO_NAMES_SECTION): Rename.
(darwin_asm_named_section): Record LTO section counts and switches
in a vec of darwin_lto_section_e.
(darwin_file_start): Remove unused code.
(darwin_file_end): Put an LTO section termination label.  Handle
output of the wrapped LTO sections, index and names table.

libiberty:

PR target/48108
* simple-object-mach-o.c  (GNU_WRAPPER_SECTS, GNU_WRAPPER_INDEX,
GNU_WRAPPER_NAMES): New macros.
(simple_object_mach_o_segment): Handle wrapper scheme.
(simple_object_mach_o_write_section_header): Allow the segment name
to be supplied.
(simple_object_mach_o_write_segment): Handle wrapper scheme.  Ensure
that the top-level segment name in the load command is empty.
(simple_object_mach_o_write_to_file): Determine the number of
sections during segment output, use that in writing the header.

From-SVN: r180523

12 years agors6000.c (rs6000_make_savres_rtx): Delete unneeded declaration.
Alan Modra [Wed, 26 Oct 2011 11:59:41 +0000 (22:29 +1030)]
rs6000.c (rs6000_make_savres_rtx): Delete unneeded declaration.

* config/rs6000/rs6000.c (rs6000_make_savres_rtx): Delete unneeded
declaration.
(rs6000_emit_stack_reset): Only return insn emitted when it adjusts sp.
(rs6000_make_savres_rtx): Rename to rs6000_emit_savres_rtx.  Use
simple_return in pattern, emit instruction, and set jump_label.
(rs6000_emit_prologue): Update for rs6000_emit_savres_rtx.  Use
simple_return rather than return.
(emit_cfa_restores): New function.
(rs6000_emit_epilogue): Emit cfa_restores when flag_shrink_wrap.
Add missing cfa_restores for SAVE_WORLD.  Add missing LR cfa_restore
when using out-of-line gpr restore.  Add missing LR and FP regs
cfa_restores for out-of-line fpr restore.  Consolidate code setting
up cfa_restores.  Formatting.  Use LR_REGNO define.
(rs6000_output_mi_thunk): Use simple_return rather than return.
* config/rs6000/rs6000.md (sibcall*, sibcall_value*): Likewise.
(return_internal*): Likewise.
(any_return, return_pred, return_str): New iterators.
(return, conditional return insns): Provide both return and
simple_return variants.
* config/rs6000/rs6000.h (EARLY_R12, LATE_R12): Define.
(REG_ALLOC_ORDER): Move r12 before call-saved regs when FIXED_R13.
Move r11 and r0 later to suit shrink-wrapping.

From-SVN: r180522

12 years agolto-wrapper.c (run_gcc): Properly init/free obstack.
Richard Guenther [Wed, 26 Oct 2011 11:48:09 +0000 (11:48 +0000)]
lto-wrapper.c (run_gcc): Properly init/free obstack.

2011-10-26  Richard Guenther  <rguenther@suse.de>

* lto-wrapper.c (run_gcc): Properly init/free obstack.

From-SVN: r180521

12 years agoi386.md (UNSPEC_VSIBADDR): New.
Jakub Jelinek [Wed, 26 Oct 2011 09:46:45 +0000 (11:46 +0200)]
i386.md (UNSPEC_VSIBADDR): New.

* config/i386/i386.md (UNSPEC_VSIBADDR): New.
* config/i386/predicates.md (vsib_address_operand,
vsib_mem_operator): New predicates.
* config/i386/i386.c (ix86_print_operand_address): Handle
UNSPEC_VSIBADDR addresses.
* config/i386/sse.md (avx2_gathersi<mode>, avx2_gatherdi<mode>,
avx2_gatherdi<mode>256): Adjust expanders to use MEM with
UNSPEC_VSIBADDR address.
(*avx2_gathersi<mode>, *avx2_gatherdi<mode>, *avx2_gatherdi<mode>256):
Adjust insns to use MEM with UNSPEC_VSIBADDR address.

* gcc.target/i386/avx2-i32gatherd-1.c: Adjust scan-assembler regex
to work also with -masm=intel and additionally test the xmm vs. ymm
register type combination on mask/dest and in vsib.
* gcc.target/i386/avx2-i32gatherd256-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherd256-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherd-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd256-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd256-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherps-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherps256-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherps256-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherps-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherq-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherq256-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherq256-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherq-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherd-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherd256-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherd256-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherd-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd256-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd256-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherps-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherps256-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherps256-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherps-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherq-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherq256-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherq256-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherq-3.c: Likewise.

From-SVN: r180520

12 years agore PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree...
Tom de Vries [Wed, 26 Oct 2011 09:33:56 +0000 (09:33 +0000)]
re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge)

2011-10-26  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/50763
* gcc.dg/pr50763-2.c: New test.

From-SVN: r180519

12 years agore PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree...
Tom de Vries [Wed, 26 Oct 2011 09:33:49 +0000 (09:33 +0000)]
re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge)

2011-10-26  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/50763
* tree-ssa-tail-merge.c (replace_block_by): Update vops if phi_vuse1 or
phi_vuse2 is NULL_TREE only if bb1 dominates or is dominated by bb2.

From-SVN: r180518

12 years agore PR driver/41844 (lto1: warning: unknown register name: line-length-none)
Richard Guenther [Wed, 26 Oct 2011 09:30:29 +0000 (09:30 +0000)]
re PR driver/41844 (lto1: warning: unknown register name: line-length-none)

2011-10-26  Richard Guenther  <rguenther@suse.de>

PR lto/41844
* Makefile.in (lto-wrapper): Depend on and link against
opts-common.o.
(lto-wrapper.o): Depend on $(OPTS_H) and $(OPTIONS_H).
* lto-wrapper.c (get_options_from_collect_gcc_options): New function.
(run_gcc): Use it.  Filter out language specific options.

From-SVN: r180517

12 years agofreebsd64.h (LINK_SPEC): Emit the same warning as the 32-bit target does.
Andreas Tobler [Wed, 26 Oct 2011 06:59:47 +0000 (08:59 +0200)]
freebsd64.h (LINK_SPEC): Emit the same warning as the 32-bit target does.

2011-10-26  Andreas Tobler  <andreast@fgznet.ch>

* config/i386/freebsd64.h (LINK_SPEC): Emit the same warning as the
32-bit target does.

From-SVN: r180468

12 years ago2011-10-25 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Wed, 26 Oct 2011 00:55:15 +0000 (00:55 +0000)]
2011-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

* Fix typo in last ChangeLog entry.

From-SVN: r180467

12 years agore PR driver/46617 (String concatenation fools extraction for translation.)
Paolo Carlini [Wed, 26 Oct 2011 00:50:11 +0000 (00:50 +0000)]
re PR driver/46617 (String concatenation fools extraction for translation.)

2011-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR translation/46617
* gcc.c (main): Fix fatal_error string for translation.

From-SVN: r180466

12 years agoms_c90-printf-1.c, [...]: Update expected messages.
Joseph Myers [Wed, 26 Oct 2011 00:36:44 +0000 (01:36 +0100)]
ms_c90-printf-1.c, [...]: Update expected messages.

* gcc.dg/format/ms_c90-printf-1.c, gcc.dg/format/ms_c90-scanf-1.c:
Update expected messages.

From-SVN: r180465

12 years agoDaily bump.
GCC Administrator [Wed, 26 Oct 2011 00:18:51 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r180464

12 years agotree-eh.c (do_return_redirection): Remove return_value_p parameter.
Ian Lance Taylor [Tue, 25 Oct 2011 22:59:40 +0000 (22:59 +0000)]
tree-eh.c (do_return_redirection): Remove return_value_p parameter.

* tree-eh.c (do_return_redirection): Remove return_value_p
parameter.  Change all callers.
(lower_try_finally_nofallthru): Remove local return_val.
(lower_try_finally_onedest): Likewise.
(lower_try_finally_copy): Likewise.
(lower_try_finally_switch): Likewise.

From-SVN: r180459

12 years agoRemove *mmx_maskmovq_rex.
H.J. Lu [Tue, 25 Oct 2011 22:54:48 +0000 (22:54 +0000)]
Remove *mmx_maskmovq_rex.

2011-10-25  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/mmx.md (*mmx_maskmovq): Replace :SI with :P and
remove "&& !TARGET_64BIT"
(*mmx_maskmovq_rex): Removed.

From-SVN: r180458

12 years agore PR rtl-optimization/46603 (gcc.dg/vect/slp-multitypes-2.c execution failure)
Eric Botcazou [Tue, 25 Oct 2011 22:26:20 +0000 (22:26 +0000)]
re PR rtl-optimization/46603 (gcc.dg/vect/slp-multitypes-2.c execution failure)

PR rtl-optimization/46603
* reload.c (push_reload): In the out case, reload the subreg as well
as the reg if it has word mode.

From-SVN: r180457

12 years agodwarf2out.c (add_gnat_descriptive_type_attribute): Temporarily suppress debug info...
Eric Botcazou [Tue, 25 Oct 2011 22:14:26 +0000 (22:14 +0000)]
dwarf2out.c (add_gnat_descriptive_type_attribute): Temporarily suppress debug info for the parent type.

* dwarf2out.c (add_gnat_descriptive_type_attribute): Temporarily
suppress debug info for the parent type.

From-SVN: r180456

12 years ago* config/ia64/ia64.c (ia64_profile_hook): Fix thinko.
Eric Botcazou [Tue, 25 Oct 2011 21:56:48 +0000 (21:56 +0000)]
* config/ia64/ia64.c (ia64_profile_hook): Fix thinko.

From-SVN: r180455

12 years agocondition_variable (condition_variable_any): Remove unused native_handle_type typedef.
Jonathan Wakely [Tue, 25 Oct 2011 21:44:12 +0000 (21:44 +0000)]
condition_variable (condition_variable_any): Remove unused native_handle_type typedef.

* include/std/condition_variable (condition_variable_any): Remove
unused native_handle_type typedef.
* src/condition_variable.cc (condition_variable): Add missing noexcept
specifications.
* 30_threads/condition_variable_any/requirements/typedefs.cc: Remove.

From-SVN: r180454

12 years agoi386: Delete the vec_extract_even/odd patterns.
Richard Henderson [Tue, 25 Oct 2011 21:30:26 +0000 (14:30 -0700)]
i386: Delete the vec_extract_even/odd patterns.

These can be generated by vec_perm_const now.  We could keep the
patterns around, as technically it may be less work, but this
exercises a code path needed by less primary platforms.

        * config/i386/sse.md (VEC_EXTRACT_EVENODD_MODE): Remove.
        (vec_extract_even<mode>, vec_extract_odd<mode>): Remove.

From-SVN: r180453

12 years agors6000: Remove some vec_extract_even/odd expanders.
Richard Henderson [Tue, 25 Oct 2011 21:30:16 +0000 (14:30 -0700)]
rs6000: Remove some vec_extract_even/odd expanders.

The ones that expand to VPERM can be handled by generic code.
The even v4si and v4sf expanders remain until vector.md can be
updated to not invoke them directly.

        * config/rs6000/altivec.md (vec_extract_evenv8hi,
        vec_extract_evenv16qi, vec_extract_oddv4si,
        vec_extract_oddv4sf): Remove.

From-SVN: r180452

12 years agospu: Remove vec_extract_even/odd and vec_interleave expanders.
Richard Henderson [Tue, 25 Oct 2011 21:30:04 +0000 (14:30 -0700)]
spu: Remove vec_extract_even/odd and vec_interleave expanders.

        * config/spu/spu.md (vec_extract_evenv4si, vec_extract_evenv4sf,
        vec_extract_evenv8hi, vec_extract_evenv16qi, vec_extract_oddv4si,
        vec_extract_oddv4sf, vec_extract_oddv8hi, vec_extract_oddv16qi,
        vec_interleave_highv4sf, vec_interleave_lowv4sf,
        vec_interleave_highv4si, vec_interleave_lowv4si,
        vec_interleave_highv8hi, vec_interleave_lowv8hi,
        vec_interleave_highv16qi, vec_interleave_lowv16qi): Remove.

From-SVN: r180451

12 years agoImplement interleave via permutation.
Richard Henderson [Tue, 25 Oct 2011 21:29:56 +0000 (14:29 -0700)]
Implement interleave via permutation.

        * expr.c (expand_expr_real_2) [VEC_EXTRACT_EVEN_EXPR]: Use binop.
        [VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR]: Likewise.
        [VEC_INTERLEAVE_LOW_EXPR]: Likewise.
        * optabs.c (expand_binop): Implement vec_interleave_high_optab,
        vec_interleave_low_optab, vec_extract_even_optab,
        vec_extract_odd_optab with expand_vec_perm.
        (can_vec_perm_for_code_p): New.
        * optabs.h: Update.
        * tree-vect-data-refs.c (vect_strided_store_supported): Allow for
        fallback via can_vec_perm_for_code_p.
        (vect_strided_load_supported): Likewise.
        * tree-vect-generic.c (expand_vector_operations_1): Never lower
        VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR,
        VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR.

From-SVN: r180450

12 years agoChange vec_perm checking and expansion level.
Richard Henderson [Tue, 25 Oct 2011 21:29:48 +0000 (14:29 -0700)]
Change vec_perm checking and expansion level.

The can_vec_perm_p interface changed to use a C integer array.  This
allows easy re-use from the rtl level and the gimple level within
the vectorizer.  It allows both to determine if a given permutation
is (un-)supported without having to create tree/rtl garbage.

The expand_vec_perm interface changed to use rtl.  This allows easy
re-use from the rtl level, so that expand_vec_perm can be used in the
fallback implementation of other optabs.

        * target.def (vec_perm_const_ok): Change parameters to mode and
        array of indicies.
        * doc/tm.texi: Rebuild.
        * config/i386/i386.c (ix86_vectorize_vec_perm_const_ok): Change
        parameters to mode and array of indicies.
        * expr.c (expand_expr_real_2) [VEC_PERM_EXPR]: Expand operands here.
        * optabs.c (can_vec_perm_p): Rename from can_vec_perm_expr_p.
        Change parameters to mode and array of indicies.
        (expand_vec_perm_1): Rename from expand_vec_perm_expr_1.
        (expand_vec_perm): Rename from expand_vec_perm_expr.  Change
        parameters to mode and rtx inputs.  Try lowering to QImode
        vec_perm_const before trying fully variable permutation.
        * optabs.h: Update decls.
        * tree-vect-generic.c (lower_vec_perm): Extract array of indices from
        VECTOR_CST to pass to can_vec_perm_p.
        * tree-vect-slp.c (vect_get_mask_element): Change mask parameter type
        from int pointer to unsigned char pointer.
        (vect_transform_slp_perm_load): Update for change to can_vec_perm_p.
        * tree-vect-stmts.c (perm_mask_for_reverse): Likewise.

From-SVN: r180449

12 years agoFix typos in the names of vec_extract & vec_interleave tree codes.
Richard Henderson [Tue, 25 Oct 2011 21:29:40 +0000 (14:29 -0700)]
Fix typos in the names of vec_extract & vec_interleave tree codes.

From-SVN: r180448

12 years agore PR libstdc++/50862 (deadlock in std::condition_variable_any)
Jonathan Wakely [Tue, 25 Oct 2011 20:56:43 +0000 (20:56 +0000)]
re PR libstdc++/50862 (deadlock in std::condition_variable_any)

PR libstdc++/50862
* include/std/condition_variable (condition_variable_any::wait): Fix
deadlock and ensure _Lock::lock() is called on exit.
(condition_variable_any::native_handle): Remove, as per LWG 1500.
* testsuite/30_threads/condition_variable_any/50862.cc: New.

From-SVN: r180446

12 years agore PR lto/48851 (lto-plugin.c:224:7: error: missing sentinel in function call [-Werro...
Mike Stump [Tue, 25 Oct 2011 20:07:19 +0000 (20:07 +0000)]
re PR lto/48851 (lto-plugin.c:224:7: error: missing sentinel in function call [-Werror=format])

        PR target/48851
* inclhack.def (void_null): New bypass.
* fixincl.x: Regenerate.

From-SVN: r180445

12 years ago* reload.c (regno_clobbered_p): Fix typo.
Mike Stump [Tue, 25 Oct 2011 19:50:14 +0000 (19:50 +0000)]
* reload.c (regno_clobbered_p): Fix typo.

From-SVN: r180444

12 years agore PR c++/50866 (ICE in verify_gimple_stmt, at tree-cfg.c:4175)
Jason Merrill [Tue, 25 Oct 2011 18:24:28 +0000 (14:24 -0400)]
re PR c++/50866 (ICE in verify_gimple_stmt, at tree-cfg.c:4175)

PR c++/50866
PR c++/41449
* semantics.c (maybe_cleanup_point_expr_void): No longer static.
* typeck2.c (split_nonconstant_init_1): Use it.
* cp-tree.h: Declare it.
* decl.c (wrap_cleanups_r): Stop at CLEANUP_POINT_EXPR.

From-SVN: r180442