Jason Merrill [Fri, 30 May 2014 15:09:40 +0000 (11:09 -0400)]
re PR c++/60992 (ICE in tsubst_copy, at cp/pt.c:12637)
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.
From-SVN: r211084
Ian Lance Taylor [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.
From-SVN: r211081
Jakub Jelinek [Fri, 30 May 2014 13:48:22 +0000 (15:48 +0200)]
sanitizer_stacktrace.cc: Cherry pick upstream r209879.
* 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.
From-SVN: r211080
Ian Lance Taylor [Fri, 30 May 2014 13:11:05 +0000 (13:11 +0000)]
xmmintrin.h (_mm_pause): Move out of scope of pragma target("sse").
gcc/:
* config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma
target("sse").
testsuite/:
* gcc.target/i386/pause-2.c: New test.
From-SVN: r211079
Tom de 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.
From-SVN: r211078
Jonathan Wakely [Fri, 30 May 2014 11:11:15 +0000 (12:11 +0100)]
libstdc++.exp (libstdc++_init): Adjust regexp to work with previous versions of Tcl.
* testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
work with previous versions of Tcl.
From-SVN: r211077
Jonathan Wakely [Fri, 30 May 2014 11:11:10 +0000 (12:11 +0100)]
* generate_libstdcxx_web_docs: New script.
From-SVN: r211076
Alan Lawrence [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.
From-SVN: r211075
Tom de 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.
From-SVN: r211074
Kyrylo Tkachov [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.
From-SVN: r211073
Richard Sandiford [Fri, 30 May 2014 07:35:47 +0000 (07:35 +0000)]
ira.c (ira_get_dup_out_num): Check for output operands at the start of the loop.
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.
From-SVN: r211072
GCC Administrator [Fri, 30 May 2014 00:17:10 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r211071
Mike Stump [Thu, 29 May 2014 23:20:39 +0000 (23:20 +0000)]
re PR target/61352 (gcc 4.9.0 fails to execute dsymutil when linking executables on darwin)
PR debug/61352
* collect2.c (maybe_run_lto_and_relink): Be sure to always run
post ld passes when lto is used.
From-SVN: r211067
Ian Lance Taylor [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.
From-SVN: r211065
Vladimir Makarov [Thu, 29 May 2014 17:37:23 +0000 (17:37 +0000)]
re PR rtl-optimization/61325 (aarch64_be build fails)
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.
From-SVN: r211061
Alan Lawrence [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.
From-SVN: r211059
Alan Lawrence [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.
From-SVN: r211058
Tom de 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.
From-SVN: r211057
Jonathan Wakely [Thu, 29 May 2014 14:04:43 +0000 (15:04 +0100)]
bool_set: Use UTF-8 for accented characters.
* 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.
From-SVN: r211053
David Wohlferd [Thu, 29 May 2014 11:50:22 +0000 (11:50 +0000)]
extend.texi: Rewrite inline asm page / re-org asm-related pages.
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.
From-SVN: r211051
Richard Earnshaw [Thu, 29 May 2014 09:39:07 +0000 (09:39 +0000)]
iterators.md (shiftable_ops): New code iterator.
* 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'.
Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
From-SVN: r211050
Radovan Obradovic [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.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r211049
Evgeny Stupachenko [Thu, 29 May 2014 08:53:02 +0000 (08:53 +0000)]
pr52252-ld.c: Fix target and options for the test.
gcc/testsuite/
* gcc.dg/vect/pr52252-ld.c: Fix target and options for the test.
From-SVN: r211048
Tom de 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.
From-SVN: r211047
Jan Hubicka [Thu, 29 May 2014 06:14:52 +0000 (08:14 +0200)]
varasm.c (get_variable_section): Walk aliases.
* varasm.c (get_variable_section): Walk aliases.
(place_block_symbol): Walk aliases.
From-SVN: r211045
GCC Administrator [Thu, 29 May 2014 00:16:57 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r211041
Ian Lance Taylor [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.
From-SVN: r211037
Ian Lance Taylor [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.
From-SVN: r211036
Pedro Alves [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.
From-SVN: r211035
Pedro Alves [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.
From-SVN: r211034
Tom de Vries [Wed, 28 May 2014 21:50:28 +0000 (21:50 +0000)]
revert: lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
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.
From-SVN: r211033
Richard Sandiford [Wed, 28 May 2014 19:49:18 +0000 (19:49 +0000)]
md.texi: Document that the % constraint character must be at the beginning of the string.
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.
From-SVN: r211031
Richard Sandiford [Wed, 28 May 2014 19:30:35 +0000 (19:30 +0000)]
md.texi: Document the restrictions on the "enabled" attribute.
gcc/
* doc/md.texi: Document the restrictions on the "enabled" attribute.
From-SVN: r211030
Jason Merrill [Wed, 28 May 2014 16:38:23 +0000 (12:38 -0400)]
re PR c++/47202 (Endless recursion during mangling)
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.
From-SVN: r211026
Jason Merrill [Wed, 28 May 2014 16:30:46 +0000 (12:30 -0400)]
pt.c (tsubst): Check for array of array of unknown bound.
* pt.c (tsubst) [ARRAY_TYPE]: Check for array of array of unknown
bound.
From-SVN: r211025
Jason Merrill [Wed, 28 May 2014 15:55:03 +0000 (11:55 -0400)]
re PR c++/61242 (Bogus "no matching function for call to ‘Foo::Create(<brace-enclosed initializer list>)")
PR c++/61242
* call.c (build_aggr_conv): Ignore passed in flags.
(build_array_conv, build_complex_conv): Likewise.
From-SVN: r211024
Francois-Xavier Coudert [Wed, 28 May 2014 15:17:29 +0000 (15:17 +0000)]
PR bootstrap/PR61146
PR bootstrap/PR61146
* wide-int.cc: Do not include longlong.h when compiling with clang.
From-SVN: r211023
Richard Biener [Wed, 28 May 2014 14:24:09 +0000 (14:24 +0000)]
tree-ssa-propagate.c (add_control_edge): Print less vertical space.
2014-05-28 Richard Biener <rguenther@suse.de>
* tree-ssa-propagate.c (add_control_edge): Print less vertical space.
* tree-vrp.c (extract_range_from_ssa_name): Also copy VR_UNDEFINED.
(vrp_visit_assignment_or_call): Print less vertical space.
(vrp_visit_stmt): Likewise.
(vrp_visit_phi_node): Likewise. For a PHI argument with
VR_VARYING range consider recording it as copy.
From-SVN: r211022
Richard Biener [Wed, 28 May 2014 14:17:45 +0000 (14:17 +0000)]
revert: hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
2014-05-28 Richard Biener <rguenther@suse.de>
Revert
2014-05-28 Richard Biener <rguenther@suse.de>
* hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
From-SVN: r211021
Bernd Edlinger [Wed, 28 May 2014 13:37:02 +0000 (13:37 +0000)]
expr.c (expand_assignment): Fold the bitpos in the to_rtx if sufficiently aligned and an offset is used at...
2014-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
* expr.c (expand_assignment): Fold the bitpos in the to_rtx if
sufficiently aligned and an offset is used at the same time.
(expand_expr_real_1): Likewise.
From-SVN: r211020
Richard Biener [Wed, 28 May 2014 12:44:11 +0000 (12:44 +0000)]
re PR middle-end/61045 (Wrong constant folding)
2014-05-28 Richard Biener <rguenther@suse.de>
PR middle-end/61045
* fold-const.c (fold_comparison): When folding
X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
the sign of the remaining constant operand stays the same.
* gcc.dg/pr61045.c: New testcase.
From-SVN: r211018
Kaushik Phatak [Wed, 28 May 2014 12:23:15 +0000 (12:23 +0000)]
RL78 64bit double support added
From-SVN: r211017
Kaushik Phatak [Wed, 28 May 2014 12:22:19 +0000 (12:22 +0000)]
RL78 64bit double support added
From-SVN: r211016
Rainer Orth [Wed, 28 May 2014 11:32:54 +0000 (11:32 +0000)]
Centralise clearing hardware capabilities with Sun ld
gcc:
* configure.ac ($gcc_cv_ld_clearcap): New test.
* configure: Regenerate.
* config.in: Regenerate.
* config/sol2.opt (mclear-hwcap): New option.
* config/sol2.h (LINK_CLEARCAP_SPEC): Define.
* config/sol2-clearcap.map: Moved here from
testsuite/gcc.target/i386/clearcap.map.
* config/sol2-clearcapv2.map: Move here from
gcc.target/i386/clearcapv2.map.
* config/t-sol2 (install): Depend on install-clearcap-map.
(install-clearcap-map): New target.
* doc/invoke.texi (Option Summary, Solaris 2 Options): Document
-mclear-hwcap.
gcc/testsuite:
* lib/clearcap.exp: New file.
* gcc.dg/vect/vect.exp: Load clearcap.exp.
Remove clearcap_ldflags handling.
Call clearcap-init, clearcap-finish.
* gcc.target/i386/i386.exp: Likewise.
* gcc.target/i386/clearcap.map: Move to ../config/sol2-clearcap.map.
* gcc.target/i386/clearcapv2.map: Move to
../config/sol2-clearcapv2.map.
* gcc.target/x86_64/abi/avx/abi-avx.exp: Likewise.
* gcc.target/x86_64/abi/avx512f/abi-avx512f.exp: Likewise.
libitm:
* acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): Check for
-mclear-hwcap instead.
* configure: Regenerate.
* clearcap.map: Remove.
From-SVN: r211014
Richard Biener [Wed, 28 May 2014 11:07:48 +0000 (11:07 +0000)]
hwint.h (*_HALF_WIDE_INT*): Move to ...
2014-05-28 Richard Biener <rguenther@suse.de>
* hwint.h (*_HALF_WIDE_INT*): Move to ...
* wide-int.cc (HOST_BITS_PER_HALF_WIDE_INT, HOST_HALF_WIDE_INT):
... here and remove the rest.
* hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
From-SVN: r211013
Richard Biener [Wed, 28 May 2014 11:07:06 +0000 (11:07 +0000)]
re PR tree-optimization/61335 (wrong code with -O2 -fbounds-check)
2014-05-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/61335
* tree-vrp.c (vrp_visit_phi_node): If the compare of old and
new range fails, drop to varying.
* gfortran.dg/pr61335.f90: New testcase.
From-SVN: r211012
Olivier Hainque [Wed, 28 May 2014 09:51:07 +0000 (09:51 +0000)]
vxworks.h (VXCPU_FOR_8548): New.
2014-05-28 Olivier Hainque <hainque@adacore.com>
* config/rs6000/vxworks.h (VXCPU_FOR_8548): New. Default to PPC85XX.
(CPP_SPEC): Add entry for -mcpu=8548.
* config/rs6000/vxworksae.h: Reinstate. Override VXCPU_FOR_8548.
* config.gcc (powerpc-wrs-vxworksae, tm_file): Add back vxworksae.h.
From-SVN: r211011
Tom de Vries [Wed, 28 May 2014 09:43:52 +0000 (09:43 +0000)]
-fuse-caller-save - Support in lra
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.
From-SVN: r211010
Radovan Obradovic [Wed, 28 May 2014 09:43:41 +0000 (09:43 +0000)]
-fuse-caller-save - Add documentation
2014-05-28 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* doc/invoke.texi (@item Optimization Options): Add -fuse-caller-save to
gccoptlist.
(@item -fuse-caller-save): New item.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r211009
Radovan Obradovic [Wed, 28 May 2014 09:43:32 +0000 (09:43 +0000)]
-fuse-caller-save - Enable by default at O2 and higher
2014-05-28 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* opts.c (default_options_table): Add OPT_LEVELS_2_PLUS entry with
OPT_fuse_caller_save.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r211008
Radovan Obradovic [Wed, 28 May 2014 09:43:21 +0000 (09:43 +0000)]
-fuse-caller-save - Use collected register usage information
2014-05-28 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* df-scan.c (df_get_call_refs): Use get_call_reg_set_usage.
* caller-save.c (setup_save_areas, save_call_clobbered_regs): Use
get_call_reg_set_usage.
* resource.c (mark_set_resources, mark_target_live_regs): Use
get_call_reg_set_usage.
* ira-int.h (struct ira_allocno): Add crossed_calls_clobbered_regs
field.
(ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS): Define.
* ira-lives.c (process_bb_node_lives): Use get_call_reg_set_usage.
Calculate ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
* ira-build.c (ira_create_allocno): Init
ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
(create_cap_allocno, propagate_allocno_info)
(propagate_some_info_from_allocno)
(copy_info_to_removed_store_destinations): Handle
ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
* ira-costs.c (ira_tune_allocno_costs): Use
ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS to adjust costs.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r211007
Radovan Obradovic [Wed, 28 May 2014 09:43:11 +0000 (09:43 +0000)]
-fuse-caller-save - Collect register usage information
2014-05-28 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* cgraph.h (struct cgraph_rtl_info): Add function_used_regs
and function_used_regs_valid fields.
* final.c: Move include of hard-reg-set.h to before rtl.h to declare
find_all_hard_reg_sets.
(collect_fn_hard_reg_usage, get_call_fndecl, get_call_cgraph_rtl_info)
(get_call_reg_set_usage): New function.
(rest_of_handle_final): Use collect_fn_hard_reg_usage.
* regs.h (get_call_reg_set_usage): Declare.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r211006
Georg-Johann Lay [Wed, 28 May 2014 09:33:04 +0000 (09:33 +0000)]
re PR libgcc/61152 (Missing GCC Runtime Library Exception in some files that are included in libgcc)
gcc/
PR libgcc/61152
* config/dbx.h (License): Add Runtime Library Exception.
* config/newlib-stdint.h (License): Same.
* config/rtems.h (License): Same
* config/initfini-array.h (License): Same
* config/v850/v850.h (License): Same.
* config/v850/v850-opts.h (License): Same
* config/v850/rtems.h (License): Same.
From-SVN: r211004
Paolo Carlini [Wed, 28 May 2014 08:59:32 +0000 (08:59 +0000)]
2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
* Fix typo in ChangeLog entry.
From-SVN: r211003
Georg-Johann Lay [Wed, 28 May 2014 08:42:25 +0000 (08:42 +0000)]
re PR target/61044 (Computed goto on AVR fails to use word-addressing)
PR target/61044
* doc/extend.texi (Local Labels): Note that label differences are
not supported for AVR.
From-SVN: r210999
Richard Sandiford [Wed, 28 May 2014 08:41:27 +0000 (08:41 +0000)]
rtl.h (set_for_reg_notes): Declare.
2014-05-26 Richard Sandiford <rdsandiford@googlemail.com>
Olivier Hainque <hainque@adacore.com>
* rtl.h (set_for_reg_notes): Declare.
* emit-rtl.c (set_for_reg_notes): New function.
(set_unique_reg_note): Use it.
* optabs.c (add_equal_note): Likewise
Co-Authored-By: Olivier Hainque <hainque@adacore.com>
From-SVN: r210998
Andrew Pinski [Wed, 28 May 2014 01:24:53 +0000 (01:24 +0000)]
aarch64.md (stack_protect_set_<mode>): Use <w> for the register in assembly template.
2014-05-27 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64.md (stack_protect_set_<mode>):
Use <w> for the register in assembly template.
(stack_protect_test): Use the mode of operands[0] for the
result.
(stack_protect_test_<mode>): Use <w> for the register
in assembly template.
From-SVN: r210996
DJ Delorie [Wed, 28 May 2014 00:37:00 +0000 (20:37 -0400)]
rx.c (add_vector_labels): New.
* config/rx/rx.c (add_vector_labels): New.
(rx_output_function_prologue): Call it.
(rx_handle_func_attribute): Don't require empty arguments.
(rx_handle_vector_attribute): New.
(rx_attribute_table): Add "vector" attribute.
* doc/extend.texi (interrupt, vector): Document new/changed
RX-specific attributes.
* config/rx/rx.c (rx_adjust_insn_length): Skip for non-insns.
From-SVN: r210995
GCC Administrator [Wed, 28 May 2014 00:17:19 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r210994
Ian Lance Taylor [Tue, 27 May 2014 22:01:21 +0000 (22:01 +0000)]
libgo/runtime: fix unused-result warning
Result of runtime_write is ignored, causing
an unused-result result warning (error in my
case, with -Werror=unused-result).
From-SVN: r210987
Eric Botcazou [Tue, 27 May 2014 20:37:09 +0000 (20:37 +0000)]
* gnat.dg/aliasing1.adb (dg-final): Robustify pattern matching.
From-SVN: r210982
Eric Botcazou [Tue, 27 May 2014 20:30:18 +0000 (20:30 +0000)]
double-int.c (div_and_round_double): Use the proper predicate to detect a negative quotient.
* double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper
predicate to detect a negative quotient.
From-SVN: r210981
Marek Polacek [Tue, 27 May 2014 20:14:22 +0000 (20:14 +0000)]
re PR c/56724 (sub-optimal location in error)
PR c/56724
* c-typeck.c (convert_arguments): Get location of a parameter. Change
error and warning calls to error_at and warning_at. Pass location of
a parameter to it. Call warning_at with OPT_Wtraditional_conversion.
(convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and
WARN_FOR_QUALIFIERS. Pass expr_loc to those.
* gcc.dg/pr56724-1.c: New test.
* gcc.dg/pr56724-2.c: New test.
* gcc.dg/wtr-conversion-1.c: Use -Wtraditional-conversion instead of
-Wtraditional.
* gcc.dg/dfp/wtr-conversion-1.c: Likewise.
From-SVN: r210980
Eric Botcazou [Tue, 27 May 2014 19:54:46 +0000 (19:54 +0000)]
fold-const.c (fold_comparison): Clean up and extend X +- C1 CMP C2 to X CMP C2 -+ C1 transformation to...
* fold-const.c (fold_comparison): Clean up and extend X +- C1 CMP C2
to X CMP C2 -+ C1 transformation to EQ_EXPR/NE_EXPR.
Add X - Y CMP 0 to X CMP Y transformation.
(fold_binary_loc) <EQ_EXPR/NE_EXPR>: Remove same transformations.
From-SVN: r210979
Segher Boessenkool [Tue, 27 May 2014 18:33:57 +0000 (20:33 +0200)]
stmt.c (dump_case_nodes): Don't convert values to HOST_WIDE_INT before printing.
* stmt.c (dump_case_nodes): Don't convert values to HOST_WIDE_INT
before printing.
From-SVN: r210978
Steve Ellcey [Tue, 27 May 2014 15:59:31 +0000 (15:59 +0000)]
mips.c: Add include of cgraph.h.
2014-05-27 Steve Ellcey <sellcey@mips.com>
* config/mips/mips.c: Add include of cgraph.h.
From-SVN: r210975
Richard Biener [Tue, 27 May 2014 15:00:29 +0000 (15:00 +0000)]
vrp92.c: New testcase.
2014-05-27 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/vrp92.c: New testcase.
From-SVN: r210974
Richard Biener [Tue, 27 May 2014 13:36:29 +0000 (13:36 +0000)]
system.h (__STDC_FORMAT_MACROS): Define as very first thing.
2014-05-27 Richard Biener <rguenther@suse.de>
* system.h (__STDC_FORMAT_MACROS): Define as very first thing.
From-SVN: r210973
Marek Polacek [Tue, 27 May 2014 11:41:45 +0000 (11:41 +0000)]
re PR testsuite/61319 (The tests c-c++-common/ubsan/float-cast-overflow-(1|2|4).c fail on x86_64-apple-darwin*)
PR testsuite/61319
* c-c++-common/ubsan/float-cast.h: Conditionally define LLONG_MAX,
LLONG_MIN, and ULLONG_MAX.
From-SVN: r210970
Georg-Johann Lay [Tue, 27 May 2014 11:37:49 +0000 (11:37 +0000)]
re PR libgcc/61152 (Missing GCC Runtime Library Exception in some files that are included in libgcc)
PR libgcc/61152
* config/arm/arm.h (License): Add note to COPYING.RUNTIME.
* config/arm/arm-cores.def (License): Same.
* config/arm/arm-opts.h (License): Same.
* config/arm/aout.h (License): Same.
* config/arm/bpabi.h (License): Same.
* config/arm/elf.h (License): Same.
* config/arm/linux-elf.h (License): Same.
* config/arm/linux-gas.h (License): Same.
* config/arm/netbsd-elf.h (License): Same.
* config/arm/uclinux-eabi.h (License): Same.
* config/arm/uclinux-elf.h (License): Same.
* config/arm/vxworks.h (License): Same.
From-SVN: r210969
Jonathan Wakely [Tue, 27 May 2014 11:14:17 +0000 (12:14 +0100)]
re PR libstdc++/61329 (#include <regex> and _GLIBCXX_DEBUG causes multiple symbol definition.)
PR libstdc++/61329
* include/bits/regex_automaton.tcc (_State_base::_M_print): Add
inline specifier.
(_State_base::_M_dot): Likewise.
From-SVN: r210968
Kyrylo Tkachov [Tue, 27 May 2014 10:56:25 +0000 (10:56 +0000)]
[ARM] Vectorise bswap* in aarch32.
* config/arm/neon.md (neon_bswap<mode>): New pattern.
* config/arm/arm.c (neon_itype): Add NEON_BSWAP.
(arm_init_neon_builtins): Handle NEON_BSWAP.
Define required type nodes.
(arm_expand_neon_builtin): Handle NEON_BSWAP.
(arm_builtin_vectorized_function): Handle BUILTIN_BSWAP builtins.
* config/arm/arm_neon_builtins.def (bswap): Define builtins.
* config/arm/iterators.md (VDQHSD): New mode iterator.
* lib/target-supports.exp (check_effective_target_vect_bswap):
Specify arm*-*-* support.
From-SVN: r210967
Richard Biener [Tue, 27 May 2014 10:32:39 +0000 (10:32 +0000)]
tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges): Try using literal operands when comparing value-ranges failed.
2014-05-27 Richard Biener <rguenther@suse.de>
* tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
Try using literal operands when comparing value-ranges failed.
From-SVN: r210966
Richard Sandiford [Tue, 27 May 2014 10:23:20 +0000 (10:23 +0000)]
ira.c (commutative_operand): Adjust for change to recog_data.
gcc/
* ira.c (commutative_operand): Adjust for change to recog_data.
[Missing from previous commit.]
From-SVN: r210965
Richard Sandiford [Tue, 27 May 2014 10:06:22 +0000 (10:06 +0000)]
system.h (TEST_BIT): New macro.
gcc/
* system.h (TEST_BIT): New macro.
* recog.h (alternative_mask): New type.
(ALL_ALTERNATIVES, ALTERNATIVE_BIT): New macros.
(recog_data_d): Replace alternative_enabled_p array with
enabled_alternatives.
(target_recog): New structure.
(default_target_recog, this_target_recog): Declare.
(get_enabled_alternatives, recog_init): Likewise.
* recog.c (default_target_recog, this_target_recog): New variables.
(get_enabled_alternatives): New function.
(extract_insn): Use it.
(recog_init): New function.
(preprocess_constraints, constrain_operands): Adjust for change to
recog_data.
* postreload.c (reload_cse_simplify_operands): Likewise.
* reload.c (find_reloads): Likewise.
* ira-costs.c (record_reg_classes): Likewise.
* ira-lives.c (single_reg_class): Likewise. Fix bug in which
all alternatives after a disabled one would be skipped.
(ira_implicitly_set_insn_hard_regs): Likewise.
* ira.c (ira_setup_alts): Adjust for change to recog_data.
* lra-int.h (lra_insn_recog_data): Replace alternative_enabled_p
with enabled_alternatives.
* lra.c (free_insn_recog_data): Update accordingly.
(lra_update_insn_recog_data): Likewise.
(lra_set_insn_recog_data): Likewise. Use get_enabled_alternatives.
* lra-constraints.c (process_alt_operands): Likewise. Handle
only_alternative as part of the enabled mask.
* target-globals.h (this_target_recog): Declare.
(target_globals): Add a recog field.
(restore_target_globals): Restore this_target_recog.
* target-globals.c: Include recog.h.
(default_target_globals): Initialize recog field.
(save_target_globals): Likewise.
* reginfo.c (reinit_regs): Call recog_init.
* toplev.c (backend_init_target): Likewise.
From-SVN: r210964
Richard Sandiford [Tue, 27 May 2014 10:05:55 +0000 (10:05 +0000)]
gencodes.c (main): Make LAST_INSN_CODE higher than any insn code, rather than any named insn's code.
gcc/
* gencodes.c (main): Make LAST_INSN_CODE higher than any insn code,
rather than any named insn's code.
From-SVN: r210963
Uros Bizjak [Tue, 27 May 2014 09:15:52 +0000 (11:15 +0200)]
getcwd.c: Include stdlib.h.
* intrinsics/getcwd.c: Include stdlib.h.
From-SVN: r210962
Uros Bizjak [Tue, 27 May 2014 09:14:53 +0000 (11:14 +0200)]
declare-simd-1.f90: Require vect_simd_clones effective target.
* testsuite/libgomp.fortran/declare-simd-1.f90: Require
vect_simd_clones effective target.
* testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
From-SVN: r210961
Georg-Johann Lay [Tue, 27 May 2014 08:41:24 +0000 (08:41 +0000)]
re PR libgcc/61152 (Missing GCC Runtime Library Exception in some files that are included in libgcc)
PR libgcc/61152
* config/arm/arm-opts.h (License): Add GCC Runtime Library Exception.
* config/arm/arm-cores.def (License): Same.
From-SVN: r210959
Dominique d'Humieres [Tue, 27 May 2014 08:36:37 +0000 (10:36 +0200)]
re PR testsuite/61319 (The tests c-c++-common/ubsan/float-cast-overflow-(1|2|4).c fail on x86_64-apple-darwin*)
2014-05-27 Dominique d'Humieres <dominiq@lps.ens.fr>
PR testsuite/61319
* c-c++-common/ubsan/float-cast-overflow-1.c: Make the sign of
-nan optional.
* c-c++-common/ubsan/float-cast-overflow-2.c: Likewise.
* c-c++-common/ubsan/float-cast-overflow-4.c: Likewise.
From-SVN: r210958
Paolo Carlini [Tue, 27 May 2014 08:02:01 +0000 (08:02 +0000)]
2014-05-27 Paolo Carlini <paolo.carlini@oracle.com>
* Fix typo in the last ChangeLog entry.
From-SVN: r210957
Jan Hubicka [Tue, 27 May 2014 04:18:38 +0000 (06:18 +0200)]
tree.h (decl_comdat_group): Declare.
* tree.h (decl_comdat_group): Declare.
* cgraph.h (symtab_in_same_comdat_p): Move offline to ...
* tree.c (decl_comdat_group): Here.
From-SVN: r210956
GCC Administrator [Tue, 27 May 2014 00:17:17 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r210955
Uros Bizjak [Mon, 26 May 2014 21:49:19 +0000 (23:49 +0200)]
* ChangeLog-2013: Correct an old entry.
From-SVN: r210951
Uros Bizjak [Mon, 26 May 2014 21:07:58 +0000 (23:07 +0200)]
ssa-fre-40.c: Cleanup fre1 tree dump.
* gcc.dg/tree-ssa/ssa-fre-40.c: Cleanup fre1 tree dump.
From-SVN: r210950
Janne Blomqvist [Mon, 26 May 2014 20:56:45 +0000 (23:56 +0300)]
Introduce xrealloc, use it.
2014-05-26 Janne Blomqvist <jb@gcc.gnu.org>
* libgfortran.h (xrealloc): New prototype.
* runtime/memory.c (xrealloc): New function.
* io/fbuf.c (fbuf_alloc): Use xrealloc.
* io/list_read.c (push_char_default): Likewise.
(push_char4): Likewise.
From-SVN: r210948
Tobias Burnus [Mon, 26 May 2014 19:03:17 +0000 (21:03 +0200)]
gfortran.texi (Project Status): Fix broken link.
2014-05-26 Tobias Burnus <burnus@net-b.de>
* gfortran.texi (Project Status): Fix broken link.
From-SVN: r210946
Richard Sandiford [Mon, 26 May 2014 18:50:55 +0000 (18:50 +0000)]
re PR rtl-optimization/61222 (ICE on valid code at -O2 and -O3 on x86_64-linux-gnu in decompose, at rtl.h:1456)
gcc/
PR rtl-optimization/61222
* combine.c (simplify_shift_const_1): When moving a PLUS outside
the shift, truncate the PLUS operand to the result mode.
gcc/testsuite/
PR rtl-optimization/61222
* gcc.c-torture/compile/pr61222-1.c: New test.
* gcc.c-torture/compile/pr61222-2.c: Likewise.
From-SVN: r210945
Uros Bizjak [Mon, 26 May 2014 18:44:18 +0000 (20:44 +0200)]
pr61191.c: Fix dg-error directives.
* c-c++-common/cilk-plus/AN/pr61191.c: Fix dg-error directives.
From-SVN: r210944
Uros Bizjak [Mon, 26 May 2014 18:23:36 +0000 (20:23 +0200)]
pr61278_1.c: Remove dg directives.
* gcc.dg/lto/pr61278_1.c: Remove dg directives.
From-SVN: r210939
Janne Blomqvist [Mon, 26 May 2014 18:17:13 +0000 (21:17 +0300)]
PR 61310 Rewrite implementation of CTIME and FDATE intrinsics.
2014-05-26 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/61310
* intrinsics.texi (CTIME): Remove mention of locale-dependent
behavior.
2014-05-26 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/61310
* intrinsics/ctime.c (strctime): Rename to gf_ctime, use snprintf
instead of strftime.
(fdate): Use gf_ctime.
(fdate_sub): Likewise.
(ctime): Likewise.
(ctime_sub): Likewise.
From-SVN: r210938
Uros Bizjak [Mon, 26 May 2014 17:33:09 +0000 (19:33 +0200)]
re PR c/61271 (10 * possible coding error with logical not (!))
PR target/61271
* config/i386/i386.c (ix86_rtx_costs)
<case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>:
Fix condition.
From-SVN: r210937
Martin Jambor [Mon, 26 May 2014 15:36:00 +0000 (17:36 +0200)]
ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on subreg uses.
2014-05-26 Martin Jambor <mjambor@suse.cz>
* ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on
subreg uses.
From-SVN: r210936
Jerry DeLisle [Mon, 26 May 2014 15:32:33 +0000 (15:32 +0000)]
re PR fortran/55117 (Programs fails to read namelist (contains derived types objects))
2014-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/55117
* gfortran.dg/namelist_85.f90: New test.
From-SVN: r210935
Jerry DeLisle [Mon, 26 May 2014 15:19:36 +0000 (15:19 +0000)]
[multiple changes]
2014-05-26 Tobias Burnus <burnus@net-b.de>
PR fortran/55117
* trans-io.c (nml_full_name, transfer_namelist_element): Insert
a '+' rather then '%' to differentiate namelist variable names
that are based on extended derived types.
2014-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/55117
* io/list_read.c (extended_look_ahead): New helper function to
scan the namelist name and look for matches with the new '+'
extended type parent indicator. (str_comp_extended): New
helper function to compare the namelist name with the varname
namelist. (find_nml_name): Use the new helper functions to match
the extended type varnames.
From-SVN: r210934
Richard Biener [Mon, 26 May 2014 14:07:42 +0000 (14:07 +0000)]
wide-int.h (wi::int_traits <long>, [...]): Provide specializations.
2014-05-26 Richard Biener <rguenther@suse.de>
* wide-int.h (wi::int_traits <long>, wi::int_traits <unsigned long>,
wi::int_traits <long long>, wi::int_traits <unsigned long long>):
Provide specializations.
(wi::int_traits <HOST_WIDE_INT>,
wi::int_traits <unsigned HOST_WIDE_INT>): Remove specializations.
From-SVN: r210933
Alan Modra [Mon, 26 May 2014 13:09:48 +0000 (22:39 +0930)]
re PR target/61098 (Poor code setting count register for large loops)
PR target/61098
* config/rs6000/rs6000.c (rs6000_emit_set_const): Remove unneeded
params and return a bool. Remove dead code. Update comment.
Assert we have a const_int source. Remove bogus code from
32-bit HWI days. Move !TARGET_POWERPC64 handling, and correct
handling of constants > 2G and reg_equal note, from..
(rs6000_emit_set_long_const): ..here. Remove unneeded param and
return value. Update comment. If we can, use a new pseudo
for intermediate calculations.
* config/rs6000/rs6000-protos.h (rs6000_emit_set_const): Update
prototype.
* config/rs6000/rs6000.md (movsi_internal1_single+1): Update
call to rs6000_emit_set_const in splitter.
(movdi_internal64+2, +3): Likewise.
From-SVN: r210932
Richard Biener [Mon, 26 May 2014 10:42:43 +0000 (10:42 +0000)]
system.h: Define __STDC_FORMAT_MACROS before including inttypes.h.
2014-05-23 Richard Biener <rguenther@suse.de>
* system.h: Define __STDC_FORMAT_MACROS before
including inttypes.h.
* hwint.h (HOST_WIDEST_INT, HOST_BITS_PER_WIDEST_INT,
HOST_WIDEST_INT_PRINT, HOST_WIDEST_INT_PRINT_DEC,
HOST_WIDEST_INT_PRINT_DEC_C, HOST_WIDEST_INT_PRINT_UNSIGNED,
HOST_WIDEST_INT_PRINT_HEX, HOST_WIDEST_INT_PRINT_DOUBLE_HEX,
HOST_WIDEST_INT_C): Remove.
(PRId64, PRIi64, PRIo64, PRIu64, PRIx64, PRIX64): Define
if C99 inttypes.h is not available.
* coretypes.h (gcov_type, gcov_type_unsigned): Use [u]int64_t.
* gcov-io.h (gcov_type, gcov_type_unsigned): Likewise.
* gcov-io.c (gcov_histo_index): Drop non-64bit hwi case.
* cfgloop.h (struct niter_desc): Use uint64_t for niter field.
* bitmap.c (struct bitmap_descriptor_d): Use uint64_t for counters.
(struct output_info): Likewise.
(print_statistics): Adjust.
(dump_bitmap_statistics): Likewise.
* bt-load.c (migrate_btr_defs): Print with PRId64.
* cfg.c (dump_edge_info, dump_bb_info): Likewise.
(MAX_SAFE_MULTIPLIER): Adjust.
* cfghooks.c (dump_bb_for_graph): Print with PRId64.
* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee,
dump_cgraph_node): Likewise.
* final.c (dump_basic_block_info): Likewise.
* gcov-dump.c (tag_counters, tag_summary, dump_working_sets): Likewise.
* gcov.c (format_gcov): Likewise.
* ipa-cp.c (good_cloning_opportunity_p): Likewise. Use int64_t
for calculation.
(get_clone_agg_value): Use HOST_WIDE_INT for offset.
* ipa-inline.c (compute_max_insns): Use int64_t for calcuation.
(inline_small_functions, dump_overall_stats, dump_inline_stats):
Use PRId64 for dumping.
* ipa-profile.c (dump_histogram, ipa_profile): Likewise.
* ira-color.c (struct allocno_hard_regs): Use int64_t for cost.
(add_allocno_hard_regs): Adjust.
* loop-doloop.c (doloop_modify): Print using PRId64.
* loop-iv.c (inverse): Compute in uint64_t.
(determine_max_iter, iv_number_of_iterations): Likewise.
* loop-unroll.c (decide_peel_completely, decide_peel_simple):
Print using PRId64.
* lto-streamer-out.c (write_symbol): Use uint64_t.
* mcf.c (CAP_INFINITY): Use int64_t maximum.
(dump_fixup_edge, create_fixup_graph, cancel_negative_cycle,
find_max_flow, adjust_cfg_counts): Use int64_t and dump with PRId64.
* modulo-sched.c (const_iteration_count): Use int64_t.
(sms_schedule): Dump using PRId64.
* predict.c (dump_prediction): Likewise.
* pretty-print.h (pp_widest_integer): Remove.
* profile.c (get_working_sets, is_edge_inconsistent,
is_inconsistent, read_profile_edge_counts): Dump using PRId64.
* tree-pretty-print.c (pp_double_int): Remove case handling
HOST_BITS_PER_DOUBLE_INT == HOST_BITS_PER_WIDEST_INT.
* tree-ssa-math-opts.c (struct symbolic_number): Use uint64_t
and adjust users.
(pass_optimize_bswap::execute): Remove restriction on hosts.
* tree-streamer-in.c (streamer_alloc_tree): Use HOST_WIDE_INT.
* tree-streamer-out.c (streamer_write_tree_header): Likewise.
* tree.c (widest_int_cst_value): Remove.
* tree.h (widest_int_cst_value): Likewise.
* value-prof.c (dump_histogram_value): Print using PRId64.
* gengtype.c (main): Also inject int64_t.
* ggc-page.c (struct max_alignment): Use int64_t.
* alloc-pool.c (struct allocation_object_def): Likewise.
* ira-conflicts.c (build_conflict_bit_table): Use uint64_t
for computation.
* doc/tm.texi.in: Remove reference to HOST_WIDEST_INT.
* doc/tm.texi: Regenerated.
* gengtype-lex.l (IWORD): Handle [u]int64_t.
* config/sh/sh.c (expand_cbranchdi4): Use gcov_type.
* config/mmix/mmix-protos.h (mmix_intval, mmix_shiftable_wyde_value,
mmix_output_register_setting): Use [u]int64_t in prototypes.
* config/mmix/mmix.c (mmix_print_operand, mmix_output_register_setting,
mmix_shiftable_wyde_value, mmix_output_shiftvalue_op_from_str,
mmix_output_octa, mmix_output_shifted_value): Adjust.
(mmix_intval): Adjust. Remove unreachable case.
* config/mmix/mmix.md (*nonlocal_goto_receiver_expanded): Use
int64_t.
lto/
* lto.c (lto_parse_hex): Use int64_t.
(lto_resolution_read): Likewise.
From-SVN: r210931
Igor Zamyatin [Mon, 26 May 2014 10:04:01 +0000 (10:04 +0000)]
re PR c/61191 (cilkplus ICE on syntax error)
gcc/c/
PR c/61191
* c-array-notation.c (fix_builtin_array_notation_fn): Check invalid
function parameters.
gcc/testsuite/
PR c/61191
* c-c++-common/cilk-plus/AN/pr61191.c: Check for correct handling of
the case with syntax error.
From-SVN: r210930
Richard Biener [Mon, 26 May 2014 08:19:02 +0000 (08:19 +0000)]
configure.ac: Remove long long and __int64 type checks...
2014-05-26 Richard Biener <rguenther@suse.de>
libcpp/
* configure.ac: Remove long long and __int64 type checks,
add check for uint64_t and fail if that wasn't found.
* include/cpplib.h (cpp_num_part): Use uint64_t.
* config.in: Regenerate.
* configure: Likewise.
gcc/
* configure.ac: Drop __int64 type check. Insist that we
found uint64_t and int64_t.
* hwint.h (HOST_BITS_PER___INT64): Remove.
(HOST_BITS_PER_WIDE_INT): Define to 64 and remove
__int64 case.
(HOST_WIDE_INT_PRINT_*): Remove 32bit case.
(HOST_WIDEST_INT*): Define to HOST_WIDE_INT*.
(HOST_WIDEST_FAST_INT): Remove __int64 case.
* vmsdbg.h (struct _DST_SRC_COMMAND): Use int64_t
for dst_q_src_df_rms_cdt.
* configure: Regenerate.
* config.in: Likewise.
From-SVN: r210928