platform/upstream/linaro-gcc.git
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

11 years ago2012-11-17 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sat, 17 Nov 2012 12:09:58 +0000 (12:09 +0000)]
2012-11-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/55363
* include/std/array (tuple_size, tuple_element): Move out
NAMESPACE_CONTAINER.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
dg-error line numbers.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.

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

11 years ago2012-11-16 Sandra Loosemore <sandra@codesourcery.com>
sandra [Sat, 17 Nov 2012 03:25:59 +0000 (03:25 +0000)]
2012-11-16  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/extend.texi: Various copy-edits to comply with GCC coding
standards for spelling, terminology, and markup, including use of
American spelling, correct use of terms like "back end" and
"run time", use correct name for GCC, use "@:" markup.

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

11 years agoruntime: Fix use of __atomic_compare_exchange_n: not weak, consistent.
ian [Sat, 17 Nov 2012 00:52:22 +0000 (00:52 +0000)]
runtime: Fix use of __atomic_compare_exchange_n: not weak, consistent.

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

11 years agoDaily bump.
gccadmin [Sat, 17 Nov 2012 00:18:31 +0000 (00:18 +0000)]
Daily bump.

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

11 years ago PR tree-optimization/55329
jakub [Fri, 16 Nov 2012 22:05:32 +0000 (22:05 +0000)]
PR tree-optimization/55329
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Never clear
bits in needed_eh_cleanup while iterating over the bitmap.
Look through all forwarder blocks at once.

* g++.dg/opt/pr55329.C: New test.

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

11 years ago2012-11-16 François Dumont <fdumont@gcc.gnu.org>
fdumont [Fri, 16 Nov 2012 21:28:44 +0000 (21:28 +0000)]
2012-11-16  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove
automatic shrink.
(_Prime_rehash_policy::_M_bkt_for_elements): Do not call
_M_next_bkt anymore.
(_Prime_rehash_policy::_M_next_bkt): Move usage of
_S_growth_factor ...
(_Prime_rehash_policy::_M_need_rehash): ... here.
* include/bits/hashtable.h (_Hashtable<>): Adapt.
* testsuite/performance/23_containers/insert_erase/41975.cc: Add
_USE_TR1 to force build using std::tr1 container.
* testsuite/performance/23_containers/insert/unordered_set.cc:
Likewise.
* testsuite/performance/23_containers/insert/54075.cc: New.

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

11 years ago2012-11-16 Matthias Klose <doko@ubuntu.com>
doko [Fri, 16 Nov 2012 18:35:05 +0000 (18:35 +0000)]
2012-11-16  Matthias Klose  <doko@ubuntu.com>

        * Imported zlib 1.2.7; merged local changes.

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

11 years ago * testsuite/libstdc++-prettyprinters/whatis.cc: New file.
tromey [Fri, 16 Nov 2012 18:17:25 +0000 (18:17 +0000)]
* testsuite/libstdc++-prettyprinters/whatis.cc: New file.
* testsuite/lib/gdb-test.exp (whatis-test): New proc.
(gdb-test): Handle 'whatis' tests.
(gdb_batch_check): New proc.
(gdb_version_check): Rewrite to use gdb_batch_check.
* python/libstdcxx/v6/printers.py: Import gdb.types.
(FilteringTypePrinter): New class.
(add_one_type_printer, register_type_printers): New functions.
(register_libstdcxx_printers): Call register_type_printers.

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

11 years agoFix commit of testcase which got truncated somehow.
ibolton [Fri, 16 Nov 2012 17:36:00 +0000 (17:36 +0000)]
Fix commit of testcase which got truncated somehow.

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

11 years ago * params.def (max-peeled-insns, max-completely-peeled-insns): Reduce to 100.
hubicka [Fri, 16 Nov 2012 17:27:30 +0000 (17:27 +0000)]
* params.def (max-peeled-insns, max-completely-peeled-insns): Reduce to 100.

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

11 years ago * include/cpplib.h (struct cpp_options): Add canonical_system_headers.
simonb [Fri, 16 Nov 2012 17:14:05 +0000 (17:14 +0000)]
* include/cpplib.h (struct cpp_options): Add canonical_system_headers.
    * files.c (find_file_in_dir): Call maybe_shorter_path() only if
    canonical_system_headers is set.
    * init.c (cpp_create_reader): Initialize canonical_system_headers.
    * configure.ac: Add new --enable-canonical-system-headers.
    * configure: Regenerate.
    * config.in: Regenerate.

    * doc/cppopts.texi: Document -f[no-]canonical-system-headers.
    * doc/install.texi: Document --enable-canonical-system-headers.

    * c.opt: Add f[no-]canonical-system-headers.
    * c-opts.c (c_common_handle_option): Handle
    OPT_fcanonical_system_headers.

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

11 years ago2012-11-16 Janus Weil <janus@gcc.gnu.org>
janus [Fri, 16 Nov 2012 17:02:02 +0000 (17:02 +0000)]
2012-11-16  Janus Weil  <janus@gcc.gnu.org>

