platform/upstream/linaro-gcc.git
11 years agoalpha: Update to new extv/insv patterns
rth [Wed, 21 Nov 2012 22:10:01 +0000 (22:10 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193710 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-21 Steve Ellcey <sellcey@mips.com>
sje [Wed, 21 Nov 2012 21:28:30 +0000 (21:28 +0000)]
2012-11-21  Steve Ellcey  <sellcey@mips.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193709 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR libgomp/55411
jakub [Wed, 21 Nov 2012 20:29:14 +0000 (20:29 +0000)]
PR libgomp/55411
* team.c (gomp_free_thread): Decrease gomp_managed_threads
if pool had any threads_used.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193706 138bc75d-0d04-0410-961f-82ee72b054a4

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

* doc/cpp.texi: Document __SANITIZE_ADDRESS__.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193705 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDefine __SANITIZE_ADDRESS__ for -fsanitize=address
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193704 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * common.opt: Change faddress-sanitizer to fsanitize=address.
wmi [Wed, 21 Nov 2012 17:46:00 +0000 (17:46 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193702 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-21 Martin Jambor <mjambor@suse.cz>
jamborm [Wed, 21 Nov 2012 17:13:48 +0000 (17:13 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193701 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-21 Martin Jambor <mjambor@suse.cz>
jamborm [Wed, 21 Nov 2012 17:04:45 +0000 (17:04 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193700 138bc75d-0d04-0410-961f-82ee72b054a4

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

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193699 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193698 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR gcov-profile/55417
jakub [Wed, 21 Nov 2012 15:04:45 +0000 (15:04 +0000)]
PR gcov-profile/55417
* profile.c (compute_working_sets): Check index first
to avoid out-of-bounds array access.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193697 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-21 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 21 Nov 2012 13:46:34 +0000 (13:46 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193695 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-21 Matthias Klose <doko@ubuntu.com>
doko [Wed, 21 Nov 2012 13:39:27 +0000 (13:39 +0000)]
2012-11-21  Matthias Klose  <doko@ubuntu.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193694 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/i386/i386.md
uros [Wed, 21 Nov 2012 13:20:37 +0000 (13:20 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193692 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix parallel build race.
mshawcroft [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).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193691 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-21 Martin Jambor <mjambor@suse.cz>
jamborm [Wed, 21 Nov 2012 12:27:33 +0000 (12:27 +0000)]
2012-11-21  Martin Jambor  <mjambor@suse.cz>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193690 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193688 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/arm/arm-cores.def (cortex-m1, cortex-m0)
amker [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193687 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-20 Matthias Klose <doko@ubuntu.com>
doko [Wed, 21 Nov 2012 03:20:12 +0000 (03:20 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193686 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-20 Matthias Klose <doko@ubuntu.com>
doko [Wed, 21 Nov 2012 00:53:45 +0000 (00:53 +0000)]
2012-11-20  Matthias Klose  <doko@ubuntu.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193685 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193684 138bc75d-0d04-0410-961f-82ee72b054a4

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

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193681 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
rsandifo [Tue, 20 Nov 2012 22:49:41 +0000 (22:49 +0000)]
gcc/
* stor-layout.c (bit_field_mode_iterator::next_mode): Fix signedness.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193680 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-20 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Tue, 20 Nov 2012 21:32:59 +0000 (21:32 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193678 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoIntroduce vNULL to use as a nil initializer for vec<>.
dnovillo [Tue, 20 Nov 2012 21:21:30 +0000 (21:21 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193677 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix sanitizer build on sparc64.
davem [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193676 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * vec.h (class vec_prefix): Change into struct.
jakub [Tue, 20 Nov 2012 19:51:53 +0000 (19:51 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193675 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
rsandifo [Tue, 20 Nov 2012 19:49:26 +0000 (19:49 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193674 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-20 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Tue, 20 Nov 2012 19:29:02 +0000 (19:29 +0000)]
2012-11-20  Michael Meissner  <meissner@linux.vnet.ibm.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193673 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR tree-optimization/55350
aldyh [Tue, 20 Nov 2012 18:28:09 +0000 (18:28 +0000)]
PR tree-optimization/55350
* gimple-ssa-strength-reduction.c (replace_dependent): Handle
POINTER_{PLUS,MINUS}_EXPR correctly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193672 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-20 Uros Bizjak <ubizjak@gmail.com>
uros [Tue, 20 Nov 2012 18:02:36 +0000 (18:02 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193671 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193670 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/rs6000/rs6000.md (largetoc_low): Revert.
dje [Tue, 20 Nov 2012 16:27:57 +0000 (16:27 +0000)]
    * config/rs6000/rs6000.md (largetoc_low): Revert.
        (largetoc_low_aix<mode>): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193669 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix dependencies for tlink.o.
dnovillo [Tue, 20 Nov 2012 16:26:24 +0000 (16:26 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193668 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoConvert vec<> into a POD.
dnovillo [Tue, 20 Nov 2012 16:26:09 +0000 (16:26 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193667 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/55268
ktietz [Tue, 20 Nov 2012 16:17:16 +0000 (16:17 +0000)]
    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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193666 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-20 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 20 Nov 2012 14:54:11 +0000 (14:54 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193663 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-20 Matthias Klose <doko@ubuntu.com>
doko [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193662 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/v850/v850.c (F): New function. Mark the given insn as
nickc [Tue, 20 Nov 2012 13:12:16 +0000 (13:12 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193661 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/i386/i386.c (ix86_expand_call): Emit CLOBBERs in VOIDmode.
uros [Tue, 20 Nov 2012 12:54:23 +0000 (12:54 +0000)]
* config/i386/i386.c (ix86_expand_call): Emit CLOBBERs in VOIDmode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193660 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/rx/rx.c (rx_function_arg_boundary): When using the RX ABI
nickc [Tue, 20 Nov 2012 12:22:44 +0000 (12:22 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193659 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
jgreenhalgh [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193658 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-20 Martin Jambor <mjambor@suse.cz>
jamborm [Tue, 20 Nov 2012 11:20:41 +0000 (11:20 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193657 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/i386/sse.md (*<ssse3_avx2>_pmulhrsw<mode>3): Merge
kyukhin [Tue, 20 Nov 2012 11:05:10 +0000 (11:05 +0000)]
    * config/i386/sse.md (*<ssse3_avx2>_pmulhrsw<mode>3): Merge
        *avx2_pmulhrswv16hi3 and *ssse3_pmulhrswv8hi3 into one pattern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193656 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix to commit 193651.
jgreenhalgh [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193654 138bc75d-0d04-0410-961f-82ee72b054a4

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

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193653 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
jgreenhalgh [Tue, 20 Nov 2012 10:07:34 +0000 (10:07 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193651 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/55094
jakub [Tue, 20 Nov 2012 08:38:11 +0000 (08:38 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193649 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR bootstrap/55370
jakub [Tue, 20 Nov 2012 08:36:31 +0000 (08:36 +0000)]
PR bootstrap/55370
* libgcc-std.ver.in: Add GCC_4.8.0 and %inherit for it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193648 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR rtl-optimization/54921
jakub [Tue, 20 Nov 2012 08:34:43 +0000 (08:34 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193647 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-19 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Tue, 20 Nov 2012 00:55:58 +0000 (00:55 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193645 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * include/ext/array_allocator.h: Replace uses of
redi [Tue, 20 Nov 2012 00:24:18 +0000 (00:24 +0000)]
* include/ext/array_allocator.h: Replace uses of
__GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193644 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193643 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
rsandifo [Mon, 19 Nov 2012 23:28:04 +0000 (23:28 +0000)]
gcc/
PR middle-end/55359
* simplify-rtx.c (simplify_subreg): Return null for invalid offsets.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193640 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * testsuite/20_util/allocator/requirements/typedefs.cc: Check rebind
redi [Mon, 19 Nov 2012 22:35:11 +0000 (22:35 +0000)]
* testsuite/20_util/allocator/requirements/typedefs.cc: Check rebind
and improve propagate_on_container_move_assignment check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193639 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * include/bits/stl_algo.h (reverse_copy): Update comment per DR 2074.
redi [Mon, 19 Nov 2012 22:28:00 +0000 (22:28 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193638 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193637 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * include/bits/hashtable.h: Improve comments.
redi [Mon, 19 Nov 2012 21:33:52 +0000 (21:33 +0000)]
* include/bits/hashtable.h: Improve comments.
* include/bits/hashtable_policy.h: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193636 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * g++.dg/tls/thread_local-order1.C: Add dg-require-cxa-atexit.
ebotcazou [Mon, 19 Nov 2012 18:57:31 +0000 (18:57 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193634 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * trans-mem (collect_bb2reg): Stop scanning at irrevocable
aldyh [Mon, 19 Nov 2012 18:43:40 +0000 (18:43 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193633 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193631 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
jgreenhalgh [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193630 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAdd PR bootstrap/55384 to ChangeLog entry.
dje [Mon, 19 Nov 2012 18:07:21 +0000 (18:07 +0000)]
Add PR bootstrap/55384 to ChangeLog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193629 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-19 Mans Rullgard <mans@mansr.com>
dje [Mon, 19 Nov 2012 16:58:31 +0000 (16:58 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193628 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-19 Mans Rullgard <mans@mansr.com>
dje [Mon, 19 Nov 2012 16:55:05 +0000 (16:55 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193627 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR translation/53764
ian [Mon, 19 Nov 2012 16:28:04 +0000 (16:28 +0000)]
PR translation/53764
compiler: Fix typo in error message.

Reported by Roland Stigge.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193626 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193625 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago/cp
paolo [Mon, 19 Nov 2012 14:41:26 +0000 (14:41 +0000)]
/cp
2012-11-19  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/55368
* parser.c (cp_parser_member_declaration): Emit an error in case
of stray comma at end of member declaration.

/testsuite
2012-11-19  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/55368
* g++.dg/parse/struct-5.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193624 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * class.c (one_inheriting_sig): Don't inherit base copy ctors.
jason [Mon, 19 Nov 2012 14:05:59 +0000 (14:05 +0000)]
* class.c (one_inheriting_sig): Don't inherit base copy ctors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193623 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/55262
jason [Mon, 19 Nov 2012 14:05:48 +0000 (14:05 +0000)]
PR c++/55262
* method.c (implicitly_declare_fn): Set DECL_PARM_INDEX on
the parms of an inheriting ctor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193622 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/55261
jason [Mon, 19 Nov 2012 14:05:36 +0000 (14:05 +0000)]
PR c++/55261
* class.c (add_implicitly_declared_members): Use
lookup_fnfields_slot to get the base constructors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193621 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/54630
jakub [Mon, 19 Nov 2012 13:44:15 +0000 (13:44 +0000)]
PR middle-end/54630
* tree-ssa-coalesce.c (coalesce_ssa_name): Remove static
keyword from ssa_name_hash var.

* class.c (fixed_type_or_null_ref_ht): New variable.
(fixed_type_or_null): Use it instead of local static ht.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193620 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-19 Matthias Klose <doko@ubuntu.com>
doko [Mon, 19 Nov 2012 11:49:48 +0000 (11:49 +0000)]
2012-11-19  Matthias Klose  <doko@ubuntu.com>

        * libtool-version: Bump soversion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193619 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * doc/md.texi: Document define_subst.
kyukhin [Mon, 19 Nov 2012 10:19:20 +0000 (10:19 +0000)]
    * doc/md.texi: Document define_subst.
        * gensupport.c (MAX_OPERANDS): New define.
        (operand_data): New.
        (match_operand_entries_in_pattern): New.
        (used_operands_numbers): New.
        (subst_true): New.
        (subst_false): New.
        (define_subst_queue): New.
        (define_subst_tail): New.
        (define_subst_attr_queue): New.
        (define_subst_attr_tail): New.
        (has_subst_attribute): New.
        (subst_pattern_match): New.
        (get_alternatives_number): New.
        (alter_output_for_subst_insn): New.
        (alter_attrs_for_subst_insn): New.
        (process_substs_on_one_elem): New.
        (subst_dup): New.
        (process_define_subst): New.
        (duplicate_alternatives): New.
        (duplicate_each_alternative): New.
        (constraints_handler_t): New typedef.
        (alter_constraints): New.
        (adjust_operands_numbers): New.
        (replace_duplicating_operands_in_pattern): New.
        (remove_from_queue): New.
        (process_rtx): Handle define_subst and define_subst_attr.
        (change_subst_attribute): New.
        (alter_predicate_for_insn): Fix formatting.
        (alter_attrs_for_insn): Likewise.
        (alter_output_for_insn): Likewise.
        (mark_operands_from_match_dup): New.
        (mark_operands_used_in_match_dup): New.
        (find_first_unused_number_of_operand): New.
        (renumerate_operands_in_pattern): New.
        (generate_match_dup): New.
        (check_define_attr_duplicates): New.
        (init_rtx_reader_args_cb): Add checking for duplicated attrs and
        processing of define_subst.
        (read_md_rtx): Handle define_subst.
        * read-rtl.c (struct subst_attr_to_iter_mapping): New.
        (substs): New global.
        (apply_subst_iterator): New.
        (bind_subst_iter_and_attr): New.
        (find_subst_iter_by_attr): New.
        (map_attr_string): Handle subst-iterators.
        (add_condition_to_rtx): Handle define_subst.
        (apply_iterators): Likewise.
        (initialize_iterators): Likewise.
        (add_define_attr_for_define_subst): New.
        (add_define_subst_attr): New.
        (read_subst_mapping): New.
        (read_rtx): Handle define_subst_attr.
        (read_rtx_code): Add subst-attributes recognition during reading of
        strings.
        * rtl.def (DEFINE_EXPAND): Add vector of attributes.
        (DEFINE_SUBST): New.
        (DEFINE_SUBST_ATTR): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193618 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-19 Tom de Vries <tom@codesourcery.com>
vries [Mon, 19 Nov 2012 09:35:54 +0000 (09:35 +0000)]
2012-11-19  Tom de Vries  <tom@codesourcery.com>

PR rtl-optimization/55315

* gcc.target/mips/pr55315.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193617 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-19 Tom de Vries <tom@codesourcery.com>
vries [Mon, 19 Nov 2012 09:35:48 +0000 (09:35 +0000)]
2012-11-19  Tom de Vries  <tom@codesourcery.com>

PR rtl-optimization/55315

* rtlanal.c (nonzero_address_p): Don't assume a nonzero address plus a
const is a nonzero address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193616 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoreflect: Fix invalid sharing in valueInterface.
ian [Mon, 19 Nov 2012 05:34:08 +0000 (05:34 +0000)]
reflect: Fix invalid sharing in valueInterface.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193614 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoThis patch addresses the bogus "Invocation mismatch" messages seen in parallel
tejohnson [Mon, 19 Nov 2012 05:20:59 +0000 (05:20 +0000)]
This patch addresses the bogus "Invocation mismatch" messages seen in parallel
profiledbootstrap builds of gcc. See PR bootstrap/55051 for a discussion of
why this is occurring and why this checking is inaccurate. Leave it in when
!GCOV_LOCKED, to warn about concurrent update issues requiring locking.

2012-11-18  Teresa Johnson  <tejohnson@google.com>

PR bootstrap/55051
* libgcov.c (gcov_exit): Remove merged program summary
comparison unless !GCOV_LOCKED.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193612 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-18 Sandra Loosemore <sandra@codesourcery.com>
sandra [Mon, 19 Nov 2012 03:55:32 +0000 (03:55 +0000)]
2012-11-18  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/extend.texi: Use @smallexample consistently.  Add @noindent
when continuing a sentence or paragraph past an example.  Change
tabs to spaces in examples.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193611 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Mon, 19 Nov 2012 00:19:24 +0000 (00:19 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193610 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
rsandifo [Sun, 18 Nov 2012 17:34:06 +0000 (17:34 +0000)]
gcc/
* doc/md.texi (extv@var{m}, extvmisalign@var{m}, extzv@var{m})
(extzvmisalign@var{m}, insv@var{m}, insvmisalign@var{m}): Document.
(insv, extv, extzv): Deprecate.
* optabs.def (insv_optab, extv_optab, extzv_optab)
(insvmisalign_optab, extvmisalign_optab, extzvmisalign_optab):
New optabs.
* optabs.c (get_optab_extraction_insn): New function.
(get_extraction_insn): Use it.
* config/mips/mips.md (extv): Split into...
(extvmisalign<mode>, extv<mode>): ...these new patterns.  Rename
existing extv<mode> pattern to...
(*extv<mode>): ...this.
(extzv): Split into...
(extzvmisalign<mode>, extzv<mode>): ...these new patterns.  Rename
existing extzv<mode> pattern to...
(*extzv<mode>): ...this.
(insv): Split into...
(insvmisalign<mode>, insv<mode>): ...these new patterns.  Rename
existing insv<mode> pattern to...
(*insv<mode>): ...this.  Use const_int_operand rather than
immediate_operand.
* config/mips/mips.c (mips_block_move_straight): Use set_mem_size
to set the size of BLKmode accesses.
(mips_get_unaligned_mem): Require OP0 to be a BLKmode memory,
turning it from an "rtx *" to an rtx.
(mips_expand_ext_as_unaligned_load): Simplify for new optab
interface.  Update call to mips_get_unaligned_mem.
(mips_expand_ins_as_unaligned_store): Update call to
mips_get_unaligned_mem.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193606 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
rsandifo [Sun, 18 Nov 2012 17:33:38 +0000 (17:33 +0000)]
gcc/
* Makefile.in (recog.o): Add insn-codes.h.
* expr.h (extraction_pattern): Move to optabs.h.
(mode_for_extraction): Delete.
* optabs.h (extraction_insn): New structure.
(extraction_pattern): Moved from expr.h.
(get_best_reg_extraction_insn, get_best_mem_extraction_insn): Declare.
* optabs.c (HAVE_insv, CODE_FOR_insv, HAVE_extv, CODE_FOR_extv)
(HAVE_extzv, CODE_FOR_extzv): Provide defaults.
(extraction_type): New enum.
(get_traditional_extraction_insn, get_extraction_insn)
(get_best_reg_extraction_insn, get_best_mem_extraction_insn):
New functions.
* combine.c (make_extraction): Use get_best_reg_extraction_insn
instead of mode_for_extraction.
* expmed.c (HAVE_insv, CODE_FOR_insv, gen_insv, HAVE_extv)
(CODE_FOR_extv, gen_extv, HAVE_extzv, CODE_FOR_extzv, gen_extzv):
Remove fallback definitions.
(mode_for_extraction): Delete.
(adjust_bit_field_mem_for_reg): New function.
(store_bit_field_using_insv): Replace OP_MODE parameter with
an extraction_insn.  Pass struct_mode to narrow_bit_field_mem.
(extract_bit_field_using_extv): Likewise EXT_MODE.
(store_bit_field_1): Use get_best_reg_extraction_insn and
get_best_mem_extraction_insn instead of mode_for_extraction.
Use adjust_bit_field_mem_for_reg when forcing memory to a
register and doing a register insertion.  Update calls to
store_bit_field_using_insv.
(extract_bit_field_1): Likewise extractions and calls to
extract_bit_field_using_extv.
(store_Bit_field): When narrowing to a bitregion, don't use the
insv mode as a limit.
* recog.c: (HAVE_extv, CODE_FOR_extv, HAVE_extzv, CODE_FOR_extzv):
Provide defaults.
(simplify_while_replacing): Use insn_data instead of
mode_for_extraction.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193605 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
rsandifo [Sun, 18 Nov 2012 17:33:15 +0000 (17:33 +0000)]
gcc/
* stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator):
Set up a default value of bitregion_end_.
(bit_field_mode_iterator::next_mode): Always apply bitregion_end_
check.  Include SLOW_UNALIGNED_ACCESS in the alignment check.
(get_best_mode): Ignore modes that are wider than the alignment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193604 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
rsandifo [Sun, 18 Nov 2012 17:33:01 +0000 (17:33 +0000)]
gcc/
* machmode.h (bit_field_mode_iterator): New class.
(get_best_mode): Change final parameter to bool.
* stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator)
(bit_field_mode_iterator::next_mode): New functions, split out from...
(get_best_mode): ...here.  Change final parameter to bool.
Use bit_field_mode_iterator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193603 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
rsandifo [Sun, 18 Nov 2012 17:32:45 +0000 (17:32 +0000)]
gcc/
* expmed.c (narrow_bit_field_mem): New function.
(store_bit_field_using_insv, store_bit_field_1, store_fixed_bit_field)
(extract_bit_field_1): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193602 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
rsandifo [Sun, 18 Nov 2012 17:32:29 +0000 (17:32 +0000)]
gcc/
* expr.h (adjust_address_1): Add a size parameter.
(adjust_address, adjust_address_nv, adjust_bitfield_address)
(adjust_bitfield_address_nv): Adjust accordingly.
(adjust_bitfield_address_size): Define.
* emit-rtl.c (adjust_address_1): Add a size parameter.
Use it to set the size if MODE has no size.  Check whether
the size matches before returning the original memref.
Require the size to be known for adjust_object.
(adjust_automodify_address_1, widen_memory_access): Update calls
to adjust_address_1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193601 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
rsandifo [Sun, 18 Nov 2012 17:32:04 +0000 (17:32 +0000)]
gcc/
* combine.c (make_extraction): Handle TRUNCATEd INNERs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193600 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
rsandifo [Sun, 18 Nov 2012 17:31:38 +0000 (17:31 +0000)]
gcc/
* expr.c (expand_assignment): Don't set MEM_KEEP_ALIAS_SET_P here.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Handle DECL_BIT_FIELDs,
using their size instead of the COMPONENT_REF's.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193599 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-17 Matthias Klose <doko@ubuntu.com>
doko [Sun, 18 Nov 2012 13:37:05 +0000 (13:37 +0000)]
2012-11-17  Matthias Klose  <doko@ubuntu.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193598 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gcc-interface/decl.c: Remove trailing spaces.
ebotcazou [Sun, 18 Nov 2012 10:26:56 +0000 (10:26 +0000)]
* gcc-interface/decl.c: Remove trailing spaces.
* gcc-interface/trans.c: Remove trailing spaces.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193597 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agocompiler: Adjust for vec changes.
ian [Sun, 18 Nov 2012 07:56:13 +0000 (07:56 +0000)]
compiler: Adjust for vec changes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193596 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoThis patch rewrites the old VEC macro-based interface into a new one
dnovillo [Sun, 18 Nov 2012 02:54:30 +0000 (02:54 +0000)]
This patch rewrites the old VEC macro-based interface into a new one
based on the template class 'vec'.  The user-visible changes are
described in http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec.

I have tested the patch pretty extensively:

- Regular bootstraps on x86_64, ppc, ia64, sparc and hppa.
- Bootstraps with --enable-checking=release
- Bootstraps with --enable-checking=gc,gcac
- Basic builds on all targets (using contrib/config-list.mk).

We no longer access the vectors via VEC_* macros.  The pattern is
"VEC_operation (T, A, V, args)" becomes "V.operation (args)".

The only thing I could not do is create proper ctors and dtors for the
vec class.  Since these vectors are stored in unions, we
have to keep them as PODs (C++03 does not allow non-PODs in unions).

This means that creation and destruction must be explicit.  There is a
new method vec<type, allocation, layout>::create() and another vec<type,
allocation, layout>::destroy() to allocate the internal vector.

For vectors that must be pointers, there is a family of free functions
that implement the operations that need to tolerate NULL vectors.
These functions all start with the prefix 'vec_safe_'.  See the wiki
page for details.

The gengtype change removes the special handling for VEC() that used
to exist in gengtype. Additionally, it allows gengtype to recognize
templates of more than one argument and introduces the concept of an
undefined type (useful for template arguments that may or may not be
types).

When a TYPE_UNDEFINED is reached, gengtype will ignore it if it
happens inside a type marked with GTY((user)).  Otherwise, it will
emit an error.

Finally, gengtype rejects root types marked GTY((user)) that are not
first class pointers.

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

VEC API overhaul (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)

* vec.c (register_overhead): Convert it into
member function of vec_prefix.
(release_overhead): Likewise.
(calculate_allocation): Likewise.
(vec_heap_free): Remove.
(vec_gc_o_reserve_1): Remove.
(vec_heap_o_reserve_1): Remove.
(vec_stack_o_reserve_1): Remove.
(vec_stack_o_reserve_exact): Remove.
(register_stack_vec): New.
(stack_vec_register_index): New.
(unregister_stack_vec): New.
(vec_assert_fail): Remove.
* vec.h: Conditionally include ggc.h.  Document conditional
hackery.
Update top-level documentation.
(ALONE_VEC_CHECK_INFO): Remove.
(VEC_CHECK_INFO): Remove.
(ALONE_VEC_CHECK_DECL): Remove.
(VEC_CHECK_DECL): Remove.
(ALONE_VEC_CHECK_PASS): Remove.
(VEC_CHECK_PASS): Remove.
(VEC_ASSERT): Remove.
(vec_prefix): Add friends va_gc, va_gc_atomic, va_heap and
va_stack.
Mark fields alloc_ and num_ as protected.
(struct vec_t): Remove.  Remove all function members.
(struct vl_embed): Declare.
(struct vl_ptr): Declare.
(free): Remove.
(reserve_exact): Remove.
(reserve): Remove.
(safe_splice): Remove.
(safe_push): Remove.
(safe_grow): Remove.
(safe_grow_cleared): Remove.
(safe_insert): Remove.
(DEF_VEC_I): Remove.
(DEF_VEC_ALLOC_I): Remove.
(DEF_VEC_P): Remove.
(DEF_VEC_ALLOC_P): Remove.
(DEF_VEC_O): Remove.
(DEF_VEC_ALLOC_O): Remove.
(DEF_VEC_ALLOC_P_STACK): Remove.
(DEF_VEC_ALLOC_O_STACK): Remove.
(DEF_VEC_ALLOC_I_STACK): Remove.
(DEF_VEC_A): Remove.
(DEF_VEC_ALLOC_A): Remove.
(vec_stack_p_reserve_exact_1): Remove.
(vec_stack_o_reserve): Remove.
(vec_stack_o_reserve_exact): Remove.
(VEC_length): Remove.
(VEC_empty): Remove.
(VEC_address): Remove.
(vec_address): Remove.
(VEC_last): Remove.
(VEC_index): Remove.
(VEC_iterate): Remove.
(VEC_embedded_size): Remove.
(VEC_embedded_init): Remove.
(VEC_free): Remove.
(VEC_copy): Remove.
(VEC_space): Remove.
(VEC_reserve): Remove.
(VEC_reserve_exact): Remove.
(VEC_splice): Remove.
(VEC_safe_splice): Remove.
(VEC_quick_push): Remove.
(VEC_safe_push): Remove.
(VEC_pop): Remove.
(VEC_truncate): Remove.
(VEC_safe_grow): Remove.
(VEC_replace): Remove.
(VEC_quick_insert): Remove.
(VEC_safe_insert): Remove.
(VEC_ordered_remove): Remove.
(VEC_unordered_remove): Remove.
(VEC_block_remove): Remove.
(VEC_lower_bound): Remove.
(VEC_alloc): Remove.
(VEC_qsort): Remove.

(va_heap): Declare.
(va_heap::default_layout): New typedef to vl_ptr.
(va_heap::reserve): New.
(va_heap::release): New.
(va_gc): Declare.
(va_gc::default_layout): New typedef to vl_embed.
(va_gc::reserve): New.
(va_gc::release): New.
(va_gc_atomic): Declare.  Inherit from va_gc.
(va_stack): Declare.
(va_stack::default_layout): New typedef to vl_ptr.
(va_stack::alloc): New.
(va_stack::reserve): New.
(va_stack::release): New.
(register_stack_vec): Declare.
(stack_vec_register_index): Declare.
(unregister_stack_vec): Declare.

(vec<T, A = va_heap, L = typename A::default_layout>): Declare
empty vec template.
(vec<T, A, vl_embed>): Partial specialization for embedded
layout.
(vec<T, A, vl_embed>::allocated): New.
(vec<T, A, vl_embed>::length): New.
(vec<T, A, vl_embed>::is_empty): New.
(vec<T, A, vl_embed>::address): New.
(vec<T, A, vl_embed>::operator[]): New.
(vec<T, A, vl_embed>::last New.
(vec<T, A, vl_embed>::space): New.
(vec<T, A, vl_embed>::iterate): New.
(vec<T, A, vl_embed>::iterate): New.
(vec<T, A, vl_embed>::copy): New.
(vec<T, A, vl_embed>::splice): New.
(vec<T, A, vl_embed>::quick_push New.
(vec<T, A, vl_embed>::pop New.
(vec<T, A, vl_embed>::truncate): New.
(vec<T, A, vl_embed>::quick_insert): New.
(vec<T, A, vl_embed>::ordered_remove): New.
(vec<T, A, vl_embed>::unordered_remove): New.
(vec<T, A, vl_embed>::block_remove): New.
(vec<T, A, vl_embed>::qsort): New.
(vec<T, A, vl_embed>::lower_bound): New.
(vec<T, A, vl_embed>::embedded_size): New.
(vec<T, A, vl_embed>::embedded_init): New.
(vec<T, A, vl_embed>::quick_grow): New.
(vec<T, A, vl_embed>::quick_grow_cleared): New.
(vec_safe_space): New.
(vec_safe_length): New.
(vec_safe_address): New.
(vec_safe_is_empty): New.
(vec_safe_reserve): New.
(vec_safe_reserve_exact): New.
(vec_alloc): New.
(vec_free): New.
(vec_safe_grow): New.
(vec_safe_grow_cleared): New.
(vec_safe_iterate): New.
(vec_safe_push): New.
(vec_safe_insert): New.
(vec_safe_truncate): New.
(vec_safe_copy): New.
(vec_safe_splice): New.

(vec<T, A, vl_ptr>): New partial specialization for the space
efficient layout.
(vec<T, A, vl_ptr>::exists): New.
(vec<T, A, vl_ptr>::is_empty): New.
(vec<T, A, vl_ptr>::length): New.
(vec<T, A, vl_ptr>::address): New.
(vec<T, A, vl_ptr>::operator[]): New.
(vec<T, A, vl_ptr>::operator!=): New.
(vec<T, A, vl_ptr>::operator==): New.
(vec<T, A, vl_ptr>::last): New.
(vec<T, A, vl_ptr>::space): New.
(vec<T, A, vl_ptr>::iterate): New.
(vec<T, A, vl_ptr>::copy): New.
(vec<T, A, vl_ptr>::reserve): New.
(vec<T, A, vl_ptr>::reserve_exact): New.
(vec<T, A, vl_ptr>::splice): New.
(vec<T, A, vl_ptr>::safe_splice): New.
(vec<T, A, vl_ptr>::quick_push): New.
(vec<T, A, vl_ptr>::safe_push): New.
(vec<T, A, vl_ptr>::pop): New.
(vec<T, A, vl_ptr>::truncate): New.
(vec<T, A, vl_ptr>::safe_grow): New.
(vec<T, A, vl_ptr>::safe_grow_cleared): New.
(vec<T, A, vl_ptr>::quick_grow): New.
(vec<T, A, vl_ptr>::quick_grow_cleared): New.
(vec<T, A, vl_ptr>::quick_insert): New.
(vec<T, A, vl_ptr>::safe_insert): New.
(vec<T, A, vl_ptr>::ordered_remove): New.
(vec<T, A, vl_ptr>::unordered_remove): New.
(vec<T, A, vl_ptr>::block_remove): New.
(vec<T, A, vl_ptr>::qsort): New.
(vec<T, A, vl_ptr>::lower_bound): New.
(vec_stack_alloc): Define.
(FOR_EACH_VEC_SAFE_ELT): Define.
* vecir.h: Remove.  Update all users.
* vecprim.h: Remove.  Update all users.
Move uchar to coretypes.h.

* Makefile.in (VEC_H): Add $(GGC_H).
Remove vecir.h and vecprim.h dependencies everywhere.

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

* gengtype-lex.l (VEC): Remove.
Add characters in the set [\!\>\.-].
* gengtype-parse.c (token_names): Remove "VEC".
(require_template_declaration): Remove handling of VEC_TOKEN.
(type): Likewise.
Call create_user_defined_type when parsing GTY((user)).
* gengtype-state.c (type_lineloc): handle TYPE_UNDEFINED.
(write_state_undefined_type): New.
(write_state_type): Call write_state_undefined_type for
TYPE_UNDEFINED.
(read_state_type): Call read_state_undefined_type for
TYPE_UNDEFINED.
* gengtype.c (dbgprint_count_type_at): Handle TYPE_UNDEFINED.
(create_user_defined_type): Make extern.
(type_for_name): Factor out of resolve_typedef.
(create_undefined_type): New
(resolve_typedef): Call it when we cannot find a previous
typedef and the type is not a template.
(find_structure): Accept TYPE_UNDEFINED.
(set_gc_used_type): Add argument ALLOWED_UNDEFINED_TYPES,
default to false.
Emit an error for TYPE_UNDEFINED unless LEVEL is GC_UNUSED or
ALLOWED_UNDEFINED_TYPES is set.
Set ALLOWED_UNDEFINED_TYPES to true for TYPE_USER_STRUCT.
(filter_type_name): Accept templates with more than one
argument.
(output_mangled_typename): Handle TYPE_UNDEFINED
(walk_type): Likewise.
(write_types_process_field): Likewise.
(write_func_for_structure): If CHAIN_NEXT is set, ORIG_S
should not be a user-defined type.
(write_types_local_user_process_field): Handle TYPE_ARRAY,
TYPE_NONE and TYPE_UNDEFINED.
(write_types_local_process_field): Likewise.
(contains_scalar_p): Return 0 for TYPE_USER_STRUCT.
(write_root): Reject user-defined types that are not pointers.
Handle TYPE_NONE, TYPE_UNDEFINED, TYPE_UNION, TYPE_LANG_STRUCT
and TYPE_PARAM_STRUCT.
(output_typename): Handle TYPE_NONE, TYPE_UNDEFINED, and
TYPE_ARRAY.
(dump_typekind): Handle TYPE_UNDEFINED.
* gengtype.h (enum typekind): Add TYPE_UNDEFINED.
(create_user_defined_type): Declare.
(enum gty_token): Remove VEC_TOKEN.

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

Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)

* coretypes.h (uchar): Define.
* alias.c: Use new vec API in vec.h.
* asan.c: Likewise.
* attribs.c: Likewise.
* basic-block.h: Likewise.
* bb-reorder.c: Likewise.
* builtins.c: Likewise.
* calls.c: Likewise.
* cfg.c: Likewise.
* cfganal.c: Likewise.
* cfgcleanup.c: Likewise.
* cfgexpand.c: Likewise.
* cfghooks.c: Likewise.
* cfghooks.h: Likewise.
* cfgloop.c: Likewise.
* cfgloop.h: Likewise.
* cfgloopanal.c: Likewise.
* cfgloopmanip.c: Likewise.
* cfgrtl.c: Likewise.
* cgraph.c: Likewise.
* cgraph.h: Likewise.
* cgraphclones.c: Likewise.
* cgraphunit.c: Likewise.
* combine.c: Likewise.
* compare-elim.c: Likewise.
* coverage.c: Likewise.
* cprop.c: Likewise.
* data-streamer.h: Likewise.
* dbxout.c: Likewise.
* dce.c: Likewise.
* df-core.c: Likewise.
* df-problems.c: Likewise.
* df-scan.c: Likewise.
* dominance.c: Likewise.
* domwalk.c: Likewise.
* domwalk.h: Likewise.
* dse.c: Likewise.
* dwarf2cfi.c: Likewise.
* dwarf2out.c: Likewise.
* dwarf2out.h: Likewise.
* emit-rtl.c: Likewise.
* except.c: Likewise.
* except.h: Likewise.
* expr.c: Likewise.
* expr.h: Likewise.
* final.c: Likewise.
* fold-const.c: Likewise.
* function.c: Likewise.
* function.h: Likewise.
* fwprop.c: Likewise.
* gcc.c: Likewise.
* gcse.c: Likewise.
* genattr.c: Likewise.
* genattrtab.c: Likewise.
* genautomata.c: Likewise.
* genextract.c: Likewise.
* genopinit.c: Likewise
* ggc-common.c: Likewise.
* ggc.h: Likewise.
* gimple-low.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* gimple-streamer-in.c: Likewise.
* gimple.c: Likewise.
* gimple.h: Likewise.
* gimplify.c: Likewise.
* graph.c: Likewise.
* graphds.c: Likewise.
* graphds.h: Likewise.
* graphite-blocking.c: Likewise.
* graphite-clast-to-gimple.c: Likewise.
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-optimize-isl.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-poly.h: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-scop-detection.h: Likewise.
* graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* godump.c: Likewise.
* haifa-sched.c: Likewise.
* hw-doloop.c: Likewise.
* hw-doloop.h: Likewise.
* ifcvt.c: Likewise.
* insn-addr.h: Likewise.
* ipa-cp.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* ipa-inline-transform.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-inline.h: Likewise.
* ipa-prop.c: Likewise.
* ipa-prop.h: Likewise.
* ipa-pure-const.c: Likewise.
* ipa-ref-inline.h: Likewise.
* ipa-ref.c: Likewise.
* ipa-ref.h: Likewise.
* ipa-reference.c: Likewise.
* ipa-split.c: Likewise.
* ipa-utils.c: Likewise.
* ipa-utils.h: Likewise.
* ipa.c: Likewise.
* ira-build.c: Likewise.
* ira-color.c: Likewise.
* ira-emit.c: Likewise.
* ira-int.h: Likewise.
* ira.c: Likewise.
* loop-invariant.c: Likewise.
* loop-unroll.c: Likewise.
* lower-subreg.c: Likewise.
* lra-lives.c: Likewise.
* lra.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-section-out.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* lto-streamer.h: Likewise.
* lto-symtab.c: Likewise.
* mcf.c: Likewise.
* modulo-sched.c: Likewise.
* omp-low.c: Likewise.
* opts-common.c: Likewise.
* opts-global.c: Likewise.
* opts.c: Likewise.
* opts.h: Likewise.
* passes.c: Likewise.
* predict.c: Likewise.
* print-tree.c: Likewise.
* profile.c: Likewise.
* profile.h: Likewise.
* read-rtl.c: Likewise.
* ree.c: Likewise.
* reg-stack.c: Likewise.
* regrename.c: Likewise.
* regrename.h: Likewise.
* reload.c: Likewise.
* reload.h: Likewise.
* reload1.c: Likewise.
* rtl.h: Likewise.
* sched-deps.c: Likewise.
* sched-int.h: Likewise.
* sdbout.c: Likewise.
* sel-sched-dump.c: Likewise.
* sel-sched-ir.c: Likewise.
* sel-sched-ir.h: Likewise.
* sel-sched.c: Likewise.
* sese.c: Likewise.
* sese.h: Likewise.
* statistics.h: Likewise.
* stmt.c: Likewise.
* stor-layout.c: Likewise.
* store-motion.c: Likewise.
* tlink.c: Likewise.
* toplev.c: Likewise.
* trans-mem.c: Likewise.
* tree-browser.c: Likewise.
* tree-call-cdce.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-chrec.c: Likewise.
* tree-chrec.h: Likewise.
* tree-complex.c: Likewise.
* tree-data-ref.c: Likewise.
* tree-data-ref.h: Likewise.
* tree-dfa.c: Likewise.
* tree-diagnostic.c: Likewise.
* tree-dump.c: Likewise.
* tree-eh.c: Likewise.
* tree-emutls.c: Likewise.
* tree-flow.h: Likewise.
* tree-if-conv.c: Likewise.
* tree-inline.c: Likewise.
* tree-inline.h: Likewise.
* tree-into-ssa.c: Likewise.
* tree-iterator.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-mudflap.c: Likewise.
* tree-optimize.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-parloops.c: Likewise.
* tree-phinodes.c: Likewise.
* tree-predcom.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-alias.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-live.h: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.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-operands.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-sccvn.h: Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-tail-merge.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-ssa-threadupdate.c: Likewise.
* tree-ssa-uncprop.c: Likewise.
* tree-ssa-uninit.c: Likewise.
* tree-ssa.c: Likewise.
* tree-ssanames.c: Likewise.
* tree-stdarg.c: Likewise.
* tree-streamer-in.c: Likewise.
* tree-streamer-out.c: Likewise.
* tree-streamer.c: Likewise.
* tree-streamer.h: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vectorizer.c: Likewise.
* tree-vectorizer.h: Likewise.
* tree-vrp.c: Likewise.
* tree.c: Likewise.
* tree.h: Likewise.
* value-prof.c: Likewise.
* value-prof.h: Likewise.
* var-tracking.c: Likewise.
* varasm.c: Likewise.
* varpool.c: Likewise.
* vmsdbgout.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/c6x/c6x.c: Likewise.
* config/darwin.c: Likewise.
* config/i386/i386.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/mep/mep.c: Likewise.
* config/mips/mips.c: Likewise.
* config/pa/pa.c: Likewise.
* config/rs6000/rs6000-c.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/rx/rx.c: Likewise.
* config/spu/spu-c.c: Likewise.
* config/vms/vms.c: Likewise.
* config/vxworks.c: Likewise.
* config/epiphany/resolve-sw-modes.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193595 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Sun, 18 Nov 2012 00:18:41 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193594 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR tree-optimization/55236
jakub [Sat, 17 Nov 2012 22:00:32 +0000 (22:00 +0000)]
PR tree-optimization/55236
* fold-const.c (make_range_step) <case NEGATE_EXPR>: For -fwrapv
and signed ARG0_TYPE, force low and high to be non-NULL.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193591 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR testsuite/55188
jakub [Sat, 17 Nov 2012 21:58:44 +0000 (21:58 +0000)]
PR testsuite/55188
* gcc.dg/pr19105.c: Accept also optimizing
-[2, 2] and -[3, 3] and -[4, 4] range tests together.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193590 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAdd -static-libasan option to the GCC driver
hjl [Sat, 17 Nov 2012 20:31:06 +0000 (20:31 +0000)]
Add -static-libasan option to the GCC driver

* common.opt (static-libasan): New option.
* gcc.c (LIBASAN_SPEC): New macro.
(LINK_COMMAND_SPEC): Replace -lasan with LIBASAN_SPEC.
* doc/invoke.texi: Document -static-libasan.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193589 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-11-17 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Sat, 17 Nov 2012 17:59:35 +0000 (17:59 +0000)]
2012-11-17  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55342
* lra-assigns.c (spill_for): Try to allocate other reload pseudos
before and after spilling.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193588 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * semantics.c (finish_id_expression): Tidy diagnostic message.
gdr [Sat, 17 Nov 2012 16:47:47 +0000 (16:47 +0000)]
* semantics.c (finish_id_expression): Tidy diagnostic message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193587 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * lib/asan-dg.exp (asan_symbolize): Prune BFD: prefixed error messages
jakub [Sat, 17 Nov 2012 13:03:39 +0000 (13:03 +0000)]
* lib/asan-dg.exp (asan_symbolize): Prune BFD: prefixed error messages
from addr2line_output.  Increment idx if asking for more than one address
in one object.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193586 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR fortran/55341
jakub [Sat, 17 Nov 2012 13:02:56 +0000 (13:02 +0000)]
PR fortran/55341
* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Convert last
argument to memcpy to size_type_node type.
* trans-stmt.c (gfc_conv_elemental_dependencies): Likewise.
* trasn-array.c (duplicate_allocatable): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193585 138bc75d-0d04-0410-961f-82ee72b054a4