Kyrylo Tkachov [Thu, 13 Aug 2015 17:06:14 +0000 (17:06 +0000)]
[RTL-ifcvt] Allow PLUS+immediate expression in noce_try_store_flag_constants
* ifcvt.c (noce_try_store_flag_constants): Handle PLUS-immediate
expressions in A and B.
* gcc.target/aarch64/cinc_common_1.c: New test.
From-SVN: r226869
Paolo Carlini [Thu, 13 Aug 2015 15:45:37 +0000 (15:45 +0000)]
re PR c++/53421 (__attribute__((__may_alias__)) prevents taking address of conversion operator member function)
2015-08-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53421
* g++.dg/ext/attribute-may-alias-1.C: New.
* g++.dg/ext/attribute-may-alias-2.C: Likewise.
From-SVN: r226868
Ville Voutilainen [Thu, 13 Aug 2015 15:00:20 +0000 (18:00 +0300)]
neg.s: Remove.
2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com>
* testsuite/experimental/array/neg.s: Remove.
* testsuite/experimental/array/neg.ii.gz: Remove.
From-SVN: r226866
Ville Voutilainen [Thu, 13 Aug 2015 14:55:46 +0000 (17:55 +0300)]
Implement std::experimental::fundamentals_v2::make_array and std::experimental::fundamentals_v2::to_array.
2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement std::experimental::fundamentals_v2::make_array and
std::experimental::fundamentals_v2::to_array.
* include/Makefile.am: Add array.
* include/Makefile.in: Add array.
* include/experimental/array: New.
* testsuite/experimental/array/make_array.cc: Likewise.
* testsuite/experimental/array/neg.cc: Likewise.
* doc/html/manual/status.html: Mark make_array as Y.
* doc/xml/manual/status_cxx2017.xml: Likewise.
From-SVN: r226865
Jonathan Wakely [Thu, 13 Aug 2015 13:57:41 +0000 (14:57 +0100)]
alloc_traits.h: Add feature-test macro.
* include/bits/alloc_traits.h: Add feature-test macro.
* include/bits/allocator.h: Likewise.
* include/bits/range_access.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/unordered_map.h: Likewise.
From-SVN: r226864
Jonathan Wakely [Thu, 13 Aug 2015 13:57:35 +0000 (14:57 +0100)]
2.cc: New.
* testsuite/30_threads/mutex/unlock/2.cc: New.
* testsuite/30_threads/recursive_mutex/unlock/2.cc: New.
* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: New.
* testsuite/30_threads/shared_mutex/unlock/1.cc: New.
* testsuite/30_threads/shared_timed_mutex/unlock/1.cc: New.
* testsuite/30_threads/timed_mutex/unlock/2.cc: New.
From-SVN: r226863
Eelis van der Weegen [Thu, 13 Aug 2015 13:57:28 +0000 (13:57 +0000)]
shared_mutex (shared_mutex::unlock()): Fix typo.
2015-08-13 Eelis van der Weegen <eelis@eelis.net>
* include/std/shared_mutex (shared_mutex::unlock()): Fix typo.
From-SVN: r226862
Richard Biener [Thu, 13 Aug 2015 12:34:36 +0000 (12:34 +0000)]
tree.c (nonnull_arg_p): Move from ...
2015-08-13 Richard Biener <rguenther@suse.de>
* tree.c (nonnull_arg_p): Move from ...
* tree-vrp.c (nonnull_arg_p): ... here.
* tree.h (nonnull_arg_p): Declare.
* tree-ssa-sccvn.c (init_scc_vn): Perform all lattice init
here, register ptr != 0 for nonnull_arg_p pointer arguments.
Properly initialize static chain and by-reference result pointer.
(run_scc_vn): Adjust.
From-SVN: r226861
Robert Suchanek [Thu, 13 Aug 2015 11:45:21 +0000 (11:45 +0000)]
[MIPS] Enable load/store bonding for I6400
gcc/
* config/mips/mips.h (ENABLE_LD_ST_PAIRS): Enable load/store pairs for
I6400.
From-SVN: r226860
Matthew Wahab [Thu, 13 Aug 2015 11:30:53 +0000 (11:30 +0000)]
atomic-inst-cas.c: New.
* gcc.target/aarch64/atomic-inst-cas.c: New.
* gcc.target/aarch64/atomic-inst-ops.inc: New.
From-SVN: r226859
Matthew Wahab [Thu, 13 Aug 2015 11:28:42 +0000 (11:28 +0000)]
* config/aarch64/aarch64-protos.h
(aarch64_gen_atomic_cas): Declare.
* config/aarch64/aarch64.c (aarch64_expand_compare_and_swap):
Choose appropriate instruction pattern for the target.
(aarch64_gen_atomic_cas): New.
* config/aarch64/atomics.md (UNSPECV_ATOMIC_CAS): New.
(atomic_compare_and_swap<mode>_1): Rename to
aarch64_compare_and_swap<mode>. Fix some indentation.
(aarch64_compare_and_swap<mode>_lse): New.
(aarch64_atomic_cas<mode>): New.
From-SVN: r226858
Matthew Wahab [Thu, 13 Aug 2015 11:20:07 +0000 (11:20 +0000)]
aarch64.h (AARCH64_ISA_LSE): New.
* config/aarch64/aarch64.h (AARCH64_ISA_LSE): New.
(TARGET_LSE): New.
From-SVN: r226857
Andreas Schwab [Thu, 13 Aug 2015 10:26:04 +0000 (10:26 +0000)]
* gcc.dg/tree-ssa/vrp33.c: Add -fno-tree-fre.
From-SVN: r226856
Paolo Carlini [Thu, 13 Aug 2015 10:18:47 +0000 (10:18 +0000)]
re PR c++/62164 (5.0: ICE: error: Both section and comdat group is set)
2015-08-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/62164
* g++.dg/torture/pr62164.C: New.
From-SVN: r226855
Richard Biener [Thu, 13 Aug 2015 09:39:50 +0000 (09:39 +0000)]
re PR tree-optimization/67191 (ICE: in before_dom_children, at tree-ssa-sccvn.c:4372)
2015-08-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/67191
* tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): Remove
assert we value-numbered last stmts operand because it can validly
trigger for unreachable code.
* gcc.dg/torture/pr67191.c: New testcase.
* g++.dg/torture/pr67191.C: Likewise.
From-SVN: r226854
Kyrylo Tkachov [Thu, 13 Aug 2015 09:11:13 +0000 (09:11 +0000)]
[RTL-ifcvt] Improve conditional select ops on immediates (fix failing x86_64 cmov tests)
PR rtl-optimization/67103
* ifcvt.c (noce_try_store_flag_constants): Move
x = (-(test != 0) & (b - a)) + a transformation to...
(noce_try_cmove): ... Here. Try it if normal conditional
move fails.
From-SVN: r226853
Richard Biener [Thu, 13 Aug 2015 07:52:06 +0000 (07:52 +0000)]
tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize comparison operand order and commutative ternary op operand order.
2015-08-12 Richard Biener <rguenther@suse.de>
* tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize
comparison operand order and commutative ternary op operand order.
(sccvn_dom_walker::cond_stack): New state to track temporary
expressions.
(sccvn_dom_walker::after_dom_children): Remove tempoary expressions
no longer valid.
(sccvn_dom_walker::record_cond): Add a single temporary conditional
expression.
(sccvn_dom_walker::record_conds): Add a temporary conditional
expressions and all related expressions also true/false.
(sccvn_dom_walker::before_dom_children): Record temporary
expressions based on the controlling condition of a single
predecessor. When trying to simplify a conditional statement
lookup expressions we might have inserted earlier.
* testsuite/gcc.dg/tree-ssa/ssa-fre-47.c: New testcase.
* testsuite/gcc.dg/tree-ssa/ssa-fre-48.c: Likewise.
* testsuite/gcc.dg/tree-ssa/ssa-fre-49.c: Likewise.
* testsuite/g++.dg/tree-ssa/pr61034.C: Adjust.
* testsuite/gcc.dg/fold-compare-2.c: Likewise.
* testsuite/gcc.dg/pr50763.c: Likewise.
* testsuite/gcc.dg/predict-3.c: Likewise.
* testsuite/gcc.dg/tree-ssa/
20030709-2.c: Likewise.
* testsuite/gcc.dg/tree-ssa/pr19831-3.c: Likewise.
* testsuite/gcc.dg/tree-ssa/pr20657.c: Likewise.
* testsuite/gcc.dg/tree-ssa/pr21001.c: Likewise.
* testsuite/gcc.dg/tree-ssa/pr37508.c: Likewise.
* testsuite/gcc.dg/tree-ssa/vrp04.c: Likewise.
* testsuite/gcc.dg/tree-ssa/vrp07.c: Likewise.
* testsuite/gcc.dg/tree-ssa/vrp09.c: Likewise.
* testsuite/gcc.dg/tree-ssa/vrp16.c: Likewise.
* testsuite/gcc.dg/tree-ssa/vrp20.c: Likewise.
* testsuite/gcc.dg/tree-ssa/vrp25.c: Likewise.
* testsuite/gcc.dg/tree-ssa/vrp87.c: Likewise.
From-SVN: r226852
Robert Suchanek [Thu, 13 Aug 2015 07:41:45 +0000 (07:41 +0000)]
[MIPS] Remove W32 and W64 pseudo-processors.
gcc/
* config/mips/mips.c (mips_rtx_cost_data): Remove costs for W32 and W64
pseudo-processors.
* config/mips/mips.md (processor): Remove w32 and w64.
From-SVN: r226851
Richard Biener [Thu, 13 Aug 2015 07:06:10 +0000 (07:06 +0000)]
re PR tree-optimization/66502 (SCCVN can't handle PHIs optimistically optimally)
2015-08-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/66502
PR tree-optimization/67167
* tree-ssa-sccvn.c (vn_phi_compute_hash): Do not include
backedge arguments.
(vn_phi_lookup): Adjust.
(vn_phi_insert): Likewise.
(visit_phi): Prefer to value-number to another PHI node
over value-numbering to a PHI argument.
(init_scc_vn): Mark DFS back edges.
* gcc.dg/tree-ssa/ssa-fre-46.c: New testcase.
From-SVN: r226850
Richard Biener [Thu, 13 Aug 2015 06:59:25 +0000 (06:59 +0000)]
gimple.h (gcall::code_): New constant static member.
2015-08-13 Richard Biener <rguenther@suse.de>
* gimple.h (gcall::code_): New constant static member.
(gcond::code_): Likewise.
* gimple.c (gcall::code_): Define.
(gcond::code_): Likewise.
(is_a_helper <const gcond *>): Add.
(gimple_call_lhs): Use GIMPLE_CHECK2 in the gimple overload
and forward to a new gcall overload with less checking and a
cheaper way to access the operand.
(gimple_call_lhs_ptr): Likewise.
(gimple_call_set_lhs): Likewise.
(gimple_call_internal_p): Likewise.
(gimple_call_with_bounds_p): Likewise.
(gimple_call_set_with_bounds): Likewise.
(gimple_call_internal_fn): Likewise.
(gimple_call_set_ctrl_altering): Likewise.
(gimple_call_ctrl_altering_p): Likewise.
(gimple_call_fntype): Likewise.
(gimple_call_fn): Likewise.
(gimple_call_fn_ptr): Likewise.
(gimple_call_set_fndecl): Likewise.
(gimple_call_fndecl): Likewise.
(gimple_call_chain): Likewise.
(gimple_call_num_args): Likewise.
(gimple_call_arg): Likewise.
(gimple_call_arg_ptr): Likewise.
(gimple_call_set_arg): Likewise.
(gimple_call_noreturn_p): Likewise.
(gimple_cond_code): Likewise.
(gimple_cond_lhs): Likewise.
(gimple_cond_rhs): Likewise.
(gimple_has_lhs): Reduce checking.
From-SVN: r226849
Naveen H.S [Thu, 13 Aug 2015 04:37:22 +0000 (04:37 +0000)]
re PR middle-end/25529 ((unsigned * 2)/2 is not changed into unsigned &0x7FFFFFFF)
2015-08-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
PR middle-end/25529
* match.pd (div (mult @0 @1) @1) : New simplifier.
From-SVN: r226847
Ian Lance Taylor [Thu, 13 Aug 2015 01:04:42 +0000 (01:04 +0000)]
compiler: Flatten erroneous subtrees into errors.
Between the lowering and flattening passes of the compiler, there are
several passes that modify the lowered Go parse tree and as errors are
discovered, several nodes transform into error nodes. However, for a
higher level node such as a construction expression, the erroneous
nodes in the subtrees might not propagate their error. The flatten
phase for a node now looks for errors in the subtree and flattens the
node into an error node if any are found.
Fixes golang/go#11559, golang/go#11536, golang/go#11558.
Reviewed-on: https://go-review.googlesource.com/13097
From-SVN: r226845
GCC Administrator [Thu, 13 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226844
Paolo Carlini [Wed, 12 Aug 2015 22:38:04 +0000 (22:38 +0000)]
re PR c++/53330 (new() operator can return NULL on a zero-length allocation)
2015-08-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53330
* g++.dg/init/new42.C: New.
From-SVN: r226840
Michael Meissner [Wed, 12 Aug 2015 21:54:23 +0000 (21:54 +0000)]
re PR target/67071 (GCC misses an optimization to load vector constants)
[gcc]
2015-08-12 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/67071
* config/rs6000/predicates.md (easy_vector_constant_vsldoi): New
predicate to allow construction of vector constants using the
VSLDOI vector shift instruction.
* config/rs6000/rs6000-protos.h (vspltis_shifted): Add
declaration.
* config/rs6000/rs6000.c (vspltis_shifted): New function to return
the number of bytes to be shifted left and filled in with either
all zero or all one bits.
(gen_easy_altivec_constant): Call vsplitis_shifted if no other
methods exist.
(output_vec_const_move): On power8, generate XXLORC to generate
a vector constant with all 1's. Do a split if we need to use a
VSLDOI instruction.
* config/rs6000/rs6000.h (EASY_VECTOR_MSB): Use mode mask to
properly test for the MSB.
* config/rs6000/altivec.md (VSLDOI splitter): Add splitter for
vector constants that can be created with VSLDOI.
[gcc/testsuite]
2015-08-12 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/67071
* gcc.target/powerpc/pr67071-1.c: New file to test PR 67071 new
vector constants.
* gcc.target/powerpc/pr67071-2.c: Likewise.
* gcc.target/powerpc/pr67071-3.c: Likewise.
From-SVN: r226836
Trevor Saunders [Wed, 12 Aug 2015 20:09:33 +0000 (20:09 +0000)]
Revert "replace several uses of the anon namespace with GCC_FINAL"
This reverts commit
daa5a8a3cf9b04cd9af5544c61e12e6dca14f870.
From-SVN: r226834
Jason Merrill [Wed, 12 Aug 2015 18:08:45 +0000 (14:08 -0400)]
re PR c++/67104 (Constant expression factory function initializes std::array with static storage duration strangely)
PR c++/67104
* constexpr.c (cxx_eval_array_reference): Fix typo.
From-SVN: r226833
Jason Merrill [Wed, 12 Aug 2015 18:02:43 +0000 (14:02 -0400)]
re PR c++/67104 (Constant expression factory function initializes std::array with static storage duration strangely)
PR c++/67104
* constexpr.c (cxx_eval_array_reference): Handle sparse
CONSTRUCTORs.
From-SVN: r226830
Jason Merrill [Wed, 12 Aug 2015 18:02:35 +0000 (14:02 -0400)]
re PR c++/67108 (ICE: in cxx_eval_call_expression, at cp/constexpr.c:1345 when dumping)
PR c++/67108
* decl2.c (c_parse_final_cleanups): Set at_eof to 2 at end.
* error.c (dump_template_bindings): Don't tsubst in that case.
From-SVN: r226829
Max Filippov [Wed, 12 Aug 2015 17:36:45 +0000 (17:36 +0000)]
xtensa: add -mauto-litpools option
With support from assembler this option allows compiling huge functions,
where single literal pool at the beginning of a function may not be
reachable by L32R instructions at its end.
Currently assembler --auto-litpools option cannot deal with literals
used from multiple locations separated by more than 256 KBytes of code.
Don't turn constants into literals, instead use MOVI instruction to load
them into registers and let the assembler turn them into literals as
necessary.
2015-08-12 Max Filippov <jcmvbkbc@gmail.com>
gcc/
* config/xtensa/constraints.md (define_constraint "Y"): New
constraint.
* config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools.
* config/xtensa/linux.h (ASM_SPEC): Likewise.
* config/xtensa/predicates.md (move_operand): Match constants
and symbols in the presence of TARGET_AUTO_LITPOOLS.
* config/xtensa/xtensa.c (xtensa_valid_move): Don't allow
immediate references to TLS data.
(xtensa_emit_move_sequence): Don't force constants to memory in
the presence of TARGET_AUTO_LITPOOLS.
(print_operand): Add 'y' format, same as default, but capable of
printing SF mode constants as well.
* config/xtensa/xtensa.md (movsi_internal, movhi_internal)
(movsf_internal): Add movi pattern that loads literal.
(movsf, movdf): Don't force constants to memory in the presence
of TARGET_AUTO_LITPOOLS.
(movdf_internal): Add 'Y' constraint.
* config/xtensa/xtensa.opt (mauto-litpools): New option.
* doc/invoke.text (Xtensa options): Document -mauto-litpools.
From-SVN: r226828
Jason Merrill [Wed, 12 Aug 2015 17:33:39 +0000 (13:33 -0400)]
re PR c++/67161 (ICE with a static_assert using our internal __not/__or/__and traits)
PR c++/67161
* error.c (dump_decl) [TEMPLATE_ID_EXPR]: Pass
TFF_NO_OMIT_DEFAULT_TEMPLATE_ARGUMENTS.
From-SVN: r226827
Marek Polacek [Wed, 12 Aug 2015 17:25:23 +0000 (17:25 +0000)]
re PR c++/55095 (Wshift-overflow)
PR c++/55095
* c-common.c (maybe_warn_shift_overflow): Properly handle
left-shifting 1 into the sign bit.
* c-c++-common/Wshift-overflow-6.c: New test.
* c-c++-common/Wshift-overflow-7.c: New test.
* g++.dg/cpp1y/left-shift-2.C: New test.
From-SVN: r226826
Ian Lance Taylor [Wed, 12 Aug 2015 17:21:11 +0000 (17:21 +0000)]
compiler: Don't make gc symbol for bad array type.
When parsing a malformed array type, i.e. invalid length, gccgo
would loop indefinitely based off of a uninitialized length variable.
Fixes golang/go#11539.
Reviewed-on: https://go-review.googlesource.com/13066
From-SVN: r226825
Paolo Carlini [Wed, 12 Aug 2015 17:18:14 +0000 (17:18 +0000)]
re PR c++/52742 (Initializing an array using brace initializer and template parameters)
2015-08-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52742
* g++.dg/cpp0x/pr52742.C: New.
From-SVN: r226824
Matthew Wahab [Wed, 12 Aug 2015 15:42:31 +0000 (15:42 +0000)]
arm-fpus.def: Replace booleans with feature flags.
* config/arm/arm-fpus.def: Replace booleans with feature flags.
Update comment.
* config/arm/arm.c (ARM_FPU): Update macro.
* config/arm/arm.h (TARGET_NEON_FP16): Update feature test.
(TARGET_FP16): Likewise.
(TARGET_CRYPTO): Likewise.
(TARGET_NEON): Likewise.
(struct arm_fpu_desc): Remove fields neon, fp16 and crypto. Add
field features.
From-SVN: r226821
Caroline Tice [Wed, 12 Aug 2015 15:40:11 +0000 (08:40 -0700)]
Fix warnings when bootstrapping on darwin with vtable verification enabled.
libstdc++-v3/ChangeLog:
2015-08-11 Caroline Tice <cmtice@google.com>
PR 66521, Contributed by Eric Gallager
* acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and
fix the rpath flag to work properly for darwin.
* configure: Regenerated.
From-SVN: r226820
Tom de Vries [Wed, 12 Aug 2015 15:13:35 +0000 (15:13 +0000)]
Remove --with-host-libstdcxx
2015-08-12 Tom de Vries <tom@codesourcery.com>
PR other/67092
PR other/67098
* configure.ac: Remove --with_host_libstdcxx support.
* configure: Regenerate.
* doc/install.texi: Remove --with_host_libstdcxx item. Update
--with-stage1-libs, --with-boot-ldflags and --with-boot-libs items
accordingly. Mention default for --with-stage1-ldflags.
From-SVN: r226819
Matthew Wahab [Wed, 12 Aug 2015 15:03:29 +0000 (15:03 +0000)]
arm.h (arm_fpu_feature_set): New.
* config/arm/arm.h (arm_fpu_feature_set): New.
(ARM_FPU_FSET_HAS): New.
(FPU_FL_NONE): New.
(FPU_FL_NEON): New.
(FPU_FL_FP16): New.
(FPU_FL_CRYPTO): New.
From-SVN: r226818
H.J. Lu [Wed, 12 Aug 2015 14:52:22 +0000 (14:52 +0000)]
Add Knights Landing support to __builtin_cpu_is
This patch adds Knights Landing support to __builtin_cpu_is.
gcc/testsuite/
* gcc.target/i386/builtin_target.c (check_intel_cpu_model):
Check Knights Landing support.
libgcc/
* config/i386/cpuinfo.c (processor_types): Add INTEL_KNL.
(get_intel_cpu): Add Knights Landing support.
From-SVN: r226817
Paolo Carlini [Wed, 12 Aug 2015 14:47:58 +0000 (14:47 +0000)]
re PR c++/47461 (warn_unused_result attribute ignored for templates)
2015-08-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/47461
* g++.dg/warn/Wunused-result-1.C: New.
From-SVN: r226816
Kyrylo Tkachov [Wed, 12 Aug 2015 14:36:35 +0000 (14:36 +0000)]
[AArch64] Do not ICE after apologising for -mcmodel=large -fPIC
* config/aarch64/aarch64.c (initialize_aarch64_code_model): Break
after -mcmodel=large -fPIC sorry.
From-SVN: r226815
Richard Biener [Wed, 12 Aug 2015 14:27:40 +0000 (14:27 +0000)]
tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize comparison operand order and commutative ternary op operand order.
2015-08-12 Richard Biener <rguenther@suse.de>
* tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize
comparison operand order and commutative ternary op operand order.
(sccvn_dom_walker::cond_stack): New state to track temporary
expressions.
(sccvn_dom_walker::after_dom_children): Remove tempoary expressions
no longer valid.
(sccvn_dom_walker::record_cond): Add a single temporary conditional
expression.
(sccvn_dom_walker::record_conds): Add a temporary conditional
expressions and all related expressions also true/false.
(sccvn_dom_walker::before_dom_children): Record temporary
expressions based on the controlling condition of a single
predecessor. When trying to simplify a conditional statement
lookup expressions we might have inserted earlier.
* gcc.dg/tree-ssa/ssa-fre-47.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-48.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-49.c: Likewise.
* g++.dg/tree-ssa/pr61034.C: Adjust.
* gcc.dg/fold-compare-2.c: Likewise.
* gcc.dg/pr50763.c: Likewise.
* gcc.dg/predict-3.c: Likewise.
* gcc.dg/tree-ssa/
20030709-2.c: Likewise.
* gcc.dg/tree-ssa/pr19831-3.c: Likewise.
* gcc.dg/tree-ssa/pr20657.c: Likewise.
* gcc.dg/tree-ssa/pr21001.c: Likewise.
* gcc.dg/tree-ssa/pr37508.c: Likewise.
* gcc.dg/tree-ssa/vrp04.c: Likewise.
* gcc.dg/tree-ssa/vrp07.c: Likewise.
* gcc.dg/tree-ssa/vrp09.c: Likewise.
* gcc.dg/tree-ssa/vrp16.c: Likewise.
* gcc.dg/tree-ssa/vrp20.c: Likewise.
* gcc.dg/tree-ssa/vrp25.c: Likewise.
* gcc.dg/tree-ssa/vrp87.c: Likewise.
From-SVN: r226814
Yvan Roux [Wed, 12 Aug 2015 13:27:41 +0000 (13:27 +0000)]
re PR target/67127 ([ARM] Avoiding odd-number ldrd/strd in movdi introduced a regression on armeb-linux-gnueabihf)
2015-08-12 Yvan Roux <yvan.roux@linaro.org>
PR target/67127
* config/arm/arm.md (movdi): Restrict illegitimate ldrd/strd checking
to ARM core registers.
From-SVN: r226811
Nathan Sidwell [Wed, 12 Aug 2015 13:08:23 +0000 (13:08 +0000)]
tree-vrp.c (simplify_min_or_max_using_ranges): New.
* tree-vrp.c (simplify_min_or_max_using_ranges): New.
(simplify_stmt_using_ranges): Simplify MIN and MAX exprs.
testsuite/
* gcc.dg/vrp-min-max-1.c: New.
* gcc.dg/vrp-min-max-2.c: New.
From-SVN: r226809
Marek Polacek [Wed, 12 Aug 2015 11:26:39 +0000 (11:26 +0000)]
c-decl.c (grokdeclarator): Call error_at instead of error and pass LOC to it.
* c-decl.c (grokdeclarator): Call error_at instead of error and pass
LOC to it.
From-SVN: r226807
Jonathan Wakely [Wed, 12 Aug 2015 10:47:30 +0000 (11:47 +0100)]
appendix_contributing.xml: Update patch email policy.
* doc/xml/manual/appendix_contributing.xml: Update patch email policy.
* doc/xml/manual/status_cxx2017.xml: Update status table.
* doc/html/manual/*: Regenerate.
From-SVN: r226806
Simon Dardis [Wed, 12 Aug 2015 10:44:56 +0000 (11:44 +0100)]
[MIPS] Scheduler fix for the 74k & 24k.
2015-08-12 Simon Dardis <simon.dardis@imgtec.com>
gcc/
* config/mips/mips.c (mips_store_data_bypass_p): Bring code into
line with comments.
* config/mips/sb1.md: Update usage of mips_store_data_bypass_p.
From-SVN: r226805
Richard Biener [Wed, 12 Aug 2015 07:42:31 +0000 (07:42 +0000)]
gimple.h (remove_pointer): New trait.
2015-08-12 Richard Biener <rguenther@suse.de>
* gimple.h (remove_pointer): New trait.
(GIMPLE_CHECK2): New inline template function.
(gassign::code_): New constant static member.
(is_a_helper<const gassign *>): Add.
(gimple_assign_lhs): Use GIMPLE_CHECK2 in the gimple overload
and forward to a new gassign overload with less checking and a
cheaper way to access the operand.
(gimple_assign_lhs_ptr): Likewise.
(gimple_assign_set_lhs): Likewise.
(gimple_assign_rhs1, gimple_assign_rhs1_ptr, gimple_assign_set_rhs1):
Likewise.
(gimple_assign_rhs2, gimple_assign_rhs2_ptr, gimple_assign_set_rhs2):
Likewise.
(gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3):
Likewise.
(gimple_assign_rhs_code): Likewise.
* gimple.c (gassign::code_): Define.
From-SVN: r226802
Richard Biener [Wed, 12 Aug 2015 07:34:07 +0000 (07:34 +0000)]
tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Eliminate edges marked as not executable by SCCVN.
2015-08-12 Richard Biener <rguenther@suse.de>
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Eliminate edges marked as not executable by SCCVN.
* tree-ssa-sccvn.c: Include gimple-iterator.h.
(cond_dom_walker): Rename to sccvn_dom_walker.
(sccvn_dom_walker::before_dom_children): Value-number defs
of all stmts.
(run_scc_vn): Remove loop value-numbering all SSA names.
Drop not visited SSA names to varying.
* gcc.dg/tree-ssa/ssa-fre-43.c: Adjust.
From-SVN: r226801
Tom de Vries [Wed, 12 Aug 2015 05:50:55 +0000 (05:50 +0000)]
Fix vect/trapv-vect-reduc-4.c for sparc
2015-08-12 Tom de Vries <tom@codesourcery.com>
PR testsuite/67175
* gcc.dg/vect/trapv-vect-reduc-4.c: Add reduction detection scan.
Handle absence of vector min/max for sparc.
From-SVN: r226800
GCC Administrator [Wed, 12 Aug 2015 00:16:10 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226798
Ian Lance Taylor [Tue, 11 Aug 2015 23:11:36 +0000 (23:11 +0000)]
compiler: Check for EOF in malformed signatures.
When parsing a malformed function declaration with invalid parameters,
gccgo would infinitely loop looking for the end of the function
declaration.
Fixes golang/go#11530, golang/go#11531.
Reviewed-on: https://go-review.googlesource.com/13065
From-SVN: r226795
Ian Lance Taylor [Tue, 11 Aug 2015 22:45:32 +0000 (22:45 +0000)]
compiler: Handle newlines in general comments.
On comments, the specification says
(http://golang.org/ref/spec#Comments): General comments start with the
character sequence /* and continue through the character sequence */.
A general comment containing one or more newlines acts like a newline,
otherwise it acts like a space.
Fixes golang/go#11528.
Reviewed-on: https://go-review.googlesource.com/13064
From-SVN: r226794
Trevor Saunders [Tue, 11 Aug 2015 22:39:37 +0000 (22:39 +0000)]
replace several uses of the anon namespace with GCC_FINAL
gcc/ChangeLog:
2015-08-11 Trevor Saunders <tbsaunde@tbsaunde.org>
* compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c,
gimple-ssa-strength-reduction.c, graphite.c, init-regs.c,
ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c,
omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c,
tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c,
tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c,
vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous
namespace.
From-SVN: r226793
Trevor Saunders [Tue, 11 Aug 2015 22:39:31 +0000 (22:39 +0000)]
add GCC_FINAL to ansidecl.h
include/ChangeLog:
2015-08-11 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* ansidecl.h (GCC_FINAL): New macro.
From-SVN: r226792
Ian Lance Taylor [Tue, 11 Aug 2015 21:37:26 +0000 (21:37 +0000)]
compiler: Don't make void-typed temporaries.
Fixes golang/go#11568.
Reviewed-on: https://go-review.googlesource.com/12653
From-SVN: r226788
Uros Bizjak [Tue, 11 Aug 2015 18:27:46 +0000 (20:27 +0200)]
* gcc.target/i386/avx2-vect-shift.c: Remove unneeded dg directives.
From-SVN: r226787
Uros Bizjak [Tue, 11 Aug 2015 17:59:25 +0000 (19:59 +0200)]
configure.ac (tools/gjdoc): Depend on CREATE_WRAPPERS.
* configure.ac (tools/gjdoc): Depend on CREATE_WRAPPERS.
* configure: Regenerate.
* tools/Makefile.am: Remove unneeded dependencies for Automake 1.11.
* tools/Makefile.in: Regenerate.
From-SVN: r226785
Uros Bizjak [Tue, 11 Aug 2015 17:53:41 +0000 (19:53 +0200)]
re PR target/66954 (function multiversioning fails for target "aes")
libgcc/ChangeLog:
PR target/66954
* config/i386/cpuinfo.c (enum processor_features): Add FEATURE_PCLMUL.
(get_available_features): Handle FEATURE_PCLMUL.
gcc/ChangeLog:
PR target/66954
* config/i386/i386.c (get_builtin_code_for_version): Add P_PCLMUL
to enum feature_priority and feature_list.
(fold_builtin_cpu): Add F_PCLMUL to enum processor_features
and isa_names_table.
gcc/testsuite/ChangeLog:
PR target/66954
* g++.dg/ext/mv25.C: New test.
From-SVN: r226784
Yuri Rumyantsev [Tue, 11 Aug 2015 13:52:17 +0000 (13:52 +0000)]
tree-vect-stmts.c (vectorizable_shift): Add missed test on vect_induction_def.
gcc/
* tree-vect-stmts.c (vectorizable_shift): Add missed test on
vect_induction_def.
gcc/testsuite:
* gcc.target/i386/avx2-vect-shift.c: New test.
From-SVN: r226781
Manuel López-Ibáñez [Tue, 11 Aug 2015 13:34:00 +0000 (13:34 +0000)]
re PR c/66098 (#pragma diagnostic 'ignored' not fully undone by pop for strict-overflow)
gcc/ChangeLog:
2015-08-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/66098
PR c/66711
* diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into
account when deciding what was the command-line status.
gcc/testsuite/ChangeLog:
2015-08-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/66098
PR c/66711
* gcc.dg/pragma-diag-3.c: New test.
* gcc.dg/pragma-diag-4.c: New test.
From-SVN: r226780
Nathan Sidwell [Tue, 11 Aug 2015 12:34:43 +0000 (12:34 +0000)]
* tree-vrp.c (simplify_abs_using_ranges): Simplify.
From-SVN: r226779
Nathan Sidwell [Tue, 11 Aug 2015 12:34:06 +0000 (12:34 +0000)]
tree-ssa-phiopt.c (minmax_replacement): Create new ssa name if we're not the only contributor to target phi.
* tree-ssa-phiopt.c (minmax_replacement): Create new ssa name if
we're not the only contributor to target phi.
testsuite/
* c-c++-common/dfp/operator-comma.c: Call init function.
* c-c++-common/dfp/convert-dfp-2.c: New test.
From-SVN: r226778
Jiong Wang [Tue, 11 Aug 2015 11:17:28 +0000 (11:17 +0000)]
[AArch64][Obivious] Add the missing ',' for enumeration element
2015-08-11 Jiong Wang <jiong.wang@arm.com>
gcc/
* config/aarch64/aarch64.h (REG_CLASS_NAMES): Add the missing ',' after
FIXED_REG0.
From-SVN: r226777
Tom de Vries [Tue, 11 Aug 2015 09:15:19 +0000 (09:15 +0000)]
Add todo comment for move_sese_region_to_fn
2015-08-11 Tom de Vries <tom@codesourcery.com>
* tree-cfg.c (move_sese_region_to_fn): Add todo comment.
From-SVN: r226776
Iain Buclaw [Tue, 11 Aug 2015 07:12:19 +0000 (07:12 +0000)]
Fix test failure on Solaris 9 where strtod() does not accept hexadecimals
2015-08-11 Iain Buclaw <ibuclaw@gdcproject.org>
libiberty/
* d-demangle.c (dlang_parse_real): Remove call to strtod.
(strtod): Remove declaration.
* testsuite/d-demangle-expected: Update float and complex literal
tests to check correct hexadecimal demangling.
From-SVN: r226774
GCC Administrator [Tue, 11 Aug 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226773
Steven G. Kargl [Mon, 10 Aug 2015 21:45:01 +0000 (21:45 +0000)]
re PR libfortran/67140 (undefined reference to _gfortran_mvbits_i16)
2015-08-10 Steven G. Kargl <kargl@gcc.gnu.org>
PR libfortran/67140
* intrinsics/mvbits.c: Fix build for paltforms without c_int128_t.
From-SVN: r226769
H.J. Lu [Mon, 10 Aug 2015 19:19:05 +0000 (19:19 +0000)]
Treat model == 0x4f as Broadwell
gcc/testsuite/
* gcc.target/i386/builtin_target.c (check_intel_cpu_model):
Treat model == 0x4f as Broadwell.
libgcc/
* config/i386/cpuinfo.c (get_intel_cpu): Treat model == 0x4f as
Broadwell.
From-SVN: r226766
H.J. Lu [Mon, 10 Aug 2015 18:59:35 +0000 (18:59 +0000)]
Update -mtune=knl for Knights Landing
From:
https://software.intel.com/sites/default/files/managed/e9/b5/Knights-Corner-is-your-path-to-Knights-Landing.pdf
Knights Landing is “Based on Intel Atom core (based on Silvermont
microarchitecture) with many HPC enhancements.”
This patch replaces CPU_KNL with CPU_SLM to tune for Knights Landing.
* config/i386/i386.c (processor_alias_table): Replace CPU_KNL
with CPU_SLM.
* config/i386/i386.md (cpu): Remove knl.
From-SVN: r226765
Steven G. Kargl [Mon, 10 Aug 2015 17:42:00 +0000 (17:42 +0000)]
[multiple changes]
2015-08-10 Steven G. Kargl <kargl@gcc.gnu.org>
PR libfortran/67140
* gfortran.map: Add _gfortran_mvbits_i16.
* intrinsics/mvbits.c: Generate mvbits for c_int128_t.
2015-08-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR libfortran/67140
* gfortran.dg/pr67140.f90: New test.
From-SVN: r226764
Thomas Schwinge [Mon, 10 Aug 2015 16:48:26 +0000 (18:48 +0200)]
[PR libgomp/65742, PR middle-end/66332] libgomp: Remove plugin for non-shared memory host execution
gcc/
* builtins.c (expand_builtin_acc_on_device) [ACCEL_COMPILER]: Emit
open-coded sequence.
* omp-low.c (oacc_process_reduction_data): Remove handline of
GOMP_DEVICE_HOST_NONSHM.
gcc/testsuite/
* c-c++-common/goacc/acc_on_device-2.c: Remove XFAIL for C.
include/
* gomp-constants.c (GOMP_DEVICE_HOST_NONSHM): Remove.
libgomp/
* libgomp-plugin.h (enum offload_target_type): Remove
OFFLOAD_TARGET_TYPE_HOST_NONSHM.
* openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
* openacc.h (enum acc_device_t): Likewise.
* openacc_lib.h: Likewise.
* oacc-init.c (name_of_acc_device_t): Don't handle it.
(acc_on_device): Just use __builtin_acc_on_device.
* testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
of acc_on_device builtin.
* plugin/plugin-host.h: Remove file.
* plugin/plugin-host.c: Likewise, but salvage some content into...
* oacc-host.c: ... this file.
* plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
* plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
* Makefile.in: Regenerate.
* configure: Likewise.
* testsuite/lib/libgomp.exp
(check_effective_target_openacc_host_nonshm_selected): Remove.
* testsuite/libgomp.oacc-c++/c++.exp: Don't handle
ACC_DEVICE_TYPE=host_nonshm.
* testsuite/libgomp.oacc-c/c.exp: Likewise.
* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
From-SVN: r226763
Thomas Schwinge [Mon, 10 Aug 2015 15:53:33 +0000 (17:53 +0200)]
Empty libgomp for nvptx
* configure.ac (noconfigdirs): Don't add "target-libgomp" for target
nvptx*-*-*.
* configure: Regenerate.
libgomp/
* config/nvptx/affinity.c: New file.
* config/nvptx/alloc.c: Likewise.
* config/nvptx/bar.c: Likewise.
* config/nvptx/barrier.c: Likewise.
* config/nvptx/critical.c: Likewise.
* config/nvptx/env.c: Likewise.
* config/nvptx/error.c: Likewise.
* config/nvptx/fortran.c: Likewise.
* config/nvptx/iter.c: Likewise.
* config/nvptx/iter_ull.c: Likewise.
* config/nvptx/libgomp-plugin.c: Likewise.
* config/nvptx/lock.c: Likewise.
* config/nvptx/loop.c: Likewise.
* config/nvptx/loop_ull.c: Likewise.
* config/nvptx/mutex.c: Likewise.
* config/nvptx/oacc-async.c: Likewise.
* config/nvptx/oacc-cuda.c: Likewise.
* config/nvptx/oacc-host.c: Likewise.
* config/nvptx/oacc-init.c: Likewise.
* config/nvptx/oacc-mem.c: Likewise.
* config/nvptx/oacc-parallel.c: Likewise.
* config/nvptx/oacc-plugin.c: Likewise.
* config/nvptx/omp-lock.h: Likewise.
* config/nvptx/ordered.c: Likewise.
* config/nvptx/parallel.c: Likewise.
* config/nvptx/proc.c: Likewise.
* config/nvptx/ptrlock.c: Likewise.
* config/nvptx/sections.c: Likewise.
* config/nvptx/sem.c: Likewise.
* config/nvptx/single.c: Likewise.
* config/nvptx/splay-tree.c: Likewise.
* config/nvptx/target.c: Likewise.
* config/nvptx/task.c: Likewise.
* config/nvptx/team.c: Likewise.
* config/nvptx/time.c: Likewise.
* config/nvptx/work.c: Likewise.
* configure.ac: Don't probe pthreads support for host nvptx*-*-*.
* configure: Regenerate.
* configure.tgt (config_path): Set to "nvptx" for target
nvptx*-*-*.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r226760
Thomas Schwinge [Mon, 10 Aug 2015 15:22:30 +0000 (17:22 +0200)]
Fix offloading machine mode stream reading
... in context of the GET_MODE_INNER changes applied in r226328.
gcc/
* lto-streamer-in.c (lto_input_mode_table): Adjust to
GET_MODE_INNER changes.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
From-SVN: r226759
Thomas Schwinge [Mon, 10 Aug 2015 15:22:24 +0000 (17:22 +0200)]
Correctly advance iterator in offloading machine mode stream reading
gcc/
* lto-streamer-in.c (lto_input_mode_table): Correctly advance
iterator.
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
From-SVN: r226758
Ramana Radhakrishnan [Mon, 10 Aug 2015 10:06:28 +0000 (10:06 +0000)]
[AArch64] Recommit correct version for improving TLS descriptor pattern
2015-08-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Jiong Wang <jiong.wang@arm.com>
gcc/
* config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
* config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
* config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
(aarch64_register_move_cost): Likewise.
(aarch64_load_symref_appropriately): Invoke the new added pattern if
possible.
* config/aarch64/constraints.md (Uc0): New constraint.
gcc/testsuite/
* gcc.target/aarch64/tlsdesc_hoist.c: New testcase.
From-SVN: r226757
Jiong Wang [Mon, 10 Aug 2015 10:00:56 +0000 (10:00 +0000)]
[AArch64] Revert wrong commit of "Improve TLS Descriptor pattern to release RTL loop IV opt"
Revert the wrong commit of
2015-08-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Jiong Wang <jiong.wang@arm.com>
* config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
* config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
* config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
(aarch64_register_move_cost): Likewise.
(aarch64_load_symref_appropriately): Invoke the new added pattern if
possible.
* config/aarch64/constraints.md (Uc0): New constraint.
From-SVN: r226756
Uros Bizjak [Mon, 10 Aug 2015 05:13:01 +0000 (07:13 +0200)]
re PR fortran/64022 ([F2003][IEEE] ieee_support_flag does not handle kind=10 and kind=16 REAL variables)
PR fortran/64022
* gfortran.dg/ieee/large_4.f90: New test.
From-SVN: r226755
GCC Administrator [Mon, 10 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226754
Manuel López-Ibáñez [Sun, 9 Aug 2015 19:30:17 +0000 (19:30 +0000)]
options.texi (EnabledBy): Document that the argument must be a Common option.
gcc/ChangeLog:
2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
* doc/options.texi (EnabledBy): Document that the argument must be
a Common option.
* doc/invoke.texi (Wnull-dereference): Move after Wnonnull.
Not enabled by -Wall.
* optc-gen.awk: Give nicer error messages. Detect if the argument
of EnabledBy is not a Common option.
* common.opt (Wnull-dereference): Not enabled by -Wall.
* opt-functions.awk (lang_enabled_by): Nicer error messages.
gcc/c-family/ChangeLog:
2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
* c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
From-SVN: r226751
Francois-Xavier Coudert [Sun, 9 Aug 2015 16:43:42 +0000 (16:43 +0000)]
re PR libfortran/66936 (io/unix.c gratuitously uses S_IRWXG and S_IRWXO on the basis that umask() is available)
PR libfortran/66936
* io/unix.c (__MINGW32__): Undefine HAVE_UMASK.
From-SVN: r226750
H.J. Lu [Sun, 9 Aug 2015 13:59:08 +0000 (13:59 +0000)]
Treat model == 0x4f as Broadwell
From Intel SDM Vol 3:
Table 35-29 lists MSRs that are common to processors based on the
Broadwell microarchitectures (including CPUID signatures 06_3DH,
06_47H, 06_4FH, and 06_56H).
* config/i386/driver-i386.c (host_detect_local_cpu): Treat
model == 0x4f as Broadwell.
From-SVN: r226749
Francois-Xavier Coudert [Sun, 9 Aug 2015 08:46:52 +0000 (08:46 +0000)]
Makefile.am (libquadmath_la_SOURCES): Add math/logbq.c.
* Makefile.am (libquadmath_la_SOURCES): Add math/logbq.c.
* Makefile.in: Regenerate.
* libquadmath.texi: Document logbq.
* quadmath.h: Add logbq prototype.
* quadmath.map: Add logbq.
* quadmath_weak.h: Add logbq prototype.
* math/logbq.c: New file
From-SVN: r226748
GCC Administrator [Sun, 9 Aug 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226746
Ville Voutilainen [Sat, 8 Aug 2015 22:57:13 +0000 (01:57 +0300)]
Implement N4279, Improved insertion interface for unique-key maps.
2015-08-09 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement N4279, Improved insertion interface for unique-key maps.
* include/bits/stl_map.h (try_emplace, insert_or_assign): New.
* include/bits/stl_tree.h (_M_get_insert_unique_pos,
_M_get_insert_equal_pos, _M_get_insert_hint_unique_pos,
_M_get_insert_hint_equal_pos): Make public.
* include/bits/unordered_map.h (try_emplace, insert_or_assign): New.
* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
Likewise.
* testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
* testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
Likewise.
* testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
Likewise.
From-SVN: r226743
Jason Merrill [Sat, 8 Aug 2015 22:04:34 +0000 (18:04 -0400)]
re PR c++/67144 ([C++1z] ICE; in get_constraints, at cp/pt.c:23346)
PR c++/67144
* call.c (joust): Only call more_constrained on decls.
From-SVN: r226740
Jason Merrill [Sat, 8 Aug 2015 22:01:39 +0000 (18:01 -0400)]
re PR c++/67152 ([concepts] bogus "partial specialization of ‘foo<T>’ after instantiation" error)
PR c++/67152
* pt.c (process_partial_specialization): Call
associate_classtype_constraints.
From-SVN: r226739
Jason Merrill [Sat, 8 Aug 2015 22:01:29 +0000 (18:01 -0400)]
re PR c++/67159 ([c++concepts] Segfault while diagnosing constraint violation)
PR c++/67159
* constraint.cc (finish_template_introduction):
SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT.
From-SVN: r226738
Jason Merrill [Sat, 8 Aug 2015 22:01:21 +0000 (18:01 -0400)]
re PR c++/67142 ([C++1z] ICE: tree check: expected template_decl, have field_decl in equal, at cp/pt.c:1665)
PR c++/67142
* pt.c (equal): Make sure tmpl is actually a template.
From-SVN: r226737
Jason Merrill [Sat, 8 Aug 2015 22:01:12 +0000 (18:01 -0400)]
re PR libstdc++/67114 ([MinGW64] build failure with POSIX threads enabled)
PR c++/67114
* call.c (joust): Only call more_constrained on decls.
From-SVN: r226736
Francois-Xavier Coudert [Sat, 8 Aug 2015 19:59:16 +0000 (19:59 +0000)]
re PR fortran/67059 (gfortran --version output is inconsistent with the rest of GCC)
PR fortran/67059
* gfortranspec.c (lang_specific_driver): Adjust --version output.
From-SVN: r226734
Ville Voutilainen [Sat, 8 Aug 2015 11:07:34 +0000 (14:07 +0300)]
Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118) and N4366 LWG 2228...
2015-08-08 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118)
and N4366 LWG 2228: Missing SFINAE rule in unique_ptr
templated assignment
* include/bits/unique_ptr.h
(__remove_cv, __is_derived_Tp): Remove.
(default_delete::default_delete(const default_delete<_Up[]>)):
Constrain with array convertibility.
(default_delete::operator(_Up*)): Turn into a template,
constrain with array convertibility.
(__safe_conversion_up): New, single object version.
(unique_ptr(unique_ptr<_Up, _Ep>&&)): Constrain with deleter
convertibility.
(unique_ptr::operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
is_assignable as a constraint.
(__safe_conversion_up): Array version, renamed from __safe_conversion,
updated to implement N4089.
(__safe_conversion_raw): New.
(unique_ptr(_Up)): Turn into a template, constrain with array
convertibility.
(unique_ptr(_Up,
typename conditional<is_reference<deleter_type>::value,
deleter_type, const deleter_type&>::type)): Likewise.
(unique_ptr(_Up, typename
remove_reference<deleter_type>::type&&)): Likewise.
(unique_ptr(unique_ptr<_Up, _Ep>&&)): Likewise.
(operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
is_assignable as a constraint (array version).
(reset(_Up)): Turn into a template, constrain with array
convertibility.
(reset(nullptr_t)): New.
* testsuite/20_util/default_delete/48631_neg.cc: Adjust.
* testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
* testsuite/20_util/unique_ptr/dr2228.cc: New.
* testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Adjust.
From-SVN: r226733
Bud Davis [Sat, 8 Aug 2015 10:40:06 +0000 (10:40 +0000)]
When undoing symbols, also restore common block lists
gcc/fortran/
2015-08-08 Bud Davis <jmdavis@link.com>
Mikael Morin <mikael@gcc.gnu.org>
PR fortran/59746
* symbol.c (gfc_restore_last_undo_checkpoint): Delete a common block
symbol if it was put in the list.
gcc/testsuite/
2015-08-08 Bud Davis <jmdavis@link.com>
PR fortran/59746
* gfortran.dg/common_22.f90: New.
Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>
From-SVN: r226732
Segher Boessenkool [Sat, 8 Aug 2015 01:51:27 +0000 (03:51 +0200)]
re PR rtl-optimization/67028 (combine bug. Different assumptions about subreg in different places.)
PR rtl-optimization/67028
* combine.c (simplify_comparison): Fix comment. Rearrange code.
Add test to see if a const_int fits in the new mode.
gcc/testsuite/
PR rtl-optimization/67028
* gcc.dg/pr67028.c: New testcase.
From-SVN: r226731
DJ Delorie [Sat, 8 Aug 2015 01:09:20 +0000 (21:09 -0400)]
* config/rx/rx.c (rx_mode_dependent_address_p): Remove unneeded asserts.
From-SVN: r226730
GCC Administrator [Sat, 8 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226729
Francois-Xavier Coudert [Fri, 7 Aug 2015 16:23:53 +0000 (16:23 +0000)]
re PR libfortran/66458 (Loading libgfortran.so changes the FPU exception flags)
PR libfortran/66458
* runtime/main.c (init): Only call set_fpu() if requested by user.
From-SVN: r226725
H.J. Lu [Fri, 7 Aug 2015 16:18:09 +0000 (16:18 +0000)]
Add alternative_mask to ira_implicitly_set_insn_hard_regs
Since ira_implicitly_set_insn_hard_regs may be called outside of
ira-lives.c, it can't use the local variable, preferred_alternatives.
This patch adds an alternative_mask argument to
ira_implicitly_set_insn_hard_regs.
gcc/
PR rtl-optimization/67029
* ira-color.c: Include "recog.h" before including "ira-int.h".
* target-globals.c: Likewise.
* ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an
adds an alternative_mask argument and use it instead of
preferred_alternatives.
* ira.h (ira_implicitly_set_insn_hard_regs): Moved to ...
* ira-int.h (ira_implicitly_set_insn_hard_regs): Here.
* sched-deps.c: Include "ira-int.h" after including "ira.h".
(sched_analyze_insn): Update call to
ira_implicitly_set_insn_hard_regs.
* sel-sched.c: Include "ira-int.h" after including "ira.h".
(implicit_clobber_conflict_p): Update call to
ira_implicitly_set_insn_hard_regs.
gcc/testsuite/
PR rtl-optimization/67029
* gcc.dg/pr67029.c: New test.
From-SVN: r226724
Francois-Xavier Coudert [Fri, 7 Aug 2015 15:02:15 +0000 (15:02 +0000)]
re PR fortran/64104 ([F2003][IEEE] Allow IEEE functions in specification expressions)
PR fortran/64104
* expr.c (gfc_check_init_expr): Allow some IEEE functions in
constant expressions.
(external_spec_function): Allow some IEEE functions in specification
expressions.
* simplify.c (gfc_simplify_ieee_selected_real_kind): Remove.
(simplify_ieee_selected_real_kind, simplify_ieee_support,
matches_ieee_function_name, gfc_simplify_ieee_functions): New
functions.
* gfortran.h (gfc_simplify_ieee_selected_real_kind): Remove
prototype.
(gfc_simplify_ieee_functions): Add prototype.
* gfortran.dg/ieee/ieee_8.f90: New test.
From-SVN: r226723
Jiong Wang [Fri, 7 Aug 2015 13:26:23 +0000 (13:26 +0000)]
[AArch64] Check branch types for noplt testcases
2015-08-07 Jiong Wang <jiong.wang@arm.com>
gcc/testsuite/
* gcc.target/aarch64/noplt_1.c: Check branch type instead of relocation
modifers.
* gcc.target/aarch64/noplt_2.c: Likewise.
* gcc.target/aarch64/noplt_3.c: Likewise.
From-SVN: r226721