platform/upstream/gcc.git
11 years agotsan.c: Fix up comment formatting.
Jakub Jelinek [Fri, 23 Nov 2012 14:28:19 +0000 (15:28 +0100)]
tsan.c: Fix up comment formatting.

* tsan.c: Fix up comment formatting.
(instrument_gimple): Ignore gimple_clobber_p stmts.
(pass_tsan, pass_tsan_O0): Remove TODO_update_address_taken
from todo_flags_finish.

From-SVN: r193755

11 years agotrans.c (Attribute_to_gnu): Look through a view conversion from constrained to uncons...
Eric Botcazou [Fri, 23 Nov 2012 11:06:07 +0000 (11:06 +0000)]
trans.c (Attribute_to_gnu): Look through a view conversion from constrained to unconstrained form.

* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Look through
a view conversion from constrained to unconstrained form.

From-SVN: r193751

11 years agodecl.c (components_need_strict_alignment): New.
Eric Botcazou [Fri, 23 Nov 2012 10:42:50 +0000 (10:42 +0000)]
decl.c (components_need_strict_alignment): New.

* gcc-interface/decl.c (components_need_strict_alignment): New.
(components_to_record): Do not pack the variants if one of the fields
needs strict alignment.  Likewise for the variant part as a whole.
Specify the position of the variants even if the size isn't specified,
but do not specify the size of the variant part in this case.

From-SVN: r193750

11 years agore PR testsuite/52641 (Test cases fail for 16-bit int targets)
Georg-Johann Lay [Fri, 23 Nov 2012 10:08:49 +0000 (10:08 +0000)]
re PR testsuite/52641 (Test cases fail for 16-bit int targets)

PR testsuite/52641
* gcc.dg/unroll_5.c: Add dg-require-effective-target int32plus.
* gcc.dg/pr55150-1.c: Same.
* gcc.dg/torture/pr54894.c: Add size32plus.

From-SVN: r193749

