alalaw01 [Tue, 3 Jun 2014 15:06:01 +0000 (15:06 +0000)]
[PATCH AArch64 2/2] Correct signedness of builtins, remove casts from arm_neon.h
* gcc/config/aarch64/aarch64-builtins.c
(aarch64_types_binop_ssu_qualifiers): New static data.
(TYPES_BINOP_SSU): Define.
* gcc/config/aarch64/aarch64-simd-builtins.def (suqadd, ushl, urshl,
urshr_n, ushll_n): Use appropriate unsigned qualifiers.
* gcc/config/aarch64/arm_neon.h (vrshl_u8, vrshl_u16, vrshl_u32,
vrshl_u64, vrshlq_u8, vrshlq_u16, vrshlq_u32, vrshlq_u64, vrshld_u64,
vrshr_n_u8, vrshr_n_u16, vrshr_n_u32, vrshr_n_u64, vrshrq_n_u8,
vrshrq_n_u16, vrshrq_n_u32, vrshrq_n_u64, vrshrd_n_u64, vshll_n_u8,
vshll_n_u16, vshll_n_u32, vuqadd_s8, vuqadd_s16, vuqadd_s32,
vuqadd_s64, vuqaddq_s8, vuqaddq_s16, vuqaddq_s32, vuqaddq_s64,
vuqaddb_s8, vuqaddh_s16, vuqadds_s32, vuqaddd_s64): Add signedness
suffix to builtin function name, remove cast.
(vshl_s8, vshl_s16, vshl_s32, vshl_s64, vshl_u8, vshl_u16, vshl_u32,
vshl_u64, vshlq_s8, vshlq_s16, vshlq_s32, vshlq_s64, vshlq_u8,
vshlq_u16, vshlq_u32, vshlq_u64, vshld_s64, vshld_u64): Remove cast.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211186
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Tue, 3 Jun 2014 14:57:22 +0000 (14:57 +0000)]
[PATCH AArch64 1/2] Correct signedness of builtins, remove casts from arm_neon.h
* gcc/config/aarch64/aarch64-builtins.c
(aarch64_types_binop_uus_qualifiers,
aarch64_types_shift_to_unsigned_qualifiers,
aarch64_types_unsigned_shiftacc_qualifiers): Define.
* gcc/config/aarch64/aarch64-simd-builtins.def (uqshl, uqrshl, uqadd,
uqsub, usqadd, usra_n, ursra_n, uqshrn_n, uqrshrn_n, usri_n, usli_n,
sqshlu_n, uqshl_n): Update qualifiers.
* gcc/config/aarch64/arm_neon.h (vqadd_u8, vqadd_u16, vqadd_u32,
vqadd_u64, vqaddq_u8, vqaddq_u16, vqaddq_u32, vqaddq_u64, vqsub_u8,
vqsub_u16, vqsub_u32, vqsub_u64, vqsubq_u8, vqsubq_u16, vqsubq_u32,
vqsubq_u64, vqaddb_u8, vqaddh_u16, vqadds_u32, vqaddd_u64, vqrshl_u8,
vqrshl_u16, vqrshl_u32, vqrshl_u64, vqrshlq_u8, vqrshlq_u16,
vqrshlq_u32, vqrshlq_u64, vqrshlb_u8, vqrshlh_u16, vqrshls_u32,
vqrshld_u64, vqrshrn_n_u16, vqrshrn_n_u32, vqrshrn_n_u64,
vqrshrnh_n_u16, vqrshrns_n_u32, vqrshrnd_n_u64, vqshl_u8, vqshl_u16,
vqshl_u32, vqshl_u64, vqshlq_u8, vqshlq_u16, vqshlq_u32, vqshlq_u64,
vqshlb_u8, vqshlh_u16, vqshls_u32, vqshld_u64, vqshl_n_u8, vqshl_n_u16,
vqshl_n_u32, vqshl_n_u64, vqshlq_n_u8, vqshlq_n_u16, vqshlq_n_u32,
vqshlq_n_u64, vqshlb_n_u8, vqshlh_n_u16, vqshls_n_u32, vqshld_n_u64,
vqshlu_n_s8, vqshlu_n_s16, vqshlu_n_s32, vqshlu_n_s64, vqshluq_n_s8,
vqshluq_n_s16, vqshluq_n_s32, vqshluq_n_s64, vqshlub_n_s8,
vqshluh_n_s16, vqshlus_n_s32, vqshlud_n_s64, vqshrn_n_u16,
vqshrn_n_u32, vqshrn_n_u64, vqshrnh_n_u16, vqshrns_n_u32,
vqshrnd_n_u64, vqsubb_u8, vqsubh_u16, vqsubs_u32, vqsubd_u64,
vrsra_n_u8, vrsra_n_u16, vrsra_n_u32, vrsra_n_u64, vrsraq_n_u8,
vrsraq_n_u16, vrsraq_n_u32, vrsraq_n_u64, vrsrad_n_u64, vsli_n_u8,
vsli_n_u16, vsli_n_u32,vsli_n_u64, vsliq_n_u8, vsliq_n_u16,
vsliq_n_u32, vsliq_n_u64, vslid_n_u64, vsqadd_u8, vsqadd_u16,
vsqadd_u32, vsqadd_u64, vsqaddq_u8, vsqaddq_u16, vsqaddq_u32,
vsqaddq_u64, vsqaddb_u8, vsqaddh_u16, vsqadds_u32, vsqaddd_u64,
vsra_n_u8, vsra_n_u16, vsra_n_u32, vsra_n_u64, vsraq_n_u8,
vsraq_n_u16, vsraq_n_u32, vsraq_n_u64, vsrad_n_u64, vsri_n_u8,
vsri_n_u16, vsri_n_u32, vsri_n_u64, vsriq_n_u8, vsriq_n_u16,
vsriq_n_u32, vsriq_n_u64, vsrid_n_u64): Remove casts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211185
138bc75d-0d04-0410-961f-
82ee72b054a4
tejohnson [Tue, 3 Jun 2014 14:12:51 +0000 (14:12 +0000)]
2014-06-03 Teresa Johnson <tejohnson@google.com>
* tree-sra.c (modify_function): Record caller nodes after rebuild.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211180
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 3 Jun 2014 14:11:10 +0000 (14:11 +0000)]
PR c++/60848
* call.c (is_std_init_list): Check CLASSTYPE_TEMPLATE_INFO.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211179
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 3 Jun 2014 11:56:58 +0000 (11:56 +0000)]
PR c++/61020
* varpool.c (ctor_for_folding): Handle uninitialized vtables.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211178
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Tue, 3 Jun 2014 11:56:24 +0000 (11:56 +0000)]
Detect EXT patterns to vec_perm_const, use for EXT intrinsics.
(part 2, fix ICE at -O0)
* config/aarch64/aarch64.c (aarch64_evpc_ext): allow and handle
location == 0.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211177
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Tue, 3 Jun 2014 11:28:55 +0000 (11:28 +0000)]
Recognize shuffle patterns for REV instructions on AArch64, rewrite intrinsics.
* config/aarch64/aarch64-simd.md (aarch64_rev<REVERSE:rev-op><mode>):
New pattern.
* config/aarch64/aarch64.c (aarch64_evpc_rev): New function.
(aarch64_expand_vec_perm_const_1): Add call to aarch64_evpc_rev.
* config/aarch64/iterators.md (REVERSE): New iterator.
(UNSPEC_REV64, UNSPEC_REV32, UNSPEC_REV16): New enum elements.
(rev_op): New int_attribute.
* config/aarch64/arm_neon.h (vrev16_p8, vrev16_s8, vrev16_u8,
vrev16q_p8, vrev16q_s8, vrev16q_u8, vrev32_p8, vrev32_p16, vrev32_s8,
vrev32_s16, vrev32_u8, vrev32_u16, vrev32q_p8, vrev32q_p16, vrev32q_s8,
vrev32q_s16, vrev32q_u8, vrev32q_u16, vrev64_f32, vrev64_p8,
vrev64_p16, vrev64_s8, vrev64_s16, vrev64_s32, vrev64_u8, vrev64_u16,
vrev64_u32, vrev64q_f32, vrev64q_p8, vrev64q_p16, vrev64q_s8,
vrev64q_s16, vrev64q_s32, vrev64q_u8, vrev64q_u16, vrev64q_u32):
Replace temporary __asm__ with __builtin_shuffle.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211174
138bc75d-0d04-0410-961f-
82ee72b054a4
abennett [Tue, 3 Jun 2014 11:10:05 +0000 (11:10 +0000)]
Add support for MIPS r3 and r5.
2014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
* config/mips/mips-cpus.def: Add mips32r3, mips32r5, mips64r3 and
mips64r5.
* config/mips/mips-tables.opt: Regenerate.
* config/mips/mips.c (mips_compute_frame_info): Changed if statement
to use mips_isa_rev rather than ISA_MIPS32R2.
* config/mips/mips.h (ISA_MIPS32R3): New define.
(ISA_MIPS32R5): New define.
(ISA_MIPS64R3): New define.
(ISA_MIPS64R5): New define.
(TARGET_CPU_CPP_BUILTINS): Added support for ISA_MIPS32R3, ISA_MIPS32R5,
ISA_MIPS64R3 and ISA_MIPS64R5.
(MIPS_ISA_LEVEL_SPEC): Added support for mips32r3, mips32r5, mips64r3
and mips64r5.
(MIPS_ISA_SYNCI_SPEC): Likewise.
(ISA_HAS_64BIT_REGS): Added ISA_MIPS64R3 and ISA_MIPS64R5.
(LINK_SPEC): Added mips32r3 and mips32r5.
* config/mips/t-isa3264 (MULTILIB_MATCHES): Map mips32r3 and mips32r5
to mips32r2; and mips64r3 and mips64r5 to mips64r2.
* config/mips/t-mti-elf (MULTILIB_MATCHES): Likewise.
* config/mips/t-mti-linux (MULTILIB_MATCHES): Likewise.
* config/mips/t-sde (MULTILIB_MATCHES): Likewise.
* config/mips/t-sdemtk (MULTILIB_MATCHES): New define.
* doc/invoke.texi: Document mips32r3, mips32r5, mips64r3 and mips64r5.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211173
138bc75d-0d04-0410-961f-
82ee72b054a4
abennett [Tue, 3 Jun 2014 10:22:09 +0000 (10:22 +0000)]
Add support for the MIPS -mxpa command line option.
2014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
* doc/invoke.texi: Document -mxpa and -mno-xpa MIPS command line
options.
* config/mips/mips.opt (mxpa): New option.
* config/mips/mips.h (ASM_SPEC): Pass mxpa and mno-xpa to the
assembler.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211172
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Tue, 3 Jun 2014 10:09:20 +0000 (10:09 +0000)]
2014-06-03 Martin Jambor <mjambor@suse.cz>
PR ipa/61160
* ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to
thunks.
testsuite/
* g++.dg/ipa/pr61160-1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211170
138bc75d-0d04-0410-961f-
82ee72b054a4
abennett [Tue, 3 Jun 2014 09:37:13 +0000 (09:37 +0000)]
Add myself to the MAINTAINERS file.
2014-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
* MAINTAINERS (Write After Approval): Add myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211167
138bc75d-0d04-0410-961f-
82ee72b054a4
thopre01 [Tue, 3 Jun 2014 09:29:06 +0000 (09:29 +0000)]
2014-06-03 Thomas Preud'homme <thomas.preudhomme@arm.com>
PR tree-optimization/61328
* tree-ssa-math-opts.c (init_symbolic_number): Extract symbolic number
initialization from find_bswap_or_nop_1.
(find_bswap_or_nop_1): Test return value of find_bswap_or_nop_1 stored
in source_expr2 before using the size value the function sets. Also
make use of init_symbolic_number () in both the old place and
find_bswap_or_nop_load () to avoid reading uninitialized memory when
doing recursion in the GIMPLE_BINARY_RHS case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211166
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 3 Jun 2014 08:48:28 +0000 (08:48 +0000)]
2014-06-03 Richard Biener <rguenther@suse.de>
PR tree-optimization/61383
* tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure
stmts can't trap.
* gcc.dg/torture/pr61383-1.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211163
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 3 Jun 2014 07:27:13 +0000 (07:27 +0000)]
gcc/
* defaults.h (USE_MD_CONSTRAINTS, EXTRA_MEMORY_CONSTRAINT)
(EXTRA_ADDRESS_CONSTRAINT, DEFAULT_CONSTRAINT_LEN, CONSTRAINT_LEN)
(CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER_P)
(REG_CLASS_FROM_CONSTRAINT, EXTRA_CONSTRAINT_STR): Delete definitions
in this file.
(REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P)
(CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Move poising to...
* system.h: ...here and make it unconditional.
* target.def (conditional_register_usage): Mention
define_register_constraint instead of old-style constraint macros.
* doc/tm.texi.in: Remove documentation for old-style constraint macros.
* doc/tm.texi: Regenerate.
* genoutput.c: Remove USE_MD_CONSTRAINTS conditions and all code
protected by !USE_MD_CONSTRAINTS.
* config/frv/frv.md: Remove quote from old version of documentation.
* config/frv/frv.c (frv_conditional_register_usage): Likewise.
* config/m32r/m32r.c (easy_di_const, easy_df_const): Avoid mentioning
CONST_DOUBLE_OK_FOR_LETTER.
* config/sh/constraints.md: Likewise EXTRA_CONSTRAINT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211161
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 3 Jun 2014 04:57:39 +0000 (04:57 +0000)]
PR c++/61046
* decl.c (reshape_init_class): Handle un-folded
constant-expressions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211160
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 3 Jun 2014 04:57:32 +0000 (04:57 +0000)]
PR c++/61134
* pt.c (pack_deducible_p): Handle canonicalization.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211159
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 3 Jun 2014 02:31:01 +0000 (02:31 +0000)]
2014-06-02 Paolo Carlini <paolo.carlini@oracle.com>
* pt.c (tsubst_function_type): Initialize arg_types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211158
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 3 Jun 2014 00:17:07 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211157
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Tue, 3 Jun 2014 00:06:41 +0000 (00:06 +0000)]
Fix formating in my last changelog entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211153
138bc75d-0d04-0410-961f-
82ee72b054a4
schwab [Mon, 2 Jun 2014 22:38:30 +0000 (22:38 +0000)]
* gcc.target/powerpc/vsxcopy.c (dg-options): Add -mvsx.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211152
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 2 Jun 2014 22:10:57 +0000 (22:10 +0000)]
PR debug/57519
* class.c (handle_using_decl): Pass the correct scope to
cp_emit_debug_info_for_using.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211151
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Mon, 2 Jun 2014 21:24:41 +0000 (21:24 +0000)]
2014-06-02 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER):
/lib/ld-linux32-aarch64.so.1 is used for ILP32.
(LINUX_TARGET_LINK_SPEC): Update linker script for ILP32.
file whose name depends on -mabi= and -mbig-endian.
* config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES):
Handle LP64 better and handle ilp32 too.
(MULTILIB_OPTIONS): Delete.
(MULTILIB_DIRNAMES): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211148
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 2 Jun 2014 20:47:55 +0000 (20:47 +0000)]
PR c++/59483
PR c++/61148
* search.c (accessible_p): Use current_nonlambda_class_type.
* semantics.c (check_accessibility_of_qualified_id): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211147
138bc75d-0d04-0410-961f-
82ee72b054a4
amacleod [Mon, 2 Jun 2014 20:13:44 +0000 (20:13 +0000)]
* expr.h: Remove prototypes of functions defined in builtins.c.
* tree.h: (build_call_expr_*, build_string_literal): Add prototypes.
Remove prototypes of functions defined in builtins.c.
* builtins.h: Update prototype list to include all exported functions.
* builtins.c: (default_libc_has_function, gnu_libc_has_function,
no_c99_libc_has_function): Move to targhooks.c
(build_string_literal, build_call_expr_loc_array,
build_call_expr_loc_vec, build_call_expr_loc, build_call_expr): Move
to tree.c.
(expand_builtin_object_size, fold_builtin_object_size): Make static.
* targhooks.c (default_libc_has_function, gnu_libc_has_function,
no_c99_libc_has_function): Relocate from builtins.c.
* tree.c: Include builtins.h.
(build_call_expr_loc_array, build_call_expr_loc_vec,
build_call_expr_loc, build_call_expr, build_string_literal): Relocate
from builtins.c.
* fold-const.h (fold_fma): Move prototype to builtins.h.
* realmpfr.h (do_mpc_arg2): Move prototype to builtins.h.
* fortran/trans.c (trans_runtime_error_vararg): Call
fold_build_call_array_loc instead of fold_builtin_call_array.
* asan.c: Include builtins.h.
* cfgexpand.c: Likewise.
* convert.c: Likewise.
* emit-rtl.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* fold-const.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* gimplify.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-prop.c: Likewise.
* lto-streamer-out.c: Likewise.
* stmt.c: Likewise.
* tree-inline.c: Likewise.
* tree-object-size.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-streamer-in.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-stmts.c: Likewise.
c
* c-decl.c: Include builtins.h.
* c-parser.c: Likewise.
cp
* decl.c: Include builtins.h.
* semantics.c: Likewise.
go
* go-gcc.cc: Include builtins.h.
lto
* lto-symtab.c: Include builtins.h.
config
* aarch64/aarch64.c: Include builtins.h.
* alpha/alpha.c: Likewise.
* arc/arc.c: Likewise.
* arm/arm.c: Likewise.
* avr/avr.c: Likewise.
* bfin/bfin.c: Likewise.
* c6x/c6x.c: Likewise.
* cr16/cr16.c: Likewise.
* cris/cris.c: Likewise.
* epiphany/epiphany.c: Likewise.
* fr30/fr30.c: Likewise.
* frv/frv.c: Likewise.
* h8300/h8300.c: Likewise.
* i386/i386.c: Likewise.
* i386/winnt.c: Likewise.
* ia64/ia64.c: Likewise.
* iq2000/iq2000.c: Likewise.
* lm32/lm32.c: Likewise.
* m32c/m32c.c: Likewise.
* m32r/m32r.c: Likewise.
* m68k/m68k.c: Likewise.
* mcore/mcore.c: Likewise.
* mep/mep.c: Likewise.
* microblaze/microblaze.c: Likewise.
* mips/mips.c: Likewise.
* mmix/mmix.c: Likewise.
* mn10300/mn10300.c: Likewise.
* moxie/moxie.c: Likewise.
* msp430/msp430.c: Likewise.
* nds32/nds32.c: Likewise.
* pa/pa.c: Likewise.
* pdp11/pdp11.c: Likewise.
* picochip/picochip.c: Likewise.
* rl78/rl78.c: Likewise.
* rs6000/rs6000.c: Likewise.
* rx/rx.c: Likewise.
* s390/s390.c: Likewise.
* score/score.c: Likewise.
* sh/sh.c: Likewise.
* sparc/sparc.c: Likewise.
* spu/spu.c: Likewise.
* stormy16/stormy16.c: Likewise.
* tilegx/tilegx.c: Likewise.
* tilepro/tilepro.c: Likewise.
* v850/v850.c: Likewise.
* vax/vax.c: Likewise.
* xtensa/xtensa.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211145
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 2 Jun 2014 19:36:14 +0000 (19:36 +0000)]
* include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
members to avoid wasted space when not using a cache.
(__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
* include/bits/regex_compiler.tcc
(__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
search on set.
* include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
New enumeration type to indicate match mode.
(__detail::_Executor::_State_info): New type holding members only
needed in BFS-mode. Replace unique_ptr<vector<bool>> with
unique_ptr<bool[]>.
(__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
Replace template parameter with run-time function parameter.
(__detail::_Executor::_M_main): Likewise. Dispatch to ...
(__detail::_Executor::_M_main_dispatch): New overloaded functions to
implement DFS and BFS mode.
* include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
Split implementation into ...
(__detail::_Executor::_M_main_dispatch): New overloaded functions.
(__detail::_Executor::_M_lookahead): Create nested executor on stack.
(__detail::_Executor::_M_rep_once_more): Pass match mode as function
argument instead of template argument.
(__detail::_Executor::_M_dfs): Likewise.
* include/bits/regex_scanner.tcc: Fix typos in comments.
* testsuite/performance/28_regex/range.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211143
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 2 Jun 2014 19:12:08 +0000 (19:12 +0000)]
PR rtl-optimization/61094
* ree.c (combine_reaching_defs): Do not reextend an insn if it
was marked as do_no_reextend. If a copy is needed to eliminate
an extension, then mark it as do_not_reextend.
PR rtl-optimization/61094
* g++.dg/pr61094: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211142
138bc75d-0d04-0410-961f-
82ee72b054a4
mshawcroft [Mon, 2 Jun 2014 16:40:06 +0000 (16:40 +0000)]
[AArch64] Remove ISB after FPCR write.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211140
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 2 Jun 2014 16:27:41 +0000 (16:27 +0000)]
PR target/61336
* config/alpha/alpha.c (print_operand_address): Allow symbolic
addresses inside asms. Use output_operand_lossage instead of
gcc_unreachable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211139
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 2 Jun 2014 15:45:09 +0000 (15:45 +0000)]
* include/std/condition_variable (condition_variable_any::_Unlock): Do
not swallow __forced_unwind.
* include/std/future (__future_base::_Task_setter): Likewise.
(__future_base::_Async_state_impl): Turn __forced_unwind into broken
promise and rethrow.
* include/std/mutex (try_lock): Likewise.
* testsuite/30_threads/async/forced_unwind.cc: New.
* testsuite/30_threads/packaged_task/forced_unwind.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211138
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 2 Jun 2014 13:55:14 +0000 (13:55 +0000)]
2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
Jonathan Wakely <jwakely@redhat.com>
* libstdc++-v3/include/std/type_traits (__strictest_alignment): New
helper struct.
(aligned_union): New struct (C++11).
(aligned_union_t): New type alias (C++14).
* doc/xml/manual/status_cxx2011.xml: Update.
* libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211137
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 2 Jun 2014 13:40:49 +0000 (13:40 +0000)]
* gcc.target/i386/xop-rotate1-vector.c (dg-options): Add -mno-avx2.
* gcc.target/i386/xop-rotate2-vector.c (dg-options): Ditto.
* gcc.target/i386/xop-rotate3-vector.c (dg-options): Ditto.
* gcc.target/i386/xop-imul32widen-vector.c (dg-options): Ditto.
* gcc.target/i386/xop-imul64-vector.c (dg-options): Ditto.
* gcc.target/i386/xop-shift1-vector.c (dg-options): Ditto.
* gcc.target/i386/xop-shift2-vector.c (dg-options): Ditto.
* gcc.target/i386/xop-shift3-vector.c (dg-options): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211136
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 2 Jun 2014 13:22:34 +0000 (13:22 +0000)]
PR target/61239
* config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211134
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Mon, 2 Jun 2014 13:13:43 +0000 (13:13 +0000)]
Fix ICE in aarch64_float_const_representable_p
2014-06-02 Tom de Vries <tom@codesourcery.com>
* config/aarch64/aarch64.c (aarch64_float_const_representable_p): Handle
case that x has VOIDmode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211132
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Mon, 2 Jun 2014 12:06:20 +0000 (12:06 +0000)]
Fix a decl to match the calls to it.
* trans-decl.c (gfc_build_builtin_function_decls): Correct number of
arguments to caf_init.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211131
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Mon, 2 Jun 2014 12:06:11 +0000 (12:06 +0000)]
Delete a copy that looks like a relic from obstack times.
* varasm.c (copy_constant): Delete function.
(build_constant_desc): Don't call it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211130
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Mon, 2 Jun 2014 08:22:30 +0000 (08:22 +0000)]
Fix PR target/61154
2014-06-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/61154
* config/arm/arm.h (TARGET_SUPPORTS_WIDE_INT): Define.
* config/arm/arm.md (mov64 splitter): Replace const_double_operand
with immediate_operand.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211129
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 2 Jun 2014 08:07:23 +0000 (08:07 +0000)]
2014-06-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/61346
* gcc.dg/torture/pr61346.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211128
138bc75d-0d04-0410-961f-
82ee72b054a4
schwab [Mon, 2 Jun 2014 07:53:26 +0000 (07:53 +0000)]
* config/ia64/ia64.c
(ia64_first_cycle_multipass_dfa_lookahead_guard): Check
pending_data_specs first.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211127
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 2 Jun 2014 07:45:15 +0000 (07:45 +0000)]
2014-06-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/61378
* tree-ssa-sccvn.c (vn_reference_lookup_3): Initialize
valueized_anything.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211126
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 2 Jun 2014 00:17:19 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211125
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Sun, 1 Jun 2014 22:35:42 +0000 (22:35 +0000)]
* include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
(__uses_allocator_arg): Remove unused type.
(__uses_alloc0): Turn into a trivial type.
(__uses_alloc): Add missing template parameter in primary template.
(__uses_alloc_impl): Rename to __uses_alloc_t.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211121
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 1 Jun 2014 21:14:02 +0000 (21:14 +0000)]
* gcc.target/i386/sibcall-2.c: Xfail dg-final scan-assembler-not,
not compilation.
* gcc.target/i386/sibcall-4.c: Ditto.
* gcc.target/i386/fuse-caller-save.c: Add -mregparm=1 for ia32 target.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211120
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 1 Jun 2014 20:53:18 +0000 (20:53 +0000)]
* config/i386/constraints.md (Bw): Rename from 'w'.
(Bz): Rename from 'z'.
* config/i386/i386.md: Change 'w' to 'Bw' and 'z' to 'Bz' globally.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211119
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 1 Jun 2014 20:37:41 +0000 (20:37 +0000)]
* gcc.target/i386/sibcall-2.c (dg-final): Properly escape '[' and ']'
in scan-assembler-not string.
* gcc.target/i386/sibcall-3.c (dg-final): Ditto.
* gcc.target/i386/sibcall-4.c (dg-final): Ditto.
* gcc.target/i386/sibcall-6.c (dg-final): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211118
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 1 Jun 2014 19:48:53 +0000 (19:48 +0000)]
* Add missing ChangeLog entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211117
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Sun, 1 Jun 2014 19:09:59 +0000 (19:09 +0000)]
2014-06-01 Ray Donnelly <mingw.android@gmail.com>
* pex-win32.c (argv_to_cmdline): Don't quote
args unnecessarily
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211116
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 1 Jun 2014 18:12:00 +0000 (18:12 +0000)]
* g++.dg/pr60969.C (dg-do compile): Change ilp32 target to ia32.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211114
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Sun, 1 Jun 2014 17:23:41 +0000 (17:23 +0000)]
PR libstdc++/61374
* include/experimental/string_view (operator basic_string): Correct
order of arguments.
(to_string): Replace with member function.
Add inline specifiers. Remove unused header. Remove _S_empty_rep and
allow _M_str to be null.
* testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
default constructor semantics.
* testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
* testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
copyright dates. Remove unused header.
* testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/data/char/1.cc:
Fix copyright dates. Adjust to new default constructor semantics.
* testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/to_string/1.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211113
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Sun, 1 Jun 2014 10:36:55 +0000 (10:36 +0000)]
PR target/61377
* constrains.md (define_constrain): New 'Bs' constraint.
* i386.md (sibcall_insn_operand): Use Bs instead of m constraint.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211112
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Sun, 1 Jun 2014 10:35:19 +0000 (10:35 +0000)]
PR target/61377
* gcc.target/i386/sibcall-6.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211111
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 1 Jun 2014 00:17:25 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211110
138bc75d-0d04-0410-961f-
82ee72b054a4
schwab [Sat, 31 May 2014 12:08:25 +0000 (12:08 +0000)]
Summary: m68k: add missing early clobber in beq0_di, bne0_di patterns
* config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint
a separate alternative where the scratch operand 2 is marked as
early clobber.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211104
138bc75d-0d04-0410-961f-
82ee72b054a4
kugan [Sat, 31 May 2014 09:27:52 +0000 (09:27 +0000)]
gcc/
2014-05-31 Kugan Vivekanandarajah <kuganv@linaro.org>
* config/arm/arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
(arm_builtins) : Add ARM_BUILTIN_GET_FPSCR and ARM_BUILTIN_SET_FPSCR.
(bdesc_2arg) : Add description for builtins __builtins_arm_set_fpscr
and __builtins_arm_get_fpscr.
(arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
__builtins_arm_get_fpscr.
(arm_expand_builtin) : Expand builtins __builtins_arm_set_fpscr and
__builtins_arm_ldfpscr.
(arm_atomic_assign_expand_fenv): New function.
* config/arm/vfp.md (set_fpscr): New pattern.
(get_fpscr) : Likewise.
* config/arm/unspecs.md (unspecv): Add VUNSPEC_GET_FPSCR and
VUNSPEC_SET_FPSCR.
* doc/extend.texi (AARCH64 Built-in Functions) : Document
__builtins_arm_set_fpscr, __builtins_arm_get_fpscr.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211103
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sat, 31 May 2014 08:51:20 +0000 (08:51 +0000)]
/cp
2014-05-31 Paolo Carlini <paolo.carlini@oracle.com>
DR 1227
PR c++/57543
* cp-tree.h (TYPE_HAS_LATE_RETURN_TYPE): Add.
* pt.c (tsubst_function_type): Inject the this parameter; do the
substitutions in the order mandated by the DR.
(copy_default_args_to_explicit_spec): Copy TYPE_HAS_LATE_RETURN_TYPE.
* decl.c (grokdeclarator): Maybe set TYPE_HAS_LATE_RETURN_TYPE.
(static_fn_type): Copy it.
* decl2.c (build_memfn_type, change_return_type,
cp_reconstruct_complex_type): Likewise.
* parser.c (cp_parser_lambda_declarator_opt): Likewise.
* tree.c (strip_typedefs): Likewise.
* typeck.c (merge_types): Likewise.
/testsuite
2014-05-31 Paolo Carlini <paolo.carlini@oracle.com>
DR 1227
PR c++/57543
* g++.dg/cpp0x/pr57543-1.C: New.
* g++.dg/cpp0x/pr57543-2.C: Likewise.
* g++.dg/cpp0x/pr57543-3.C: Likewise.
* g++.dg/cpp0x/decltype59.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211102
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 31 May 2014 00:17:15 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211101
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 30 May 2014 22:58:46 +0000 (22:58 +0000)]
Add missing closing brace
2014-05-31 Tom de Vries <tom@codesourcery.com>
* gcc.target/i386/sibcall-4.c: Add missing closing brace.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211097
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 30 May 2014 19:26:15 +0000 (19:26 +0000)]
* doc/xml/manual/appendix_contributing.xml (list.copyright): Add
Paolo's address too.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211095
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 30 May 2014 18:55:56 +0000 (18:55 +0000)]
PR c++/56947
* pt.c (instantiate_decl): Check that defer_ok is not set for
local class members.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211094
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 30 May 2014 18:40:20 +0000 (18:40 +0000)]
* lib/target-libpath.exp (set_gcc_exec_prefix_env_var,
restore_gcc_exec_prefix_env_var): New procedures.
(set_ld_library_path_env_vars,
restore_ld_library_path_env_vars): Use them.
* lib/c-compat.exp: Load target-libpath.exp.
(compat-use-alt-compiler): Call restore_gcc_exec_prefix_env_var.
(compat-use-tst-compiler): Call set_gcc_exec_prefix_env_var.
* g++.dg/compat/compat.exp (compat-use-alt-compiler): Call
restore_gcc_exec_prefix_env_var.
* g++.dg/compat/struct-layout-1.exp (compat-use-alt-compiler):
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211093
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 30 May 2014 18:37:59 +0000 (18:37 +0000)]
* asan.c (report_error_func): Add SLOW_P argument, use
BUILT_IN_ASAN_*_N if set.
(build_check_stmt): Likewise.
(instrument_derefs): If T has insufficient alignment,
force same handling as for odd sizes.
* c-c++-common/asan/misalign-1.c: New test.
* c-c++-common/asan/misalign-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211092
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 30 May 2014 18:37:05 +0000 (18:37 +0000)]
* sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
BUILT_IN_ASAN_REPORT_STORE_N): New.
* asan.c (struct asan_mem_ref): Change access_size type to
HOST_WIDE_INT.
(asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
update_mem_ref_hash_table): Likewise.
(asan_mem_ref_hasher::hash): Hash in a HWI.
(report_error_func): Change size_in_bytes argument to HWI.
Use *_N builtins if size_in_bytes is larger than 16 or not power of
two.
(build_shadow_mem_access): New function.
(build_check_stmt): Use it. Change size_in_bytes argument to HWI.
Handle size_in_bytes not power of two or larger than 16.
(instrument_derefs): Don't give up if size_in_bytes is not
power of two or is larger than 16.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211091
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 30 May 2014 18:36:24 +0000 (18:36 +0000)]
* g++.dg/asan/asan_test.C: Add -std=c++11 and
-DSANITIZER_USE_DEJAGNU_GTEST=1 to dg-options, remove
-DASAN_USE_DEJAGNU_GTEST=1.
* g++.dg/asan/asan_mem_test.cc: Updated from upstream
r209283.
* g++.dg/asan/asan_oob_test.cc: Likewise.
* g++.dg/asan/sanitizer_test_utils.h: Likewise.
* g++.dg/asan/asan_str_test.cc: Likewise.
* g++.dg/asan/asan_test_utils.h: Likewise.
* g++.dg/asan/sanitizer_test_config.h: Likewise.
* g++.dg/asan/asan_test.cc: Likewise. Allow size 12
for long double.
* g++.dg/asan/sanitizer_pthread_wrappers.h: New file.
Imported from upstream r209283.
* g++.dg/asan/asan_test_config.h: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211090
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Fri, 30 May 2014 18:00:11 +0000 (18:00 +0000)]
PR target/60104
* config/i386/i386.c (x86_output_mi_thunk): Add memory case
for sibling-tail-calls.
* config/i386/i386.md (sibcall_insn_operand): Add memory-constrain
to its use.
* config/i386/predicates.md (sibcall_memory_operand): New predicate.
(sibcall_insn_operand): Add check for sibcall_memory_operand.
PR target/60104
* gcc.target/i386/sibcall-1.c: New test.
* gcc.target/i386/sibcall-2.c: New test.
* gcc.target/i386/sibcall-3.c: New test.
* gcc.target/i386/sibcall-4.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211089
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 30 May 2014 17:16:14 +0000 (17:16 +0000)]
PR libstdc++/61011
* configure.ac (--disable-libstdcxx): Set noconfigdirs correctly.
Disable libcilkrts, libitm, libsanitizer when not building libstdc++.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211087
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 30 May 2014 16:58:58 +0000 (16:58 +0000)]
* doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
Benjamin's old email address.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211086
138bc75d-0d04-0410-961f-
82ee72b054a4
denisc [Fri, 30 May 2014 16:36:05 +0000 (16:36 +0000)]
* config/avr/avr-mcus.def: Change ATA6289 ISA to AVR4
* config/avr/avr-tables.opt: Regenerate.
* config/avr/t-multilib: Regenerate.
* doc/avr-mmcu.texi: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211085
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 30 May 2014 15:09:40 +0000 (15:09 +0000)]
PR c++/60992
* pt.c (tsubst_init): Split out from...
(tsubst_expr) [DECL_EXPR]: Here.
(tsubst_copy) [VAR_DECL]: Use it.
* semantics.c (finish_id_expression): Return the decl for static/const.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211084
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 30 May 2014 13:53:58 +0000 (13:53 +0000)]
runtime: Use _mm_pause rather than __builtin_ia32_pause.
Based on a patch from Peter Collingbourne.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211081
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 30 May 2014 13:48:22 +0000 (13:48 +0000)]
* sanitizer_common/sanitizer_stacktrace.cc: Cherry pick upstream
r209879.
* sanitizer_common/sanitizer_common.h: Likewise.
* asan/asan_mapping.h: Likewise.
* asan/asan_linux.cc: Likewise.
* tsan/tsan_mman.cc: Cherry pick upstream r209744.
* sanitizer_common/sanitizer_allocator.h: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211080
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 30 May 2014 13:11:05 +0000 (13:11 +0000)]
gcc/:
* config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma
target("sse").
testsuite/:
* gcc.target/i386/pause-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211079
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 30 May 2014 11:39:49 +0000 (11:39 +0000)]
-fuse-caller-save - Enable for i386
2014-05-30 Tom de Vries <tom@codesourcery.com>
* config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
Redefine as true.
* gcc.target/i386/fuse-caller-save.c: New test.
* gcc.dg/ira-shrinkwrap-prep-1.c: Run with -fno-use-caller-save.
* gcc.dg/ira-shrinkwrap-prep-2.c: Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211078
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 30 May 2014 11:11:15 +0000 (11:11 +0000)]
* testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
work with previous versions of Tcl.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211077
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 30 May 2014 11:11:10 +0000 (11:11 +0000)]
* generate_libstdcxx_web_docs: New script.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211076
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Fri, 30 May 2014 09:49:49 +0000 (09:49 +0000)]
Add execution tests of ARM REV intrinsics.
gcc.target/arm/simd/vrev16p8_1.c: New file.
gcc.target/arm/simd/vrev16qp8_1.c: New file.
gcc.target/arm/simd/vrev16qs8_1.c: New file.
gcc.target/arm/simd/vrev16qu8_1.c: New file.
gcc.target/arm/simd/vrev16s8_1.c: New file.
gcc.target/arm/simd/vrev16u8_1.c: New file.
gcc.target/arm/simd/vrev32p16_1.c: New file.
gcc.target/arm/simd/vrev32p8_1.c: New file.
gcc.target/arm/simd/vrev32qp16_1.c: New file.
gcc.target/arm/simd/vrev32qp8_1.c: New file.
gcc.target/arm/simd/vrev32qs16_1.c: New file.
gcc.target/arm/simd/vrev32qs8_1.c: New file.
gcc.target/arm/simd/vrev32qu16_1.c: New file.
gcc.target/arm/simd/vrev32qu8_1.c: New file.
gcc.target/arm/simd/vrev32s16_1.c: New file.
gcc.target/arm/simd/vrev32s8_1.c: New file.
gcc.target/arm/simd/vrev32u16_1.c: New file.
gcc.target/arm/simd/vrev32u8_1.c: New file.
gcc.target/arm/simd/vrev64f32_1.c: New file.
gcc.target/arm/simd/vrev64p16_1.c: New file.
gcc.target/arm/simd/vrev64p8_1.c: New file.
gcc.target/arm/simd/vrev64qf32_1.c: New file.
gcc.target/arm/simd/vrev64qp16_1.c: New file.
gcc.target/arm/simd/vrev64qp8_1.c: New file.
gcc.target/arm/simd/vrev64qs16_1.c: New file.
gcc.target/arm/simd/vrev64qs32_1.c: New file.
gcc.target/arm/simd/vrev64qs8_1.c: New file.
gcc.target/arm/simd/vrev64qu16_1.c: New file.
gcc.target/arm/simd/vrev64qu32_1.c: New file.
gcc.target/arm/simd/vrev64qu8_1.c: New file.
gcc.target/arm/simd/vrev64s16_1.c: New file.
gcc.target/arm/simd/vrev64s32_1.c: New file.
gcc.target/arm/simd/vrev64s8_1.c: New file.
gcc.target/arm/simd/vrev64u16_1.c: New file.
gcc.target/arm/simd/vrev64u32_1.c: New file.
gcc.target/arm/simd/vrev64u8_1.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211075
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 30 May 2014 08:43:05 +0000 (08:43 +0000)]
-fuse-caller-save - Support in lra
2014-05-30 Tom de Vries <tom@codesourcery.com>
* lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
* lra.c (initialize_lra_reg_info_element): Add init of
actual_call_used_reg_set field.
(lra): Call lra_create_live_ranges before lra_inheritance for
-fuse-caller-save.
* lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
-fuse-caller-save.
* lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
instead of call_used_reg_set for -fuse-caller-save.
* lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211074
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Fri, 30 May 2014 08:31:38 +0000 (08:31 +0000)]
[ARM] Use mov_imm type for movw operations consistently
* config/arm/thumb2.md (*thumb2_movhi_insn): Set type of movw
to mov_imm.
* config/arm/vfp.md (*thumb2_movsi_vfp): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211073
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Fri, 30 May 2014 07:35:47 +0000 (07:35 +0000)]
gcc/
* ira.c (ira_get_dup_out_num): Check for output operands at
the start of the loop. Handle cases where an included alternative
follows an excluded one.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211072
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 30 May 2014 00:17:10 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211071
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Thu, 29 May 2014 23:20:39 +0000 (23:20 +0000)]
PR debug/61352
* collect2.c (maybe_run_lto_and_relink): Be sure to always run
post ld passes when lto is used.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211067
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 29 May 2014 20:22:27 +0000 (20:22 +0000)]
runtime: add the --without-libatomic configure option
This adds the --without-libatomic configure option, which is useful for building libgo
with a non-gcc compiler.
It disables libgo's dependency on libatomic. This
is useful for platforms where it is known that the libatomic runtime
functions are not required, or where the compiler automatically
provides an implementation of them.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211065
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Thu, 29 May 2014 17:37:23 +0000 (17:37 +0000)]
2014-05-29 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/61325
* lra-constraints.c (process_address): Rename to
process_address_1.
(process_address): New function.
2014-05-29 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/61325
* gcc.target/aarch64/pr61325.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211061
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Thu, 29 May 2014 17:24:34 +0000 (17:24 +0000)]
Add execution tests of ARM EXT intrinsics
gcc.target/arm/simd/vextQf32_1.c: New file.
gcc.target/arm/simd/vextQp16_1.c: New file.
gcc.target/arm/simd/vextQp8_1.c: New file.
gcc.target/arm/simd/vextQs16_1.c: New file.
gcc.target/arm/simd/vextQs32_1.c: New file.
gcc.target/arm/simd/vextQs64_1.c: New file.
gcc.target/arm/simd/vextQs8_1.c: New file.
gcc.target/arm/simd/vextQu16_1.c: New file.
gcc.target/arm/simd/vextQu32_1.c: New file.
gcc.target/arm/simd/vextQu64_1.c: New file.
gcc.target/arm/simd/vextQu8_1.c: New file.
gcc.target/arm/simd/vextQp64_1.c: New file.
gcc.target/arm/simd/vextf32_1.c: New file.
gcc.target/arm/simd/vextp16_1.c: New file.
gcc.target/arm/simd/vextp8_1.c: New file.
gcc.target/arm/simd/vexts16_1.c: New file.
gcc.target/arm/simd/vexts32_1.c: New file.
gcc.target/arm/simd/vexts64_1.c: New file.
gcc.target/arm/simd/vexts8_1.c: New file.
gcc.target/arm/simd/vextu16_1.c: New file.
gcc.target/arm/simd/vextu32_1.c: New file.
gcc.target/arm/simd/vextu64_1.c: New file.
gcc.target/arm/simd/vextu8_1.c: New file.
gcc.target/arm/simd/vextp64_1.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211059
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Thu, 29 May 2014 16:57:42 +0000 (16:57 +0000)]
Detect EXT patterns to vec_perm_const, use for EXT intrinsics
* config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers,
TYPES_BINOPV): New static data.
* config/aarch64/aarch64-simd-builtins.def (im_lane_bound): New builtin.
* config/aarch64/aarch64-simd.md (aarch64_ext, aarch64_im_lane_boundsi):
New patterns.
* config/aarch64/aarch64.c (aarch64_expand_vec_perm_const_1): Match
patterns for EXT.
(aarch64_evpc_ext): New function.
* config/aarch64/iterators.md (UNSPEC_EXT): New enum element.
* config/aarch64/arm_neon.h (vext_f32, vext_f64, vext_p8, vext_p16,
vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32,
vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8,
vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32,
vextq_u64): Replace __asm with __builtin_shuffle and im_lane_boundsi.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211058
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Thu, 29 May 2014 16:32:16 +0000 (16:32 +0000)]
Fix rtl-check build
2014-05-29 Tom de Vries <tom@codesourcery.com>
* rtl.h (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_FLAGS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211057
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Thu, 29 May 2014 14:04:43 +0000 (14:04 +0000)]
* include/tr2/bool_set: Use UTF-8 for accented characters.
* scripts/run_doxygen: Handle Doxygen 1.8.x change.
* doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211053
138bc75d-0d04-0410-961f-
82ee72b054a4
aph [Thu, 29 May 2014 11:50:22 +0000 (11:50 +0000)]
2014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com>
Andrew Haley <aph@redhat.com>
Richard Sandiford <rdsandiford@googlemail.com>
* doc/extend.texi: Rewrite inline asm page / re-org asm-related
pages.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211051
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Thu, 29 May 2014 09:39:07 +0000 (09:39 +0000)]
* arm/iterators.md (shiftable_ops): New code iterator.
(t2_binop0, arith_shift_insn): New code attributes.
* arm/predicates.md (shift_nomul_operator): New predicate.
* arm/arm.md (insn_enabled): Delete.
(enabled): Remove insn_enabled test.
(*arith_shiftsi): Delete. Replace with ...
(*<arith_shift_insn>_multsi): ... new pattern.
(*<arith_shift_insn>_shiftsi): ... new pattern.
* config/arm/arm.c (arm_print_operand): Handle operand format 'b'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211050
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Thu, 29 May 2014 08:59:08 +0000 (08:59 +0000)]
-fuse-caller-save - Enable for MIPS
2014-05-29 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* config/mips/mips.h (POST_CALL_TMP_REG): Define.
* config/mips/mips.c (mips_emit_call_insn): Add POST_CALL_TMP_REG
clobber.
(mips_split_call): Use POST_CALL_TMP_REG.
(TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine to true.
* gcc.target/mips/mips.exp: Add use-caller-save to -ffoo/-fno-foo
options.
* gcc.target/mips/fuse-caller-save.h: New include file.
* gcc.target/mips/fuse-caller-save.c: New test.
* gcc.target/mips/fuse-caller-save-mips16.c: Same.
* gcc.target/mips/fuse-caller-save-micromips.c: Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211049
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Thu, 29 May 2014 08:53:02 +0000 (08:53 +0000)]
gcc/testsuite/
* gcc.dg/vect/pr52252-ld.c: Fix target and options for the test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211048
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Thu, 29 May 2014 08:25:05 +0000 (08:25 +0000)]
Fix bootstrap on powerpc64le-linux-gnu
2014-05-29 Tom de Vries <tom@codesourcery.com>
* final.c (collect_fn_hard_reg_usage): Guard variable declaration
with #ifdef STACK_REGS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211047
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 29 May 2014 06:14:52 +0000 (06:14 +0000)]
* varasm.c (get_variable_section): Walk aliases.
(place_block_symbol): Walk aliases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211045
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 29 May 2014 00:16:57 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211041
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 29 May 2014 00:03:30 +0000 (00:03 +0000)]
runtime: disable split stacks for runtime_printf function under Clang
LLVM's code generator does not currently support split stacks for vararg
functions, so we disable split stacks for the only function that uses this
feature under Clang. This appears to be OK as long as:
- this function only calls non-inlined, internal-linkage (hence no dynamic
loader) functions compiled with split stacks (i.e. go_vprintf), which can
allocate more stack space as required;
- this function itself does not occupy more than BACKOFF bytes of stack space
(see libgcc/config/i386/morestack.S).
These conditions are currently known to be satisfied by Clang on x86-32 and
x86-64. Note that signal handlers receive slightly less stack space than they
would normally do if they happen to be called while this function is being
run. If this turns out to be a problem we could consider increasing BACKOFF.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211037
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 28 May 2014 23:10:47 +0000 (23:10 +0000)]
runtime: fix misc gcc-isms and undefined behavior
This includes the use of __complex and __builtin_ functions where
unprefixed entities would suffice, and the use of a union for
bit-casting between types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211036
138bc75d-0d04-0410-961f-
82ee72b054a4
palves [Wed, 28 May 2014 21:55:41 +0000 (21:55 +0000)]
Fix demangler testsuite crashes with CP_DEMANGLE_DEBUG defined
Running the demangler's testsuite with CP_DEMANGLE_DEBUG defined
crashes, with:
Program received signal SIGSEGV, Segmentation fault.
0x000000000040a8c3 in d_dump (dc=0x1, indent=12) at ../../src/libiberty/cp-demangle.c:567
567 switch (dc->type)
(gdb) bt 3
#0 0x000000000040a8c3 in d_dump (dc=0x1, indent=12) at ../../src/libiberty/cp-demangle.c:567
#1 0x000000000040ae47 in d_dump (dc=0x7fffffffd098, indent=10) at ../../src/libiberty/cp-demangle.c:787
#2 0x000000000040ae47 in d_dump (dc=0x7fffffffd0c8, indent=8) at ../../src/libiberty/cp-demangle.c:787
Note dc=0x1, which is obviously a bogus pointer. This is the end of
d_dump recursing for a component type that that doesn't actually have
subtrees:
787 d_dump (d_left (dc), indent + 2);
788 d_dump (d_right (dc), indent + 2);
This fixes the two cases the testsuite currently trips on.
libiberty/
2014-05-28 Pedro Alves <palves@redhat.com>
* cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_FUNCTION_PARAM
and DEMANGLE_COMPONENT_NUMBER.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211035
138bc75d-0d04-0410-961f-
82ee72b054a4
palves [Wed, 28 May 2014 21:51:47 +0000 (21:51 +0000)]
Add myself to MAINTAINERS.
2014-05-28 Pedro Alves <palves@redhat.com>
* MAINTAINERS (Write After Approval): Add myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211034
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Wed, 28 May 2014 21:50:28 +0000 (21:50 +0000)]
2014-05-28 Tom de Vries <tom@codesourcery.com>
Revert:
2014-05-28 Tom de Vries <tom@codesourcery.com>
* lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
* lra.c (initialize_lra_reg_info_element): Add init of
actual_call_used_reg_set field.
(lra): Call lra_create_live_ranges before lra_inheritance for
-fuse-caller-save.
* lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
-fuse-caller-save.
* lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
instead of call_used_reg_set for -fuse-caller-save.
* lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211033
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 28 May 2014 19:49:18 +0000 (19:49 +0000)]
gcc/
* doc/md.texi: Document that the % constraint character must
be at the beginning of the string.
* genoutput.c (validate_insn_alternatives): Check that '=',
'+' and '%' only appear at the beginning of a constraint.
* ira.c (commutative_constraint_p): Delete.
(ira_get_dup_out_num): Expect the '%' commutativity marker to be
at the start of the string.
* config/alpha/alpha.md (*movmemdi_1, *clrmemdi_1): Remove
duplicate '='s.
* config/arm/neon.md (bicdi3_neon): Likewise.
* config/iq2000/iq2000.md (addsi3_internal, subsi3_internal, sgt_si)
(slt_si, sltu_si): Likewise.
* config/vax/vax.md (sbcdi3): Likewise.
* config/h8300/h8300.md (*cmpstz): Remove duplicate '+'.
* config/arc/arc.md (mulsi_600, mulsidi_600, umulsidi_600)
(mul64): Move '%' to beginning of constraint.
* config/arm/arm.md (*xordi3_insn): Likewise.
* config/nds32/nds32.md (add<mode>3, mulsi3, andsi3, iorsi3)
(xorsi3): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211031
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 28 May 2014 19:30:35 +0000 (19:30 +0000)]
gcc/
* doc/md.texi: Document the restrictions on the "enabled" attribute.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211030
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 28 May 2014 16:38:23 +0000 (16:38 +0000)]
PR c++/47202
gcc/cp/
* decl.c (cxx_comdat_group): Return a decl.
* optimize.c (cdtor_comdat_group): Get its DECL_ASSEMBLER_NAME.
gcc/
* cgraph.h (symtab_node::get_comdat_group_id): New.
* cgraphunit.c (analyze_functions): Call it.
* symtab.c (dump_symtab_node): Likewise.
* tree.c (decl_comdat_group_id): New.
* tree.h: Declare it.
* lto-streamer-out.c (write_symbol): Use it.
* trans-mem.c (ipa_tm_create_version_alias): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211026
138bc75d-0d04-0410-961f-
82ee72b054a4