PR fortran/55297
* resolve.c (resolve_typebound_intrinsic_op): Only add typebound
operators to the operator list in the namespace of the derived type.

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

PR fortran/55297
* gfortran.dg/typebound_operator_18.f90: New.

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

11 years ago2012-11-16 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 16 Nov 2012 16:32:02 +0000 (16:32 +0000)]
2012-11-16  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55330
* lra-constraints.c (MAX_INHERITANCE_PASSES): New macro.
(lra_inheritance, lra_undo_inheritance): Use it to limit number of
the passes.

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

PR rtl-optimization/55330
* gfortran.dg/pr55330.f90: New test.

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

11 years agocompiler: don't remove floating point conversion of typed constant
ian [Fri, 16 Nov 2012 16:30:35 +0000 (16:30 +0000)]
compiler: don't remove floating point conversion of typed constant

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

11 years ago * Make-lang.in (gccgo$(exeext)): Add + at start of command.
ian [Fri, 16 Nov 2012 16:27:54 +0000 (16:27 +0000)]
* Make-lang.in (gccgo$(exeext)): Add + at start of command.
(go1$(exeext)): Likewise.

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

11 years ago * lib/gcc-dg.exp (cleanup-saved-temps): Add .mii to suffixes.
uros [Fri, 16 Nov 2012 15:50:05 +0000 (15:50 +0000)]
* lib/gcc-dg.exp (cleanup-saved-temps): Add .mii to suffixes.
* gcc.dg/hoist-register-pressure-1.c: Cleanup hoist rtl dump.
* gcc.dg/hoist-register-pressure-2.c: Ditto.
* gcc.dg/hoist-register-pressure-3.c: Ditto.
* gcc.dg/tree-prof/peel-1.c: Cleanup loop2_unroll rtl dump.
* gcc.dg/tree-prof/unroll-1.c: Ditto.

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

11 years agoPR c++/54875 - Error with alias template that resolves to an enum
dodji [Fri, 16 Nov 2012 15:20:03 +0000 (15:20 +0000)]
PR c++/54875 -  Error with alias template that resolves to an enum

Consider this short example:

     1 template<typename T>
     2 using AddConst = T const;
     3
     4 enum FwdEnum : int;
     5
     6 int main() {
     7   AddConst<FwdEnum> *ptr = nullptr;
     8 }

At line 7, when we build the type for AddConst<FwdEnum> in
lookup_template_class_1, the resulting type is the enum FwdEnum.  This
confuses lookup_template_class_1 near the if below, wrongly making it
taking the branch and thus calling tsubst_enum while it shouldn't:

      if (TREE_CODE (t) == ENUMERAL_TYPE && !is_dependent_type)
/* Now that the type has been registered on the instantiations
   list, we set up the enumerators.  Because the enumeration
   constants may involve the enumeration type itself, we make
   sure to register the type first, and then create the
   constants.  That way, doing tsubst_expr for the enumeration
   constants won't result in recursive calls here; we'll find
   the instantiation and exit above.  */
tsubst_enum (template_type, t, arglist);

Before the alias template feature, the only reason why TREE_CODE (t)
== ENUMERAL_TYPE would be true is when lookup_template_class_1 is
called for an enum that is a member of a class template.  But that
condition can be also true for an alias template instantiation.

So I guess that condition should be changed to TREE_CODE
(template_type) == ENUMERAL_TYPE, to specifically detect the member
enum of a class template case.  Note that for the alias template
instantiation case above, template_type points to a TEMPLATE_TYPE_PARM
which name is AddConst.

This is what the patchlet below does.

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

gcc/cp/

* pt.c (lookup_template_class_1): Look at the type of the
potential member enum of class template to determine if we are
actually substituting into a member enum of class template.

gcc/testsuite/

* g++.dg/cpp0x/alias-decl-27.C: New test.

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

11 years ago * configure.ac: Invoke AM_MAINTAINER_MODE.
tromey [Fri, 16 Nov 2012 15:19:15 +0000 (15:19 +0000)]
* configure.ac: Invoke AM_MAINTAINER_MODE.
* aclocal.m4, configure, Makefile.in, asan/Makefile.in,
interception/Makefile.in, sanitizer_common/Makefile.in: Rebuild.

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

11 years ago2012-11-16 Matthias Klose <doko@ubuntu.com>
doko [Fri, 16 Nov 2012 15:19:14 +0000 (15:19 +0000)]
2012-11-16  Matthias Klose  <doko@ubuntu.com>

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

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

11 years ago * lib/target-supports.exp
uros [Fri, 16 Nov 2012 14:53:53 +0000 (14:53 +0000)]
* lib/target-supports.exp
(check_effective_target_has_w_floating_suffix): Use options for c++ only.
(check_effective_target_has_q_floating_suffix): Ditto.

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