11 years agore PR sanitizer/55435 ([asan] implement an attribute to disable asan instrumentation...
Jakub Jelinek [Fri, 23 Nov 2012 09:02:28 +0000 (10:02 +0100)]
re PR sanitizer/55435 ([asan] implement an attribute to disable asan instrumentation for a particular function)

PR sanitizer/55435
* c-common.c (handle_no_address_safety_analysis_attribute): New
function.
(c_common_attribute_table): Add no_address_safety_analysis.

* asan.c (gate_asan): Don't instrument functions with
no_address_safety_analysis attribute.
(gate_asan_O0): Use !optimize && gate_asan ().
* doc/extend.texi (no_address_safety_analysis): Document new
function attribute.

* c-c++-common/asan/attrib-1.c: New test.

From-SVN: r193748

11 years agopredict.c (maybe_hot_count_p): Use threshold from profiled working set instead of...
Teresa Johnson [Fri, 23 Nov 2012 08:49:43 +0000 (08:49 +0000)]
predict.c (maybe_hot_count_p): Use threshold from profiled working set instead of hard limit.

* predict.c (maybe_hot_count_p): Use threshold from profiled working
set instead of hard limit.
(cgraph_maybe_hot_edge_p): Invoke maybe_hot_count_p() instead of
directly checking limit.
* params.def (HOT_BB_COUNT_FRACTION): Remove.
(HOT_BB_COUNT_WS_PERMILLE): New parameter.
* invoke.texi (hot-bb-count-fraction): Remove.
(hot-bb-count-ws-permille): Document.

Co-Authored-By: Jan Hubicka <jh@suse.cz>
From-SVN: r193747

11 years ago[libsanitizer] a script to help merging asan/tsan from upstream
Kostya Serebryany [Fri, 23 Nov 2012 04:09:17 +0000 (04:09 +0000)]
[libsanitizer] a script to help merging asan/tsan from upstream

From-SVN: r193743

11 years agore PR middle-end/55430 (LRA miscompilation of ree.c)
Vladimir Makarov [Fri, 23 Nov 2012 01:29:07 +0000 (01:29 +0000)]
re PR middle-end/55430 (LRA miscompilation of ree.c)

2012-11-22  Vladimir Makarov  <vmakarov@redhat.com>

PR middle-end/55430
* lra.c: Move #include "hard-reg-set.h" before #include "rtl.h".
(new_insn_reg): Update biggest_mode.
(collect_non_operand_hard_regs): Check eliminable regs too.
(initialize_lra_reg_info_element): Initialize biggest_mode.
(add_regs_to_insn_regno_info): Ignore non-allocatable
non-eliminable hard regs.
(lra.c): Move setting lra_no_alloc_regs before
init_insn_recog_data.
* lra-constraints.c (simplify_operand_subreg): Add a comment.
(lra_constraints): Ignore equivalent memory of
regs occuring in paradoxical subregs.
* lra-lives.c (lra_create_live_ranges): Add a comment.

From-SVN: r193742

11 years agoMakefile.am (AM_CXXFLAGS): Remove -Wno-variadic-macros.
Jakub Jelinek [Fri, 23 Nov 2012 00:31:54 +0000 (01:31 +0100)]
Makefile.am (AM_CXXFLAGS): Remove -Wno-variadic-macros.

* tsan/Makefile.am (AM_CXXFLAGS): Remove -Wno-variadic-macros.
* Makefile.am (SUBDIRS): Guard tsan addition with TSAN_SUPPORTED
automake conditional instead of !MULTISUBDIR32.
* configure.tgt: Set TSAN_SUPPORTED=yes for x86_64/i686-linux
for 64-bit multilib.
* configure.ac: Check for void * size, source in configure.tgt,
define TSAN_SUPPORTED conditional instead of MULTILIBDIR32.
* configure: Regenerated.
* Makefile.in: Regenerated.
* tsan/Makefile.in: Regenerated.

From-SVN: r193741

11 years agoDaily bump.
GCC Administrator [Fri, 23 Nov 2012 00:18:03 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193740

11 years agotsan: New directory.
Wei Mi [Thu, 22 Nov 2012 22:03:11 +0000 (22:03 +0000)]
tsan: New directory.

libsanitizer/
* tsan: New directory. Import tsan runtime from llvm.
* configure.ac: Add 64 bits tsan build.
* Makefile.am: Likewise.
* configure: Regenerated.
* Makefile.in: Likewise.

From-SVN: r193737

11 years agobuiltins.def (DEF_SANITIZER_BUILTIN): Define tsan builtins.
Dmitry Vyukov [Thu, 22 Nov 2012 21:56:58 +0000 (13:56 -0800)]
builtins.def (DEF_SANITIZER_BUILTIN): Define tsan builtins.

2012-11-22  Dmitry Vyukov  <dvyukov@google.com>
    Wei Mi  <wmi@google.com>

* builtins.def (DEF_SANITIZER_BUILTIN): Define tsan builtins.
* sanitizer.def: Ditto.
* Makefile.in (tsan.o): Add tsan.o target.
(BUILTINS_DEF): Add sanitizer.def.
* passes.c (init_optimization_passes): Add tsan passes.
* tree-pass.h (register_pass_info): Ditto.
* toplev.c (compile_file): Ditto.
* doc/invoke.texi: Document tsan related options.
* gcc.c (LINK_COMMAND_SPEC): Add LIBTSAN_SPEC in link command if
-fsanitize=thread.
* tsan.c: New file about tsan.
* tsan.h: Ditto.
* common.opt: Add -fsanitize=thread.

Co-Authored-By: Wei Mi <wmi@google.com>
From-SVN: r193736

11 years agomd.texi (RTL Templates Transformation): Use @pxref for cross-reference in parentheses.
Uros Bizjak [Thu, 22 Nov 2012 21:44:24 +0000 (22:44 +0100)]
md.texi (RTL Templates Transformation): Use @pxref for cross-reference in parentheses.

* doc/md.texi (RTL Templates Transformation): Use @pxref for
cross-reference in parentheses.

From-SVN: r193735

11 years agoi386.md (*jcc<mode>_0_i387): Macroize insn from *fp_jcc_3_387 using X87MODEF mode...
Uros Bizjak [Thu, 22 Nov 2012 21:13:56 +0000 (22:13 +0100)]
i386.md (*jcc<mode>_0_i387): Macroize insn from *fp_jcc_3_387 using X87MODEF mode iterator.

* config/i386/i386.md (*jcc<mode>_0_i387): Macroize insn
from *fp_jcc_3_387 using X87MODEF mode iterator.
(*jcc<mode>_0_r_i387): New.
(*jccxf_i387): Ditto.
(*jccxf_r_i387): Ditto.
(*jcc<mode>_i387): Macroize insn from *fp_jcc_1_387 using
MODEF mode iterator.
(*jcc<mode>_r_i387): Macroize insn from *fp_jcc_1r_387 using
MODEF mode iterator.
(*jccu<mode>_i387): Macroize insn from *fp_jcc_2_387 using
X87MODEF mode iterator.
(*jccu<mode>_r_i387): Macroize insn from *fp_jcc_2r_387 using
X87MODEF mode iterator.
(*jcc{,u}<mode>_i387 splitters): Macroize splitters using
X87MODEF mode iterator.
(*jcc<X87MODEF:mode>_<SWI24:mode>_i387): Macroize insn
from *fp_jcc_4_<mode>_387 using X87MODEF mode iterator.
(*jcc<X87MODEF:mode>_<SWI24:mode>_r_i387): New.
(*jcc<X87MODEF:mode>_<SWI24:mode>_i387 splitters): Macroize
splitters using X87MODEF and SWI24 mode iterators.

From-SVN: r193734

11 years agoRemove documentation for AArch64 constraint 'Utf'.
Marcus Shawcroft [Thu, 22 Nov 2012 18:08:41 +0000 (18:08 +0000)]
Remove documentation for AArch64 constraint 'Utf'.

2012-11-22  Marcus Shawcroft  <marcus.shawcroft@arm.com>

* doc/md.texi (AArch64 family): Remove Utf.

From-SVN: r193732

11 years agoi386.md (FPCMP): New mode iterator.
Uros Bizjak [Thu, 22 Nov 2012 16:59:18 +0000 (17:59 +0100)]
i386.md (FPCMP): New mode iterator.

* config/i386/i386.md (FPCMP): New mode iterator.
(unord): New mode attribute.
(*cmp<mode>_0_i387): Macroize insn from *cmpfp_0
using X87MODEF mode iterator.
(*cmp<mode>_0_cc_i387): Macroize insn from *cmpfp_0_cc using
X87MODEF mode iterator.
(*cmpxf_i387): Rename from *cmpfp_xf.
(*cmpxf_cc_i387): Rename from *cmpfp_xf_cc.
(*cmp<mode>_i387): Rename from *cmpfp_<mode>.
(*cmp<mode>_cc_i387): Rename from *cmpfp_<mode>_cc.
(*cmpu<mode>_i387): Macroize insn from *cmpfp_u using X87MODEF
mode iterator.
(*cmpu<mode>_cc_i387): Macroize insn from *cmpfp_u_cc using X87MODEF
mode iterator.
(*cmp<X87MODEF:mode>_<SWI24:mode>_i387): Macroize_insn from
*cmpfp_<mode> using X87MODEF mode iterator.
(*cmp<X87MODEF:mode>_<SWI24:mode>_cc_i387): Macroize_insn from
*cmpfp_<mode>_cc using X87MODEF mode iterator.
(*cmpi<FPCMP:unord><MODEF:mode>_mixed): Macroize insn from
*cmpfp_i{,u}_mixed using FPCMP and MODEF mode iterators.
(*cmpi<FPCMP:unord><MODEF:mode>_mixed): Macroize insn from
*cmpfp_i{,u}_sse using FPCMP and MODEF mode iterators.
(*cmpi<CCFPCMP:unord><X87MODEF:mode>_i387): Macroize insn from
*cmpfp_i{,u}_387 using FPCMP and X87MODEF mode iterators.

From-SVN: r193731

11 years agoImplement bswaphi2 with rev16 (AArch64)
Ian Bolton [Thu, 22 Nov 2012 15:50:30 +0000 (15:50 +0000)]
Implement bswaphi2 with rev16 (AArch64)

From-SVN: r193729

11 years agoIssue an error for -static with fsanitize=address
H.J. Lu [Thu, 22 Nov 2012 15:17:21 +0000 (15:17 +0000)]
Issue an error for -static with fsanitize=address

PR sanitizer/55379
* gcc.c (LINK_COMMAND_SPEC): Issue an error for -static with
-fsanitize=address.

From-SVN: r193728

11 years agore PR c++/55137 (Unexpected static structure initialization)
Jason Merrill [Thu, 22 Nov 2012 14:42:00 +0000 (09:42 -0500)]
re PR c++/55137 (Unexpected static structure initialization)

PR c++/55137
* semantics.c (verify_constant): Track overflow separately.
(reduced_constant_expression_p): Don't check it here.
(cxx_eval_constant_expression): Check it on CSTs.
(cxx_eval_outermost_constant_expr): Treat overflows as non-constant
at this point, but still return the folded version.
(potential_constant_expression_1): Don't check overflow.

From-SVN: r193727

11 years agocall.c (extend_ref_init_temps_1): Recompute TREE_CONSTANT for the ADDR_EXPR.
Jason Merrill [Thu, 22 Nov 2012 14:41:52 +0000 (09:41 -0500)]
call.c (extend_ref_init_temps_1): Recompute TREE_CONSTANT for the ADDR_EXPR.

* call.c (extend_ref_init_temps_1): Recompute TREE_CONSTANT for
the ADDR_EXPR.

From-SVN: r193726

11 years agoAdd STATIC_LIBASAN_LIBS for -static-libasan
H.J. Lu [Thu, 22 Nov 2012 14:10:47 +0000 (14:10 +0000)]
Add STATIC_LIBASAN_LIBS for -static-libasan

* gcc.c (ADD_STATIC_LIBASAN_LIBS): New macro.  Defined
with STATIC_LIBASAN_LIBS.
(LIBASAN_SPEC): Add STATIC_LIBASAN_LIBS.
* config/gnu-user.h (STATIC_LIBASAN_LIBS): New macro.

From-SVN: r193725

11 years agoarm.md (*arm_abssi2): Define predicable attribute.
Kyrylo Tkachov [Thu, 22 Nov 2012 13:29:56 +0000 (13:29 +0000)]
arm.md (*arm_abssi2): Define predicable attribute.

2012-11-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/arm/arm.md (*arm_abssi2): Define predicable attribute.
(*arm_neg_abssi2): Likewise.
* config/arm/thumb2.md (*thumb2_abssi2): Likewise.
(*thumb2_neg_abssi2): Likewise.

From-SVN: r193724

11 years agore PR c++/55432 (Too much constexpr makes the compiler crash)
Paolo Carlini [Thu, 22 Nov 2012 10:23:03 +0000 (10:23 +0000)]
re PR c++/55432 (Too much constexpr makes the compiler crash)

2012-11-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/55432
* g++.dg/cpp0x/constexpr-55432.C: New.

From-SVN: r193723

11 years ago* ree.c (struct ext_modified): Add ATTRIBUTE_PACKED.
Jakub Jelinek [Thu, 22 Nov 2012 10:09:15 +0000 (11:09 +0100)]
* ree.c (struct ext_modified): Add ATTRIBUTE_PACKED.

From-SVN: r193722

11 years agoAdjust decimal point of signed accum mode to GCC default.
Georg-Johann Lay [Thu, 22 Nov 2012 10:00:13 +0000 (10:00 +0000)]
Adjust decimal point of signed accum mode to GCC default.

libgcc/
Adjust decimal point of signed accum mode to GCC default.

PR target/54222
* config/avr/t-avr (LIB1ASMFUNCS): Add _fractsfsq _fractsfusq,
_divqq_helper.
* config/avr/lib1funcs-fixed.S (__fractqqsf, __fracthqsf)
(__fractsasf, __fractsfha, __fractusqsf, __fractsfsa)
(__mulha3, __mulsa3)
(__divqq3, __divha3, __divsa3): Adjust to new position of
decimal point of signed accum types.

(__mulusa3_round): New function.
(__mulusa3): Use it.
(__divqq_helper): New function.
(__udivuqq3): Use it.

gcc/
Adjust decimal point of signed accum mode to GCC default.

PR target/54222
* config/avr/avr-modes.def (HA, SA, DA): Remove mode adjustments.
(TA): Move decimal point one bit to the right.
* config/avr/avr.c (avr_out_fract): Rewrite.

From-SVN: r193721

11 years agoconfigure.tgt (i[3456]86): Handle -mx32 like -m64.
Matthias Klose [Thu, 22 Nov 2012 00:47:58 +0000 (00:47 +0000)]
configure.tgt (i[3456]86): Handle -mx32 like -m64.

2012-11-21  Matthias Klose  <doko@ubuntu.com>

        * configure.tgt (i[3456]86): Handle -mx32 like -m64.

From-SVN: r193720

11 years agoDaily bump.
GCC Administrator [Thu, 22 Nov 2012 00:18:15 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193719

11 years agoatanq.c (atanq): Update from GLIBC.
David S. Miller [Wed, 21 Nov 2012 23:55:29 +0000 (23:55 +0000)]
atanq.c (atanq): Update from GLIBC.

2012-11-22  David S. Miller  <davem@davemloft.net>
            Tobias Burnus  <burnus@net-b.de>
            Joseph Myers  <joseph@codesourcery.com>

        * math/atanq.c (atanq): Update from GLIBC. Handle tiny and
        very large arguments properly.
        * math/j0q.c (y0q): Update from GLIBC. Avoid arithmetic
        underflow when 'x' is very small.
        * math/j1q.c (y1q): Ditto.
        * math/log1pq.c (log1pq): Update from GLIBC. Saturate
        nonzero exponents with absolute value below 0x1p-128 to
        +/- 0x1p-128.
        * math/powq.c (powq): Update from GLIBC. If xm1 is
        smaller than LDBL_EPSILON/2.0L, just return xm1.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r193716

11 years agot-linux: New file; define MULTIARCH_DIRNAME.
Matthias Klose [Wed, 21 Nov 2012 23:33:40 +0000 (23:33 +0000)]
t-linux: New file; define MULTIARCH_DIRNAME.

2012-11-21  Matthias Klose  <doko@ubuntu.com>

        * config/alpha/t-linux: New file; define MULTIARCH_DIRNAME.
        * config.gcc <alpha*-*-linux*> (tmake_file): Include alpha/t-linux.

From-SVN: r193715

11 years agot-linux: Define MULTIARCH_DIRNAME.
Matthias Klose [Wed, 21 Nov 2012 23:01:30 +0000 (23:01 +0000)]
t-linux: Define MULTIARCH_DIRNAME.

2012-11-21  Matthias Klose  <doko@ubuntu.com>

        * config/m68k/t-linux: Define MULTIARCH_DIRNAME.

From-SVN: r193714

11 years agot-linux: New file; define MULTIARCH_DIRNAME.
Matthias Klose [Wed, 21 Nov 2012 22:57:54 +0000 (22:57 +0000)]
t-linux: New file; define MULTIARCH_DIRNAME.

2012-11-21  Matthias Klose  <doko@ubuntu.com>

        * config/ia64/t-linux: New file; define MULTIARCH_DIRNAME.
        * config.gcc <ia64*-*-linux*> (tmake_file): Include ia64/t-linux.

From-SVN: r193713

11 years agore PR rtl-optimization/55414 (spec2006 416.gamess compilation fails on LRA)
Vladimir Makarov [Wed, 21 Nov 2012 22:22:11 +0000 (22:22 +0000)]
re PR rtl-optimization/55414 (spec2006 416.gamess compilation fails on LRA)

2012-11-21  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55414
* lra-constraints.c (Index): New function.
(lra_constraints): Check dead equiv init insns.

From-SVN: r193712

11 years agore PR fortran/55352 (Erroneous gfortran warning of unused module variable when variab...
Janus Weil [Wed, 21 Nov 2012 22:19:51 +0000 (23:19 +0100)]
re PR fortran/55352 (Erroneous gfortran warning of unused module variable when variable is only used in namelist)

2012-11-21  Janus Weil  <janus@gcc.gnu.org>

PR fortran/55352
* trans-decl.c (generate_local_decl): Don't warn for explicitly imported
but unused module variables which are in a namelist or common block.

2012-11-21  Janus Weil  <janus@gcc.gnu.org>

PR fortran/55352
* gfortran.dg/namelist_76.f90: New.

From-SVN: r193711

11 years agoalpha: Update to new extv/insv patterns
Richard Henderson [Wed, 21 Nov 2012 22:10:01 +0000 (14:10 -0800)]
alpha: Update to new extv/insv patterns

        * config/alpha/alpha.md (extvmisaligndi): Rename from extv; update
        mode of operand 1; remove ancient extract_bit_field workaround.
        (insvmisaligndi): Rename from insv and update similarly.
        (extzvmisaligndi): Rename from extzv and update similarly; split out...
        (extzvdi): New expander.

From-SVN: r193710

11 years agore PR pch/55399 (pch tests fail on mips-mti-linux-gnu target)
Steve Ellcey [Wed, 21 Nov 2012 21:28:30 +0000 (21:28 +0000)]
re PR pch/55399 (pch tests fail on mips-mti-linux-gnu target)

2012-11-21  Steve Ellcey  <sellcey@mips.com>

PR pch/55399
* files.c (pch_open_file): Fix check for implicit_preinclude.

From-SVN: r193709

11 years agore PR libgomp/55411 (OMP threads lose their OMP_WAIT_POLICY when another OMP thread...
Jakub Jelinek [Wed, 21 Nov 2012 20:29:14 +0000 (21:29 +0100)]
re PR libgomp/55411 (OMP threads lose their OMP_WAIT_POLICY when another OMP thread gets destructed)

PR libgomp/55411
* team.c (gomp_free_thread): Decrease gomp_managed_threads
if pool had any threads_used.

From-SVN: r193706

11 years agoDocument __SANITIZE_ADDRESS__
H.J. Lu [Wed, 21 Nov 2012 20:28:29 +0000 (20:28 +0000)]
Document __SANITIZE_ADDRESS__

* doc/cpp.texi: Document __SANITIZE_ADDRESS__.

From-SVN: r193705

11 years agoDefine __SANITIZE_ADDRESS__ for -fsanitize=address
H.J. Lu [Wed, 21 Nov 2012 20:20:42 +0000 (20:20 +0000)]
Define __SANITIZE_ADDRESS__ for -fsanitize=address

PR c/55397
* cppbuiltin.c (define_builtin_macros_for_compilation_flags):
Define __SANITIZE_ADDRESS__ for flag_asan.

From-SVN: r193704

11 years agocommon.opt: Change faddress-sanitizer to fsanitize=address.
Wei Mi [Wed, 21 Nov 2012 17:46:00 +0000 (17:46 +0000)]
common.opt: Change faddress-sanitizer to fsanitize=address.

* common.opt: Change faddress-sanitizer to fsanitize=address.
* toplev.c (process_options): Likewise.
* gcc.c (LINK_COMMAND_SPEC): Likewise.
* testsuite/lib/asan-dg.exp
(check_effective_target_faddress_sanitizer): Likewise.
(asan_init): Likewise.
* doc/invoke.texi (-fsanitize=address): Document.

From-SVN: r193702

11 years agoipa-prop.h (struct ipa_node_params): Rename clone_for_all_contexts to do_clone_for_al...
Martin Jambor [Wed, 21 Nov 2012 17:13:48 +0000 (18:13 +0100)]
ipa-prop.h (struct ipa_node_params): Rename clone_for_all_contexts to do_clone_for_all_contexts.

2012-11-21  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.h (struct ipa_node_params): Rename clone_for_all_contexts to
do_clone_for_all_contexts.  Update all uses.  New flag
is_all_contexts_clone.
* ipa-cp.c (cgraph_edge_brings_value_p): Also consider the case when cs
leads to the clone for all contexts.
(perhaps_add_new_callers): Likewise.
(decide_whether_version_node): Remove bogus !plats->aggs test.  Set
is_all_contexts_clone when cloning for all contexts.

* testsuite/gcc.dg/ipa/ipcp-agg-7.c: New test.
* testsuite/gcc.dg/ipa/ipcp-agg-8.c: Likewise.

From-SVN: r193701

11 years agore PR tree-optimization/55260 (ICE: in ipa_get_parm_lattices, at ipa-cp.c:263 with...
Martin Jambor [Wed, 21 Nov 2012 17:04:45 +0000 (18:04 +0100)]
re PR tree-optimization/55260 (ICE: in ipa_get_parm_lattices, at ipa-cp.c:263 with -O2 -fno-inline -fipa-cp-clone)

2012-11-21  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/55260
* ipa-cp.c (intersect_aggregates_with_edge): New function.
(find_aggregate_values_for_callers_subset): Part moved to the function
above.  Call it.
(cgraph_edge_brings_all_agg_vals_for_node): Reimplemented using
intersect_aggregates_with_edge.

* testsuite/g++.dg/torture/pr55260-2.C: New test.

From-SVN: r193700

11 years agot-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
Matthias Klose [Wed, 21 Nov 2012 16:13:28 +0000 (16:13 +0000)]
t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.

2012-11-21  Matthias Klose  <doko@ubuntu.com>

        * config/s390/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.

From-SVN: r193699

11 years agoextend libsanitizer/README.gcc
Kostya Serebryany [Wed, 21 Nov 2012 15:07:31 +0000 (15:07 +0000)]
extend libsanitizer/README.gcc

From-SVN: r193698

11 years agore PR gcov-profile/55417 (AddressSanitizer reports stack-buffer-overflow in profiling...
Teresa Johnson [Wed, 21 Nov 2012 15:04:45 +0000 (16:04 +0100)]
re PR gcov-profile/55417 (AddressSanitizer reports stack-buffer-overflow in profiling code)

PR gcov-profile/55417
* profile.c (compute_working_sets): Check index first
to avoid out-of-bounds array access.

From-SVN: r193697

11 years agore PR libquadmath/55225 (Fail to build lgammaq.c from trunk with mingw-w64)
Tobias Burnus [Wed, 21 Nov 2012 13:46:34 +0000 (14:46 +0100)]
re PR libquadmath/55225 (Fail to build lgammaq.c from trunk with mingw-w64)

2012-11-21  Tobias Burnus  <burnus@net-b.de>

        PR libquadmath/55225
        * math/lgammaq.c (lgammaq): Use local variable if
        math.h does not provide signgam.
        * acinclude.m4 (LIBQUAD_CHECK_MATH_H_SIGNGAM): New check.
        * configure.ac: Use it.
        * configure: Regenerate.
        * config.h.in: Regenerate.

From-SVN: r193695

11 years agot-aarch64-linux: Define MULTIARCH_DIRNAME for linux target.
Matthias Klose [Wed, 21 Nov 2012 13:39:27 +0000 (13:39 +0000)]
t-aarch64-linux: Define MULTIARCH_DIRNAME for linux target.

2012-11-21  Matthias Klose  <doko@ubuntu.com>

        * config/aarch64/t-aarch64-linux: Define MULTIARCH_DIRNAME for
        linux target.

From-SVN: r193694

11 years ago* config/i386/i386.md
Uros Bizjak [Wed, 21 Nov 2012 13:20:37 +0000 (14:20 +0100)]
* config/i386/i386.md
(*float<SWI48x:mode><MODEF:mode>2_mixed_with_temp): Use SWI48 mode
iterator instead of SWI48x.  Update insn constraint.
(*float<SWI48x:mode><MODEF:mode>2_mixed_interunit): Ditto.
(*float<SWI48x:mode><MODEF:mode>2_mixed_nointerunit): Ditto.
(*float<SWI48x:mode><MODEF:mode>2_sse_with_temp): Ditto.
(*float<SWI48x:mode><MODEF:mode>2_sse_interunit): Ditto.
(*float<SWI48x:mode><MODEF:mode>2_sse_nointerunit): Ditto.
(*float<SWI48x:mode><MODEF:mode>2 splitters): Ditto.
(lrint<MODEF:mode><SWI48x:mode>2): Ditto.

From-SVN: r193692

11 years agoFix parallel build race.
Marcus Shawcroft [Wed, 21 Nov 2012 13:15:12 +0000 (13:15 +0000)]
Fix parallel build race.

gengtype-lex.c is built twice, once for BUILD and once for HOST, but
the BUILD flavour is missing a dependency on $(BCONFIG_H).

2012-11-21  Marcus Shawcroft  <marcus.shawcroft@arm.com>

* Makefile.in (gengtype-lex.o): Add dependency on $(BCONFIG_H).

From-SVN: r193691

11 years agopr55238.c: Remove hidden attribute.
Martin Jambor [Wed, 21 Nov 2012 12:27:33 +0000 (13:27 +0100)]
pr55238.c: Remove hidden attribute.

2012-11-21  Martin Jambor  <mjambor@suse.cz>

* gcc.dg/torture/pr55238.c: Remove hidden attribute.

From-SVN: r193690

11 years agolibgo: Update to current version of master library.
Ian Lance Taylor [Wed, 21 Nov 2012 07:03:38 +0000 (07:03 +0000)]
libgo: Update to current version of master library.

From-SVN: r193688

11 years ago* config/arm/arm-cores.def (cortex-m1, cortex-m0)
Bin Cheng [Wed, 21 Nov 2012 03:44:21 +0000 (03:44 +0000)]
* config/arm/arm-cores.def (cortex-m1, cortex-m0)
(cortex-m0plus): Use v6m.
* config/arm/arm-protos.h (tune_params): Add
logical_op_non_short_circuit.
* config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune)
(arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune)
(arm_cortex_tune, arm_cortex_a15_tune, arm_cortex_a5_tune)
(arm_cortex_a9_tune, arm_fa726te_tune): Set
logical_op_non_short_circuit field.
(arm_v6m_tune): New tune_params struct.
* config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Define.

* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Skip on ARM Cortex-M0.
* gcc.dg/tree-ssa/vrp47.c: Ditto.

From-SVN: r193687

11 years agoconfigure.ac: Substitute `with_cpu'.
Matthias Klose [Wed, 21 Nov 2012 03:20:12 +0000 (03:20 +0000)]
configure.ac: Substitute `with_cpu'.

2012-11-20  Matthias Klose  <doko@ubuntu.com>

        * configure.ac: Substitute `with_cpu'.
        * configure: Regenerate.
        * Makefile.in: Define `with_cpu'.
        * config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
        * config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME.
        * config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2
        to the list.
        (MULTILIB_MATCHES_FLOAT): Define in terms of SOFT_FLOAT_CPUS.
        * config/rs6000/t-spe: Define MULTIARCH_DIRNAME.
        * config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file):
        Include rs6000/t-linux for 32bit non-biarch configurations.

From-SVN: r193686

11 years agoinstall.texi: Move multiarch paragraph out of multilib documentation.
Matthias Klose [Wed, 21 Nov 2012 00:53:45 +0000 (00:53 +0000)]
install.texi: Move multiarch paragraph out of multilib documentation.

2012-11-20  Matthias Klose  <doko@ubuntu.com>

        * doc/install.texi: Move multiarch paragraph out of multilib
        documentation.

From-SVN: r193685

11 years agoDaily bump.
GCC Administrator [Wed, 21 Nov 2012 00:18:52 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193684

11 years agot-linux-eabi: Define MULTIARCH_DIRNAME for linux target.
Matthias Klose [Tue, 20 Nov 2012 23:10:31 +0000 (23:10 +0000)]
t-linux-eabi: Define MULTIARCH_DIRNAME for linux target.

2012-11-20  Matthias Klose  <doko@ubuntu.com>

        * config/arm/t-linux-eabi: Define MULTIARCH_DIRNAME for linux target.

From-SVN: r193681

11 years agostor-layout.c (bit_field_mode_iterator::next_mode): Fix signedness.
Richard Sandiford [Tue, 20 Nov 2012 22:49:41 +0000 (22:49 +0000)]
stor-layout.c (bit_field_mode_iterator::next_mode): Fix signedness.

gcc/
* stor-layout.c (bit_field_mode_iterator::next_mode): Fix signedness.

From-SVN: r193680

11 years agore PR rtl-optimization/55396 (-O2 -m32 -fno-omit-frame-pointer: internal compiler...
Vladimir Makarov [Tue, 20 Nov 2012 21:32:59 +0000 (21:32 +0000)]
re PR rtl-optimization/55396 (-O2 -m32 -fno-omit-frame-pointer: internal compiler error: in check_rtl, at lra.c:2007)

2012-11-20  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55396
* lra-constraints.c (get_reload_reg): Change class if it is
different from reg class.

From-SVN: r193678

11 years agoIntroduce vNULL to use as a nil initializer for vec<>.
Diego Novillo [Tue, 20 Nov 2012 21:21:30 +0000 (16:21 -0500)]
Introduce vNULL to use as a nil initializer for vec<>.

This patch implements Jakub's idea of adding an empty struct with
a typecast operator that returns nil vectors.  This is useful to
shorten all the initializers when declaring vec instances or passing
nil vectors as function arguments.

2012-11-20  Diego Novillo  <dnovillo@google.com>
    Jakub Jelinek  <jakub@redhat.com>

ChangeLog
* vec.h (struct vnull): Declare.
(vNULL): Declare.
* vec.c (vNULL): Define.
* bb-reorder.c: Replace all vec<T, A>() initializers with vNULL.
* cfgexpand.c: Likewise.
* cfgloop.c: Likewise.
* cfgloopanal.c: Likewise.
* cfgloopmanip.c: Likewise.
* cgraph.c: Likewise.
* config/c6x/c6x.c: Likewise.
* config/i386/i386.c: Likewise.
* df-core.c: Likewise.
* dominance.c: Likewise.
* dwarf2out.c: Likewise.
* except.c: Likewise.
* function.c: Likewise.
* gcse.c: Likewise.
* genautomata.c: Likewise.
* graphds.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite.c: Likewise.
* haifa-sched.c: Likewise.
* ifcvt.c: Likewise.
* ipa-cp.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* ipa-inline-transform.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-split.c: Likewise.
* ipa-utils.c: Likewise.
* ira-build.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-symtab.c: Likewise.
* opts-global.c: Likewise.
* passes.c: Likewise.
* ree.c: Likewise.
* sched-deps.c: Likewise.
* sel-sched-ir.c: Likewise.
* sel-sched-ir.h: Likewise.
* sel-sched.c: Likewise.
* stor-layout.c: Likewise.
* trans-mem.c: Likewise.
* tree-call-cdce.c: Likewise.
* tree-cfg.c: Likewise.
* tree-data-ref.c: Likewise.
* tree-diagnostic.c: Likewise.
* tree-eh.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-predcom.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-ssa-uninit.c: Likewise.
* tree-stdarg.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* value-prof.c: Likewise.
* varasm.c: Likewise.

ada/ChangeLog
* gcc-interface/decl.c: Replace all vec<T,A>()
initializers with vNULL.

cp/ChangeLog
* name-lookup.c: Replace all vec<T, A>() initializers
with vNULL.
* semantics.c: Likewise.

fortran/ChangeLog
* trans-openmp.c: Replace all vec<T, A>() initializers
with vNULL.

lto/ChangeLog
* lto.c: Replace all vec<T, A>() initializers with vNULL.

objc/ChangeLog
* objc-act.c: Replace all vec<T, A>() initializers with vNULL.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r193677

11 years agoFix sanitizer build on sparc64.
Konstantin Serebryany [Tue, 20 Nov 2012 20:54:49 +0000 (20:54 +0000)]
Fix sanitizer build on sparc64.

* sanitizer_common/sanitizer_linux.cc
(SANITIZER_LINUX_USES_64BIT_SYSCALLS): Define.
(internal_mmap): Use it.
(internal_filesize): Likewise.

From-SVN: r193676

11 years agovec.h (class vec_prefix): Change into struct.
Jakub Jelinek [Tue, 20 Nov 2012 19:51:53 +0000 (20:51 +0100)]
vec.h (class vec_prefix): Change into struct.

* vec.h (class vec_prefix): Change into struct.
Rename field alloc_PRIVATE_ back to alloc_.
Rename field num_PRIVATE_ to num_.
Update all users.
(class vec<T, A, vl_embed>): Rename field pfx_PRIVATE_ to vecpfx_.
Rename field data_PRIVATE_ to vecdata_.
Update all users.
(class vec<T, A, vl_ptr>): Make every field public.
Rename field vec_PRIVATE_ back to vec_.
Update all users.

From-SVN: r193675

11 years agore PR middle-end/55403 (ICE building libitm)
Richard Sandiford [Tue, 20 Nov 2012 19:49:26 +0000 (19:49 +0000)]
re PR middle-end/55403 (ICE building libitm)

gcc/
PR middle-end/55403
PR middle-end/55391
* expmed.c (store_bit_field_1): Use adjust_bitfield_address_size
rather than adjust_bitfield_address to change the mode of a reference.
(extract_bit_field_1): Likewise.

From-SVN: r193674

11 years agors6000.md (movdf_hardfloat32): Add a comment explaining the register ordering prefere...
Michael Meissner [Tue, 20 Nov 2012 19:29:02 +0000 (19:29 +0000)]
rs6000.md (movdf_hardfloat32): Add a comment explaining the register ordering preferences.

2012-11-20  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment
explaining the register ordering preferences.

From-SVN: r193673

11 years agore PR tree-optimization/55350 (verify_gimple failed with invalid (pointer) operands...
Aldy Hernandez [Tue, 20 Nov 2012 18:28:09 +0000 (18:28 +0000)]
re PR tree-optimization/55350 (verify_gimple failed with invalid (pointer) operands to plus/minus)

PR tree-optimization/55350
* gimple-ssa-strength-reduction.c (replace_dependent): Handle
POINTER_{PLUS,MINUS}_EXPR correctly.

From-SVN: r193672

11 years ago[multiple changes]
Uros Bizjak [Tue, 20 Nov 2012 18:02:36 +0000 (19:02 +0100)]
[multiple changes]

2012-11-20  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (fix_trunc<MODEF:mode><SWI48:mode>_sse): Macroize
insn from fix_trunc<mode>{si,di}_sse using SWI48 mode iterator.
(peephole2 to avoid vector decoded forms): Macroize peephole2
using MODEF mode iterator.  Use SWI48 mode iterator instead of SWI48x.

2012-11-20  Uros Bizjak  <ubizjak@gmail.com>

PR target/19398
* config/i386/i386.md
(peephole2 to shorten x87->SSE reload sequences): Remove peephole2.
* config/i386/i386.h (enum ix86_tune_indices)
<IX86_TUNE_SHORTEN_X87_SSE>: Remove.
* config/i386/i386.h (initial_ix86_tune_features): Update.

2012-11-20  Vladimir Makarov  <vmakarov@redhat.com>

PR target/19398
* lra-constraints.c (process_alt_operands): Discourage reloads
through secodnary memory.

testsuite/ChangeLog:

2012-11-20  Uros Bizjak  <ubizjak@gmail.com>

PR target/19398
* gcc.target/i386/pr19398.c: New test.

From-SVN: r193671

11 years ago* dwarf.c (read_attribute): Always clear val.
Ian Lance Taylor [Tue, 20 Nov 2012 17:28:05 +0000 (17:28 +0000)]
* dwarf.c (read_attribute): Always clear val.

From-SVN: r193670

11 years agors6000.md (largetoc_low): Revert.
David Edelsohn [Tue, 20 Nov 2012 16:27:57 +0000 (16:27 +0000)]
rs6000.md (largetoc_low): Revert.

        * config/rs6000/rs6000.md (largetoc_low): Revert.
        (largetoc_low_aix<mode>): New.

From-SVN: r193669

11 years agoFix dependencies for tlink.o.
Diego Novillo [Tue, 20 Nov 2012 16:26:24 +0000 (11:26 -0500)]
Fix dependencies for tlink.o.

Found while changing code in vec.h and doing incremental builds.

2012-11-20  Diego Novillo  <dnovillo@google.com>

* Makefile.in (tlink.o): Add dependency on VEC_H.

From-SVN: r193668

11 years agoConvert vec<> into a POD.
Diego Novillo [Tue, 20 Nov 2012 16:26:09 +0000 (11:26 -0500)]
Convert vec<> into a POD.

This fixes PR 55398 by making vec<> a true POD.  I thought we could get
away with having private fields, but we can't.  We fail to pass vec<>
instances through varargs.

The patch makes every field public and mangles the field names in the
hope that no future patch will try to make use of them directly.  It's
horrible, but I could not think of anything better.

Tested with clang++ as the host compiler.

2012-11-20  Diego Novillo  <dnovillo@google.com>

    PR middle-end/55398
    * vec.h (class vec_prefix): Make every field public.
    Rename field alloc_ to alloc_PRIVATE_.
    Rename field num_ to num_PRIVATE_.
    Update all users.
    (class vec<T, A, vl_embed>): Make every field public.
    Rename field pfx_ to pfx_PRIVATE_.
    Rename field data_ to data_PRIVATE_.
    Update all users.
    (class vec<T, A, vl_ptr>): Make every field public.
    Rename field vec_ to vec_PRIVATE_.
    Update all users.

From-SVN: r193667

11 years agore PR target/55268 (gcc4.8 mingw-w64 wrong stdcall import symbols generated after...
Kai Tietz [Tue, 20 Nov 2012 16:17:16 +0000 (17:17 +0100)]
re PR target/55268 (gcc4.8 mingw-w64 wrong stdcall import symbols generated after rev 193204)

        PR target/55268
        * i386.c (ix86_mangle_decl_assembler_name): Use
        SUBTARGET_MANGLE_DECL_ASSEMBLER_NAME if defined.
        * cygming.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Rename
        to SUBTARGET_MANGLE_DECL_ASSEMBLER_NAME.

From-SVN: r193666

11 years agore PR libstdc++/55413 ([LTO] hashtable.h:1648 '__bbegin_bkt' may be used uninitialize...
Paolo Carlini [Tue, 20 Nov 2012 14:54:11 +0000 (14:54 +0000)]
re PR libstdc++/55413 ([LTO] hashtable.h:1648 '__bbegin_bkt' may be used uninitialized in this function [-Werror=maybe-uninitialized])

2012-11-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/55413
* include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Initialize
__bbegin_bkt and __prev_bkt to avoid uninitialized warnings.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
dg-error line number.

From-SVN: r193663

11 years ago2012-11-20 Matthias Klose <doko@ubuntu.com>
Matthias Klose [Tue, 20 Nov 2012 13:48:28 +0000 (13:48 +0000)]
2012-11-20  Matthias Klose  <doko@ubuntu.com>

        * doc/doxygen/user.cfg.in (ALIASES). Escape sharp braces.
        * include/bits/allocator.h: Escape sharp braces in comment.
        * include/profile/impl/profiler_algos.h: Likewise.

From-SVN: r193662

11 years agov850.c (F): New function.
Nick Clifton [Tue, 20 Nov 2012 13:12:16 +0000 (13:12 +0000)]
v850.c (F): New function.

* config/v850/v850.c (F): New function.  Mark the given insn as
being frame related.
(v850_all_frame_related): New function.  Mark the given push insn
as being frame related.
(v850_pass_by_reference): When using the RH850 ABI do not pass
arguments by reference.
(v850_strict_argument_naming): Delete function.
(v850_function_arg): Use word alignment with the RH850 ABI.
(v850_arg_partial_bytes): Likewise.
(v850_function_arg_advance): Likewise.
(v850_print_operand): Handle CONST_INT and CONST_DOUBLE.
(compute_register_save_size): Use df_regs_ever_live_p.
(increment_stack): Mark prologue adjustments as being frame
related.
(expand_prologue): Handle pretend args.  Mark insns generated as
being frame related.
(expand_epilogue): Likewise.
(v850_return_in_memory): When using the RH850 ABI return
aggregates in memory.
(v850_setup_incoming_varargs): Delete function.
(v850_option_override): New function.
(TARGET_DEBUG_UNWIND_INFO): Delete definition.
(TARGET_SETUP_INCOMING_VARARGS): Likewise.
(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
(TARGET_OPTION_OVERRIDE): Define.
* config/v850/v850.h (ASM_SPEC): Pass 8byte-align and gcc-abi
options on to assembler.
(LINK_SPEC): Likewise.
(TARGET_CPU_CPP_BUILTINS): Define __V850_8BYTE_ALIGN__ and
__V850_GCC_ABI__.
(STACK_BOUNDARY): Set to BIGGEST_ALIGNMENT.
(FUNCTION_BOUNDARY): With the RH850 ABI always 32-bit alignment.
(BIGGEST_ALIGNMENT): With -8byte-align set to 64-bits.
(BIGGEST_FIELD_ALIGNMENT): Likewise.
(enum reg_class): Swap EVEN_REGS and GENERAL_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(struct cum_arg): Delete anonymous_args field.
(INIT_CUMULATIVE_ARGS): Update.
(PREFERRED_DEBUG): Set to DWARF2_DEBUG.
(DWARF2_FRAME_INFO): Define.
(DWARF2_UNWIND_INFO): Define.
(INCOMING_RETURN_ADDR_RTX): Define.
(DWARF_FRAME_RETURN_COLUMN): Define.
(TARGET_USE_FPU): Define.
* config/v850/v850.md: Replace TARGET_V850E2V3 in floating point
insns with TARGET_USE_FPU.
(fixuns_truncsfsi2): New pattern.
(fixuns_truncdfsi2): New pattern.
(fix_truncsfdi2): New pattern.
(fixuns_truncsfdi2): New pattern.
(fix_truncdfdi2): New pattern.
(fixuns_truncdfdi2): New pattern.
(unsfloatsisf2): New pattern.
(unsfloatsidf2): New pattern.
(floatdisf2): New pattern.
(unsfloatdisf2): New pattern.
(floatdidf2): New pattern.
(unsfloatdidf2): New pattern.
(fnmasf4): Fix RTl description.
(fnmssf4): Likewise.
* config/v850/v850.opt (mrelax): New option.
(mlong-jumps): Likewise.
(msoft-float): Likewise.
(mhard-float): Likewise.
(mrh850-abi): Likewise.
(mgcc-abi): Likewise.
(m8byte-align): Likewise.
* config/v850/t-v850 (MULTILIB_OPTIONS): Update multilib options.
(MULTILIB_DIRNAMES): Likewise.

From-SVN: r193661

11 years agoi386.c (ix86_expand_call): Emit CLOBBERs in VOIDmode.
Uros Bizjak [Tue, 20 Nov 2012 12:54:23 +0000 (13:54 +0100)]
i386.c (ix86_expand_call): Emit CLOBBERs in VOIDmode.

* config/i386/i386.c (ix86_expand_call): Emit CLOBBERs in VOIDmode.

From-SVN: r193660

11 years agorx.c (rx_function_arg_boundary): When using the RX ABI align stack arguments to their...
Nick Clifton [Tue, 20 Nov 2012 12:22:44 +0000 (12:22 +0000)]
rx.c (rx_function_arg_boundary): When using the RX ABI align stack arguments to their natural alignment.

* config/rx/rx.c (rx_function_arg_boundary): When using the RX ABI
align stack arguments to their natural alignment.
(rx_narrow_volatile_bitfield): New function.  Allows narrow
volatile bitfields.
(rx_ok_to_inline): New function.  Do not inline functions with
local variables into a naked caller.
(TARGET_NARROW_VOLATILE_BITFIELD): Define.
(TARGET_CAN_INLINE_P): Define.
* config/rx/rx.c (TARGET_CPU_CPP_BUILTINS): Define __RX_ABI__ or
__RX_GC_ABI__.
(ASM_SPEC): Pass -mgcc-abi on to the assembler.
(STRICT_ALIGNMENT): Set to false.
(CTORS_SECTION_ASM_OP): Add executable attribute.
(DTORS_SECTION_ASM_OP): Add executable attribute.
(INIT_ARRAY_SECTION_ASM_OP): Add executable attribute.
(FINI_ARRAY_SECTION_ASM_OP): Add executable attribute.
* config/rx/rx.md (subdi3): Don't allow MEMs as the third operand,
as it causes too much reload pressure.
* config/rx/rx.opt (mgcc-abi): New option.
(mrx-abi): New option.
* config/rx/t-rx (MULTILIB_OPTIONS): Show how to add an ABI
multilib.
(MULTILIB_DIRNAMES): Likewise.

From-SVN: r193659

11 years agogcc/
James Greenhalgh [Tue, 20 Nov 2012 12:10:37 +0000 (12:10 +0000)]
gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_simd_builtin_type_bits): Rename to...
(aarch64_simd_builtin_type_mode): ...this, make sequential.
(aarch64_simd_builtin_datum): Refactor members.
(VAR1, VAR2, ..., VAR12): Update accordingly.
(aarch64_simd_builtin_data): Include from aarch64-simd-builtins.def.
(aarch64_builtins): Update accordingly.
(init_aarch64_simd_builtins): Refactor, rename to...
(aarch64_init_simd_builtins): ...this.
(aarch64_simd_builtin_compare): Remove.
(locate_simd_builtin_icode): Likewise.
* config/aarch64/aarch64-protos.h (aarch64_init_builtins): New.
(aarch64_expand_builtin): New.
* config/aarch64/aarch64-simd-builtins.def: New file.
* config/aarch64/aarch64.c (aarch64_init_builtins):
Move to aarch64-builtins.c.
(aarch64_expand_builtin): Likewise.
* config/aarch64/aarch64.h
(aarch64_builtins): Move to aarch64-builtins.c.

Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
From-SVN: r193658

11 years agore PR tree-optimization/55260 (ICE: in ipa_get_parm_lattices, at ipa-cp.c:263 with...
Martin Jambor [Tue, 20 Nov 2012 11:20:41 +0000 (12:20 +0100)]
re PR tree-optimization/55260 (ICE: in ipa_get_parm_lattices, at ipa-cp.c:263 with -O2 -fno-inline -fipa-cp-clone)

2012-11-20  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/55260
* ipa-cp.c (find_aggregate_values_for_callers_subset): Rename info to
dest_info, use caller_info instead of info when determining whether
callee is a clone.

* testsuite/g++.dg/torture/pr55260-1.C: New test.

From-SVN: r193657

11 years agosse.md (*<ssse3_avx2>_pmulhrsw<mode>3): Merge *avx2_pmulhrswv16hi3 and...
Andrey Turetskiy [Tue, 20 Nov 2012 11:05:10 +0000 (11:05 +0000)]
sse.md (*<ssse3_avx2>_pmulhrsw<mode>3): Merge *avx2_pmulhrswv16hi3 and...

        * config/i386/sse.md (*<ssse3_avx2>_pmulhrsw<mode>3): Merge
        *avx2_pmulhrswv16hi3 and *ssse3_pmulhrswv8hi3 into one pattern.

From-SVN: r193656

11 years agoFix to commit 193651.
James Greenhalgh [Tue, 20 Nov 2012 10:56:52 +0000 (10:56 +0000)]
Fix to commit 193651.

gcc/testsuite/
* gcc.target/aarch64/atomic-comp-swap-release-acquire.c:
Actually add this file.
* gcc.target/aarch64/atomic-op-acq_rel.c: Likewise.
* gcc.target/aarch64/atomic-op-acquire.c: Likewise.
* gcc.target/aarch64/atomic-op-char.c: Likewise.
* gcc.target/aarch64/atomic-op-consume.c: Likewise.
* gcc.target/aarch64/atomic-op-imm.c: Likewise.
* gcc.target/aarch64/atomic-op-int.c: Likewise.
* gcc.target/aarch64/atomic-op-long.c: Likewise.
* gcc.target/aarch64/atomic-op-relaxed.c: Likewise.
* gcc.target/aarch64/atomic-op-release.c: Likewise.
* gcc.target/aarch64/atomic-op-seq_cst.c: Likewise.
* gcc.target/aarch64/atomic-op-short.c: Likewise.

From-SVN: r193654

11 years agoFix revision 193651.
James Greenhalgh [Tue, 20 Nov 2012 10:51:02 +0000 (10:51 +0000)]
Fix revision 193651.

gcc/
* config/aarch64/atomics.md: Actually add this file.

From-SVN: r193653

11 years agoaarch64.md (define_attr "sync_*"): Remove.
Sofiane Naci [Tue, 20 Nov 2012 10:07:34 +0000 (10:07 +0000)]
aarch64.md (define_attr "sync_*"): Remove.

gcc/
* config/aarch64/aarch64.md
(define_attr "sync_*"): Remove.
(define_attr "length"): Update.
Include atomics.md.
* config/aarch64/aarch64-protos.h
(aarch64_expand_compare_and_swap): Add function prototype.
(aarch64_split_compare_and_swap): Likewise.
(aarch64_split_atomic_op): Likewise.
(aarch64_expand_sync): Remove function prototype.
(aarch64_output_sync_insn): Likewise.
(aarch64_output_sync_lock_release): Likewise.
(aarch64_sync_loop_insns): Likewise.
(struct aarch64_sync_generator): Remove.
(enum aarch64_sync_generator_tag): Likewise.
* config/aarch64/aarch64.c
(aarch64_legitimize_sync_memory): Remove function.
(aarch64_emit): Likewise.
(aarch64_insn_count): Likewise.
(aarch64_output_asm_insn): Likewise.
(aarch64_load_store_suffix): Likewise.
(aarch64_output_sync_load): Likewise.
(aarch64_output_sync_store): Likewise.
(aarch64_output_op2): Likewise.
(aarch64_output_op3): Likewise.
(aarch64_output_sync_loop): Likewise.
(aarch64_get_sync_operand): Likewise.
(aarch64_process_output_sync_insn): Likewise.
(aarch64_output_sync_insn): Likewise.
(aarch64_output_sync_lock_release): Likewise.
(aarch64_sync_loop_insns): Likewise.
(aarch64_call_generator): Likewise.
(aarch64_expand_sync): Likewise.
(* emit_f): Remove variable.
(aarch64_insn_count): Likewise.
(FETCH_SYNC_OPERAND): Likewise.
(aarch64_emit_load_exclusive): New function.
(aarch64_emit_store_exclusive): Likewise.
(aarch64_emit_unlikely_jump): Likewise.
(aarch64_expand_compare_and_swap): Likewise.
(aarch64_split_compare_and_swap): Likewise.
(aarch64_split_atomic_op): Likewise.
* config/aarch64/iterators.md
(atomic_sfx): New mode attribute.
(atomic_optab): New code attribute.
(atomic_op_operand): Likewise.
(atomic_op_str): Likewise.
(syncop): Rename to atomic_op.
* config/aarch64/sync.md: Delete.
* config/aarch64/atomics.md: New file.

gcc/testsuite
* gcc.target/aarch64/atomic-comp-swap-release-acquire.c: New testcase.
* gcc.target/aarch64/atomic-op-acq_rel.c: Likewise.
* gcc.target/aarch64/atomic-op-acquire.c: Likewise.
* gcc.target/aarch64/atomic-op-char.c: Likewise.
* gcc.target/aarch64/atomic-op-consume.c: Likewise.
* gcc.target/aarch64/atomic-op-imm.c: Likewise.
* gcc.target/aarch64/atomic-op-int.c: Likewise.
* gcc.target/aarch64/atomic-op-long.c: Likewise.
* gcc.target/aarch64/atomic-op-relaxed.c: Likewise.
* gcc.target/aarch64/atomic-op-release.c: Likewise.
* gcc.target/aarch64/atomic-op-seq_cst.c: Likewise.
* gcc.target/aarch64/atomic-op-short.c: Likewise.

From-SVN: r193651

11 years agore PR debug/55094 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2224)
Jakub Jelinek [Tue, 20 Nov 2012 08:38:11 +0000 (09:38 +0100)]
re PR debug/55094 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2224)

PR middle-end/55094
* builtins.c (expand_builtin_trap): Add REG_ARGS_SIZE note
on the trap insn for !ACCUMULATE_OUTGOING_ARGS.
* cfgcleanup.c (outgoing_edges_match): Don't look at debug insns
on the first old_insns_match_p call.  For !ACCUMULATE_OUTGOING_ARGS
fail if the last real insn doesn't have REG_ARGS_SIZE note.

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

From-SVN: r193649

11 years agore PR bootstrap/55370 (Bad libgcc.map)
Jakub Jelinek [Tue, 20 Nov 2012 08:36:31 +0000 (09:36 +0100)]
re PR bootstrap/55370 (Bad libgcc.map)

PR bootstrap/55370
* libgcc-std.ver.in: Add GCC_4.8.0 and %inherit for it.

From-SVN: r193648

11 years agore PR middle-end/54921 (wrong code with -Os -fno-omit-frame-pointer -fsched2-use...
Jakub Jelinek [Tue, 20 Nov 2012 08:34:43 +0000 (09:34 +0100)]
re PR middle-end/54921 (wrong code with -Os -fno-omit-frame-pointer -fsched2-use-superblocks -fstack-protector -ftree-slp-vectorize)

PR rtl-optimization/54921
* cselib.h (fp_setter_insn): New prototype.
* cselib.c (fp_setter_insn): New function.
(cselib_process_insn): If frame_pointer_needed,
call cselib_invalidate_rtx (stack_pointer_rtx) after
processing a frame pointer setter.
* var-tracking.c (fp_setter): Removed.
(vt_initialize): Use fp_setter_insn instead of fp_setter.

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

From-SVN: r193647

11 years agors6000.md (movdf_hardfloat32): Reorder move constraints so that the traditional float...
Michael Meissner [Tue, 20 Nov 2012 00:55:58 +0000 (00:55 +0000)]
rs6000.md (movdf_hardfloat32): Reorder move constraints so that the traditional floating point loads...

2012-11-19  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000.md (movdf_hardfloat32): Reorder move
constraints so that the traditional floating point loads, stores,
and moves are done first, then the VSX loads, stores, and moves,
and finally the GPR loads, stores, and moves so that reload
chooses FPRs over GPRs, and uses the traditional load/store
instructions which provide an offset.
(movdf_hardfloat64): Likewise.

From-SVN: r193645

11 years agoarray_allocator.h: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
Jonathan Wakely [Tue, 20 Nov 2012 00:24:18 +0000 (00:24 +0000)]
array_allocator.h: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.

* include/ext/array_allocator.h: Replace uses of
__GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.

From-SVN: r193644

11 years agoDaily bump.
GCC Administrator [Tue, 20 Nov 2012 00:18:39 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193643

11 years agore PR middle-end/55359 (ICE in simplify_subreg accessing an unaligned subvector)
Richard Sandiford [Mon, 19 Nov 2012 23:28:04 +0000 (23:28 +0000)]
re PR middle-end/55359 (ICE in simplify_subreg accessing an unaligned subvector)

gcc/
PR middle-end/55359
* simplify-rtx.c (simplify_subreg): Return null for invalid offsets.

gcc/testsuite/
* gcc.target/i386/pr55359.c: New test.

From-SVN: r193640

11 years agotypedefs.cc: Check rebind and improve propagate_on_container_move_assignment check.
Jonathan Wakely [Mon, 19 Nov 2012 22:35:11 +0000 (22:35 +0000)]
typedefs.cc: Check rebind and improve propagate_on_container_move_assignment check.

* testsuite/20_util/allocator/requirements/typedefs.cc: Check rebind
and improve propagate_on_container_move_assignment check.

From-SVN: r193639

11 years agostl_algo.h (reverse_copy): Update comment per DR 2074.
Jonathan Wakely [Mon, 19 Nov 2012 22:28:00 +0000 (22:28 +0000)]
stl_algo.h (reverse_copy): Update comment per DR 2074.

* include/bits/stl_algo.h (reverse_copy): Update comment per DR 2074.
* include/bits/unordered_map.h: Apply DR 2005 resolution.
* doc/xml/manual/status_cxx2011.xml: Update per DR 2048.
* include/bits/allocator.h (allocator): Apply DR 2103 resolution.
* include/ext/array_allocator.h: Likewise.
* include/ext/bitmap_allocator.h: Likewise.
* include/ext/malloc_allocator.h: Likewise.
* include/ext/mt_allocator.h: Likewise.
* include/ext/new_allocator.h: Likewise.
* include/ext/pool_allocator.h: Likewise.
* include/ext/throw_allocator.h: Likewise.
* include/ext/alloc_traits.h (__allocator_always_compares_equal): Add
additional specializations.
* include/std/functional: Add comment about DR resolution.
* include/std/future: Likewise.
* include/std/scoped_allocator: Likewise.
* include/std/thread: Likewise.
* testsuite/20_util/allocator/requirements/typedefs.cc: New.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.

From-SVN: r193638

11 years ago* trans-mem.c (execute_tm_mark): Release bb_regions.
Aldy Hernandez [Mon, 19 Nov 2012 22:17:58 +0000 (22:17 +0000)]
* trans-mem.c (execute_tm_mark): Release bb_regions.

From-SVN: r193637

11 years agohashtable.h: Improve comments.
Jonathan Wakely [Mon, 19 Nov 2012 21:33:52 +0000 (21:33 +0000)]
hashtable.h: Improve comments.

* include/bits/hashtable.h: Improve comments.
* include/bits/hashtable_policy.h: Likewise.

From-SVN: r193636

12 years agothread_local-order1.C: Add dg-require-cxa-atexit.
Eric Botcazou [Mon, 19 Nov 2012 18:57:31 +0000 (18:57 +0000)]
thread_local-order1.C: Add dg-require-cxa-atexit.

* g++.dg/tls/thread_local-order1.C: Add dg-require-cxa-atexit.
* g++.dg/tls/thread_local3g.C: Likewise.
* g++.dg/tls/thread_local4g.C: Likewise.
* g++.dg/tls/thread_local5g.C: Likewise.
* g++.dg/tls/thread_local6g.C: Likewise.
* g++.dg/tls/thread_local-cse.C: XFAIL on Solaris 9.
* g++.dg/tls/thread_local2.C: Likewise.
* g++.dg/tls/thread_local2g.C: Likewise.
* g++.dg/tls/thread_local6.C: Likewise.

From-SVN: r193634

12 years agotrans-mem (collect_bb2reg): Stop scanning at irrevocable
Aldy Hernandez [Mon, 19 Nov 2012 18:43:40 +0000 (18:43 +0000)]
trans-mem (collect_bb2reg): Stop scanning at irrevocable

* trans-mem (collect_bb2reg): Stop scanning at irrevocable
* blocks.
(get_bb_regions_instrumented): Add new traverse_clone argument and
use it.
(expand_regions_1): Same.
(expand_region): Same.
(execute_tm_mark): Pass new argument to expand_regions.
(expand_block_edges): Pass new argument to
get_bb_regions_instrumented.
testsuite/
* g++.dg/tm/pr51516.C: Adjust for uninstrumented code path.
* gcc.dg/tm/clone-1.c: New test.

From-SVN: r193633

12 years ago* compare_tests: Add export LC_ALL=C to make sort happier.
Mike Stump [Mon, 19 Nov 2012 18:16:36 +0000 (18:16 +0000)]
* compare_tests: Add export LC_ALL=C to make sort happier.

From-SVN: r193631

12 years agogcc/
Sofiane Naci [Mon, 19 Nov 2012 18:10:09 +0000 (18:10 +0000)]
gcc/
* config/aarch64/aarch64.c
(aarch64_output_mi_thunk): Refactor to generate RTL patterns.

From-SVN: r193630

12 years agoAdd PR bootstrap/55384 to ChangeLog entry.
David Edelsohn [Mon, 19 Nov 2012 18:07:21 +0000 (13:07 -0500)]
Add PR bootstrap/55384 to ChangeLog entry.

From-SVN: r193629

12 years agore PR target/55276 (ppc: callee-saved vector registers not preserved)
David Edelsohn [Mon, 19 Nov 2012 16:58:31 +0000 (11:58 -0500)]
re PR target/55276 (ppc: callee-saved vector registers not preserved)

2012-11-19  Mans Rullgard  <mans@mansr.com>

        PR target/55276
        * config/rs6000/rs6000.c (rs6000_stack_info): Always set vrsave_mask
        for TARGET_ALTIVEC_ABI.  Zero vrsave_save_offset if
        !TARGET_ALTIVEC_VRSAVE.
        (rs6000_emit_prologue): For SAVE_INLINE_VLRs, check vrsave_size
        not vrsave_mask.

From-SVN: r193628

12 years agors6000.c (rs6000_stack_info): Always set vrsave_mask for TARGET_ALTIVEC_ABI.
Mans Rullgard [Mon, 19 Nov 2012 16:55:05 +0000 (16:55 +0000)]
rs6000.c (rs6000_stack_info): Always set vrsave_mask for TARGET_ALTIVEC_ABI.

2012-11-19  Mans Rullgard  <mans@mansr.com>

        * config/rs6000/rs6000.c (rs6000_stack_info): Always set vrsave_mask
        for TARGET_ALTIVEC_ABI.  Zero vrsave_save_offset if
        !TARGET_ALTIVEC_VRSAVE.
        (rs6000_emit_prologue): For SAVE_INLINE_VLRs, check vrsave_size
        not vrsave_mask.

From-SVN: r193627

12 years agore PR translation/53764 (Typo in translatable string: "literalto")
Ian Lance Taylor [Mon, 19 Nov 2012 16:28:04 +0000 (16:28 +0000)]
re PR translation/53764 (Typo in translatable string: "literalto")

PR translation/53764
compiler: Fix typo in error message.

Reported by Roland Stigge.

From-SVN: r193626

12 years ago* system.h (vec_free): Undef.
David Edelsohn [Mon, 19 Nov 2012 14:47:11 +0000 (14:47 +0000)]
* system.h (vec_free): Undef.

From-SVN: r193625