platform/upstream/gcc.git
7 years agoc-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases and __cpp_deduction_guides.
Jason Merrill [Fri, 14 Oct 2016 22:02:01 +0000 (18:02 -0400)]
c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases and __cpp_deduction_guides.

* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
and __cpp_deduction_guides.

From-SVN: r241188

7 years agoImplement P0017R1, C++17 aggregates with bases.
Jason Merrill [Fri, 14 Oct 2016 21:54:39 +0000 (17:54 -0400)]
Implement P0017R1, C++17 aggregates with bases.

* class.c (build_base_field_1): Split out from...
(build_base_field): ...here.  In C++17 mode, build a field for
empty bases.
* decl.c (xref_basetypes): In C++17 aggregates can have bases.
(next_initializable_field): Allow base fields in C++17.
* typeck2.c (process_init_constructor_record): Likewise.

From-SVN: r241187

7 years agodiagnostic.c (diagnostic_action_after_output): Remove max error handling here ....
Nathan Sidwell [Fri, 14 Oct 2016 20:32:03 +0000 (20:32 +0000)]
diagnostic.c (diagnostic_action_after_output): Remove max error handling here ....

* diagnostic.c (diagnostic_action_after_output): Remove max error
handling here ....
(diagnostic_report_diagnostic): ... do it here instead.

testsuite/
* c-c++-common/fmax-errors.c: Make sure note is emitted.

From-SVN: r241186

7 years agoTweaks to print_rtx_function
David Malcolm [Fri, 14 Oct 2016 20:22:23 +0000 (20:22 +0000)]
Tweaks to print_rtx_function

gcc/ChangeLog:
* print-rtl-function.c (print_edge): Omit "(flags)" when none are
set.
(print_rtx_function): Update example in comment for...
* print-rtl.c (print_rtx_operand_code_r): In compact mode, print
non-virtual pseudos with a '%' sigil followed by the regno, offset
by (LAST_VIRTUAL_REGISTER + 1), so that the first non-virtual
pseudo is dumped as "%0".

From-SVN: r241185

7 years agoOptimize std::shuffle by using generator to get two values at once
Eelis van der Weegen [Fri, 14 Oct 2016 19:40:32 +0000 (19:40 +0000)]
Optimize std::shuffle by using generator to get two values at once

2016-10-14  Eelis van der Weegen  <eelis@eelis.net>

* include/bits/stl_algo.h (shuffle): Extract two random numbers from
each generator invocation when its range is large enough.

From-SVN: r241184

7 years agoResolve ambiguities in std::experimental::sample test
Jonathan Wakely [Fri, 14 Oct 2016 19:40:18 +0000 (20:40 +0100)]
Resolve ambiguities in std::experimental::sample test

* testsuite/experimental/algorithm/sample.cc: Qualify calls to
resolve ambiguity between std::sample and std::experimental::sample.

From-SVN: r241183

7 years agore PR middle-end/77959 (ICE in ix86_decompose_address, at i386/i386.c:14954)
Jakub Jelinek [Fri, 14 Oct 2016 19:36:58 +0000 (21:36 +0200)]
re PR middle-end/77959 (ICE in ix86_decompose_address, at i386/i386.c:14954)

PR middle-end/77959
* expr.c (expand_expr_real_1) <case CONST_DECL>: For EXPAND_WRITE
return a MEM.

* gfortran.dg/pr77959.f90: New test.

From-SVN: r241182

7 years agosparc-passes.def: New file.
Eric Botcazou [Fri, 14 Oct 2016 19:11:15 +0000 (19:11 +0000)]
sparc-passes.def: New file.

* config/sparc/sparc-passes.def: New file.
* config/sparc/t-sparc (PASSES_EXTRA): Add sparc-passes.def.
* config/sparc/sparc-protos.h (make_pass_work_around_errata): New.
* config/sparc/sparc.c (sparc_option_override): Don't register passes.

From-SVN: r241180

7 years agoMake std::bind use std::invoke
Jonathan Wakely [Fri, 14 Oct 2016 19:04:56 +0000 (20:04 +0100)]
Make std::bind use std::invoke

* include/std/functional (_Mu<A, false, true>, _Mu<A, true, false>):
Simplify forwarding from tuple of references.
(_Maybe_wrap_member_pointer): Remove.
(_Bind::__call, _Bind::__call_c, _Bind::__call_v, _Bind::__call_c_v):
Use std::__invoke.
(_Bind::_Mu_type, _Bind::_Res_type_impl, _Bind::_Res_type)
(_Bind::__dependent, _Bind::_Res_type_cv): New helpers to simplify
return type deduction.
(_Bind::operator(), _Bind::operator() const): Use new helpers.
(_Bind::operator() volatile, _Bind::operator() const volatile):
Likewise. Add deprecated attribute for C++17 mode.
(_Bind_result::__call): Use std::__invoke.
(_Bind_result::operator() volatile)
(_Bind_result::operator() const volatile): Add deprecated attribute.
(_Bind_helper::__maybe_type, _Bindres_helper::__maybe_type): Remove.
(_Bind_helper, _Bindres_helper): Don't use _Maybe_wrap_member_pointer.
(bind, bind<R>): Don't use __maybe_type.
* src/c++11/compatibility-thread-c++0x.cc
(_Maybe_wrap_member_pointer): Define here for compatibility symbols.
* testsuite/20_util/bind/68912.cc: Don't test volatile-qualification
in C++17 mode.
* testsuite/20_util/bind/cv_quals.cc: Likewise.
* testsuite/20_util/bind/cv_quals_2.cc: Likewise.

From-SVN: r241178

7 years agoDR 1511 - const volatile variables and ODR
Jakub Jelinek [Fri, 14 Oct 2016 19:00:38 +0000 (21:00 +0200)]
DR 1511 - const volatile variables and ODR

DR 1511 - const volatile variables and ODR
* decl.c (grokvardecl): Change flags argument to type_quals,
add conceptp argument.  Set TREE_PUBLIC for non-static volatile vars.
(grokdeclarator): Adjust grokvardecl caller.

* g++.dg/DRs/dr1511-1.C: New test.
* g++.dg/DRs/dr1511-2.C: New test.

From-SVN: r241176

7 years agodebug7.adb (dg-options): Remove -g.
Eric Botcazou [Fri, 14 Oct 2016 17:57:39 +0000 (17:57 +0000)]
debug7.adb (dg-options): Remove -g.

* gnat.dg/debug7.adb (dg-options): Remove -g.
* gnat.dg/debug8.adb (dg-options): Add -margs.
* gnat.dg/debug9.adb (dg-options): Remove -g and add -margs.

From-SVN: r241174

7 years agoloop-unroll.c (unroll_loop_runtime_iterations): Condition initial loop peel to loops...
Pat Haugen [Fri, 14 Oct 2016 17:21:19 +0000 (17:21 +0000)]
loop-unroll.c (unroll_loop_runtime_iterations): Condition initial loop peel to loops with exit test at the beginning.

* loop-unroll.c (unroll_loop_runtime_iterations): Condition initial
loop peel to loops with exit test at the beginning.

From-SVN: r241173

7 years agoruntime: just do file/line lookup in C, move Func to Go
Ian Lance Taylor [Fri, 14 Oct 2016 17:20:40 +0000 (17:20 +0000)]
runtime: just do file/line lookup in C, move Func to Go

    In order to port stack backtraces to Go, we need the ability to look up
    file/line information for PC values without allocating memory.  This
    patch moves the handling of Func from C code to Go code, and simplifies
    the C code to just look up function/file/line/entry information for a PC.

    Reviewed-on: https://go-review.googlesource.com/31150

From-SVN: r241172

7 years agodebug/elf: add sparc64 relocations
Ian Lance Taylor [Fri, 14 Oct 2016 17:16:55 +0000 (17:16 +0000)]
debug/elf: add sparc64 relocations

    This is a backport of https://go-review.googlesource.com/30870.

    Reviewed-on: https://go-review.googlesource.com/30916

From-SVN: r241171

7 years agore PR rtl-optimization/68212 (Loop unroller breaks basic block frequencies)
Pat Haugen [Fri, 14 Oct 2016 17:10:18 +0000 (17:10 +0000)]
re PR rtl-optimization/68212 (Loop unroller breaks basic block frequencies)

PR rtl-optimization/68212
* cfgloopmanip.c (duplicate_loop_to_header_edge): Use preheader edge
frequency when computing scale factor for peeled copies.
* loop-unroll.c (unroll_loop_runtime_iterations): Fix freq/count
values for switch/peel blocks/edges.

From-SVN: r241170

7 years agoAvoid copies in std::scoped_allocator_adaptor piecewise construction
Jonathan Wakely [Fri, 14 Oct 2016 16:12:21 +0000 (17:12 +0100)]
Avoid copies in std::scoped_allocator_adaptor piecewise construction

* include/std/scoped_allocator (scoped_allocator_adaptor): Forward
piecewise construction arguments as tuples of references, to avoid
copies (related to LWG 2511).
* testsuite/20_util/scoped_allocator/construct_pair.cc: New test.

From-SVN: r241169

7 years agoFINAL/OVERRIDE: Define to empty on g++ < 4.7
Pedro Alves [Fri, 14 Oct 2016 15:25:35 +0000 (15:25 +0000)]
FINAL/OVERRIDE: Define to empty on g++ < 4.7

final/override were only implemented in g++ 4.7.

include/ChangeLog
2016-10-14  Pedro Alves  <palves@redhat.com>

* ansidecl.h [__cplusplus >= 201103 && GCC_VERSION < 4007] (FINAL,
OVERRIDE): Define as empty.
[__cplusplus < 201103 && GCC_VERSION < 4007] (FINAL): Define as
__final.
[__cplusplus < 201103 && GCC_VERSION >= 4007] (OVERRIDE): Define as
empty.

From-SVN: r241167

7 years agoMove OVERRIDE/FINAL from gcc/coretypes.h to include/ansidecl.h
Pedro Alves [Fri, 14 Oct 2016 15:24:58 +0000 (15:24 +0000)]
Move OVERRIDE/FINAL from gcc/coretypes.h to include/ansidecl.h

So that GDB and other projects that share the top level can use them.

Bootstrapped with all default languages + jit on x86-64 Fedora 23.

gcc/ChangeLog:
2016-10-14  Pedro Alves  <palves@redhat.com>

* coretypes.h (OVERRIDE, FINAL): Delete, moved to
include/ansidecl.h.

include/ChangeLog:
2016-10-14  Pedro Alves  <palves@redhat.com>

* ansidecl.h (GCC_FINAL): Delete.
(OVERRIDE, FINAL): New, moved from gcc/coretypes.h.

From-SVN: r241166

7 years agomips.c (mips_prepare_pch_save): Initialize micromips_globals to zero.
Catherine Moore [Fri, 14 Oct 2016 14:21:06 +0000 (10:21 -0400)]
mips.c (mips_prepare_pch_save): Initialize micromips_globals to zero.

2016-10-13  Catherine Moore  <clm@codesourcery.com>

* gcc/config/mips/mips.c (mips_prepare_pch_save): Initialize
micromips_globals to zero.

From-SVN: r241165

7 years ago1.cc: Remove 'test' variables.
Paolo Carlini [Fri, 14 Oct 2016 13:50:24 +0000 (13:50 +0000)]
1.cc: Remove 'test' variables.

2016-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables.
* testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
* testsuite/26_numerics/complex/13450.cc: Likewise.
* testsuite/26_numerics/complex/50880.cc: Likewise.
* testsuite/26_numerics/complex/c99.cc: Likewise.
* testsuite/26_numerics/complex/cons/48760.cc: Likewise.
* testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
* testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise.
* testsuite/26_numerics/complex/dr844.cc: Likewise.
* testsuite/26_numerics/complex/inserters_extractors/char/1.cc:
Likewise.
* testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc:
Likewise.
* testsuite/26_numerics/complex/value_operations/1.cc: Likewise.
* testsuite/26_numerics/complex/value_operations/dr387.cc: Likewise.
* testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
* testsuite/26_numerics/headers/cmath/
c99_classification_macros_c++11.c: Likewise.c
* testsuite/26_numerics/headers/cmath/
c99_classification_macros_c++98.cc: Likewise.
* testsuite/26_numerics/headers/cmath/c_math.cc: Likewise.
* testsuite/26_numerics/headers/cmath/dr550.cc: Likewise.
* testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
* testsuite/26_numerics/headers/cmath/powi.cc: Likewise.
* testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
* testsuite/26_numerics/inner_product/1.cc: Likewise.
* testsuite/26_numerics/iota/1.cc: Likewise.
* testsuite/26_numerics/partial_sum/1.cc: Likewise.
* testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/bernoulli_distribution/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/bernoulli_distribution/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/binomial_distribution/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/binomial_distribution/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc:
Likewise.
* testsuite/26_numerics/random/cauchy_distribution/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/chi_squared_distribution/cons/
default.cc: Likewise.
* testsuite/26_numerics/random/chi_squared_distribution/cons/
parms.cc: Likewise.
* testsuite/26_numerics/random/chi_squared_distribution/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/chi_squared_distribution/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/default_random_engine.cc: Likewise.
* testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
Likewise.
* testsuite/26_numerics/random/discard_block_engine/operators/equal.cc:
Likewise.
* testsuite/26_numerics/random/discard_block_engine/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/discard_block_engine/operators/
serialize.cc: Likewise.
* testsuite/26_numerics/random/discrete_distribution/cons/
default.cc: Likewise.
* testsuite/26_numerics/random/discrete_distribution/cons/
initlist.cc: Likewise.
* testsuite/26_numerics/random/discrete_distribution/cons/
num_xbound_fun.cc: Likewise.
* testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
Likewise.
* testsuite/26_numerics/random/discrete_distribution/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/discrete_distribution/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/exponential_distribution/cons/
default.cc: Likewise.
* testsuite/26_numerics/random/exponential_distribution/cons/
parms.cc: Likewise.
* testsuite/26_numerics/random/exponential_distribution/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/exponential_distribution/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/extreme_value_distribution/cons/
default.cc: Likewise.
* testsuite/26_numerics/random/extreme_value_distribution/cons/
parms.cc: Likewise.
* testsuite/26_numerics/random/extreme_value_distribution/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/extreme_value_distribution/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/fisher_f_distribution/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/fisher_f_distribution/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/gamma_distribution/operators/equal.cc:
Likewise.
* testsuite/26_numerics/random/gamma_distribution/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/geometric_distribution/cons/
default.cc: Likewise.
* testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/geometric_distribution/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/geometric_distribution/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
Likewise.
* testsuite/26_numerics/random/independent_bits_engine/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/independent_bits_engine/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/independent_bits_engine/operators/
serialize.cc: Likewise.
* testsuite/26_numerics/random/knuth_b.cc: Likewise.
* testsuite/26_numerics/random/linear_congruential_engine/cons/
55215.cc: Likewise.
* testsuite/26_numerics/random/linear_congruential_engine/cons/
default.cc: Likewise.
* testsuite/26_numerics/random/linear_congruential_engine/operators/
51795.cc: Likewise.
* testsuite/26_numerics/random/linear_congruential_engine/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/linear_congruential_engine/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/linear_congruential_engine/operators/
serialize.cc: Likewise.
* testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/lognormal_distribution/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/lognormal_distribution/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
Likewise.
* testsuite/26_numerics/random/mersenne_twister_engine/cons/
default.cc: Likewise.
* testsuite/26_numerics/random/mersenne_twister_engine/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/mersenne_twister_engine/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/mersenne_twister_engine/operators/
serialize.cc: Likewise.
* testsuite/26_numerics/random/minstd_rand.cc: Likewise.
* testsuite/26_numerics/random/minstd_rand0.cc: Likewise.
* testsuite/26_numerics/random/mt19937.cc: Likewise.
* testsuite/26_numerics/random/mt19937_64.cc: Likewise.
* testsuite/26_numerics/random/negative_binomial_distribution/cons/
default.cc: Likewise.
* testsuite/26_numerics/random/negative_binomial_distribution/cons/
parms.cc: Likewise.
* testsuite/26_numerics/random/negative_binomial_distribution/
operators/equal.cc: Likewise.
* testsuite/26_numerics/random/negative_binomial_distribution/
operators/inequal.cc: Likewise.
* testsuite/26_numerics/random/normal_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/normal_distribution/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/normal_distribution/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
default.cc: Likewise.
* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
initlist_fun.cc: Likewise.
* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
num_xbound_fun.cc: Likewise.
* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
range.cc: Likewise.
* testsuite/26_numerics/random/piecewise_constant_distribution/
operators/equal.cc: Likewise.
* testsuite/26_numerics/random/piecewise_constant_distribution/
operators/inequal.cc: Likewise.
* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
default.cc: Likewise.
* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
initlist_fun.cc: Likewise.
* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
num_xbound_fun.cc: Likewise.
* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
range.cc: Likewise.
* testsuite/26_numerics/random/piecewise_linear_distribution/
operators/equal.cc: Likewise.
* testsuite/26_numerics/random/piecewise_linear_distribution/
operators/inequal.cc: Likewise.
* testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/poisson_distribution/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/poisson_distribution/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/random_device/cons/default.cc: Likewise.
* testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
* testsuite/26_numerics/random/ranlux24.cc: Likewise.
* testsuite/26_numerics/random/ranlux24_base.cc: Likewise.
* testsuite/26_numerics/random/ranlux48.cc: Likewise.
* testsuite/26_numerics/random/ranlux48_base.cc: Likewise.
* testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Likewise.
* testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
Likewise.
* testsuite/26_numerics/random/shuffle_order_engine/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/shuffle_order_engine/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/shuffle_order_engine/operators/
serialize.cc: Likewise.
* testsuite/26_numerics/random/student_t_distribution/cons/
default.cc: Likewise.
* testsuite/26_numerics/random/student_t_distribution/cons/
parms.cc: Likewise.
* testsuite/26_numerics/random/student_t_distribution/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/student_t_distribution/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
55215.cc: Likewise.
* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
default.cc: Likewise.
* testsuite/26_numerics/random/subtract_with_carry_engine/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/subtract_with_carry_engine/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/subtract_with_carry_engine/operators/
serialize.cc: Likewise.
* testsuite/26_numerics/random/uniform_int_distribution/cons/
default.cc: Likewise.
* testsuite/26_numerics/random/uniform_int_distribution/cons/
parms.cc: Likewise.
* testsuite/26_numerics/random/uniform_int_distribution/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/uniform_int_distribution/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/uniform_real_distribution/cons/
default.cc: Likewise.
* testsuite/26_numerics/random/uniform_real_distribution/cons/
parms.cc: Likewise.
* testsuite/26_numerics/random/uniform_real_distribution/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/uniform_real_distribution/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/weibull_distribution/operators/
equal.cc: Likewise.
* testsuite/26_numerics/random/weibull_distribution/operators/
inequal.cc: Likewise.
* testsuite/26_numerics/slice/1.cc: Likewise.
* testsuite/26_numerics/slice_array/array_assignment.cc: Likewise.
* testsuite/26_numerics/valarray/27867.cc: Likewise.
* testsuite/26_numerics/valarray/28277.cc: Likewise.
* testsuite/26_numerics/valarray/30416.cc: Likewise.
* testsuite/26_numerics/valarray/dr543.cc: Likewise.
* testsuite/26_numerics/valarray/dr630-1.cc: Likewise.
* testsuite/26_numerics/valarray/dr630-2.cc: Likewise.
* testsuite/26_numerics/valarray/dr630-3.C: Likewise.
* testsuite/26_numerics/valarray/init-list.cc: Likewise.
* testsuite/26_numerics/valarray/moveable.cc: Likewise.
* testsuite/26_numerics/valarray/operators.cc: Likewise.
* testsuite/26_numerics/valarray/swap.cc: Likewise.
* testsuite/experimental/deque/erasure.cc: Likewise.
* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
Likewise.
* testsuite/experimental/filesystem/iterators/
recursive_directory_iterator.cc: Likewise.
* testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
* testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
* testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
* testsuite/experimental/filesystem/operations/create_directories.cc:
Likewise.
* testsuite/experimental/filesystem/operations/create_directory.cc:
Likewise.
* testsuite/experimental/filesystem/operations/current_path.cc:
Likewise.
* testsuite/experimental/filesystem/operations/exists.cc: Likewise.
* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
* testsuite/experimental/filesystem/operations/last_write_time.cc:
Likewise.
* testsuite/experimental/filesystem/operations/permissions.cc: Likewise.
* testsuite/experimental/filesystem/operations/status.cc: Likewise.
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
Likewise.
* testsuite/experimental/filesystem/path/native/string.cc: Likewise.
* testsuite/experimental/forward_list/erasure.cc: Likewise.
* testsuite/experimental/list/erasure.cc: Likewise.
* testsuite/experimental/map/erasure.cc: Likewise.
* testsuite/experimental/memory/shared_ptr/assign/assign.cc: Likewise.
* testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: Likewise.
* testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: Likewise.
* testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: Likewise.
* testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: Likewise.
* testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
* testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Likewise.
* testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: Likewise.
* testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/observers/operators.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
Likewise.
* testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
Likewise.
* testsuite/experimental/memory_resource/1.cc: Likewise.
* testsuite/experimental/memory_resource/null_memory_resource.cc:
Likewise.
* testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise.
* testsuite/experimental/set/erasure.cc: Likewise.
* testsuite/experimental/string/erasure.cc: Likewise.
* testsuite/experimental/string_view/capacity/1.cc: Likewise.
* testsuite/experimental/string_view/cons/char/1.cc: Likewise.
* testsuite/experimental/string_view/cons/char/2.cc: Likewise.
* testsuite/experimental/string_view/cons/char/3.cc: Likewise.
* testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
* testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise.
* testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise.
* testsuite/experimental/string_view/element_access/char/1.cc: Likewise.
* testsuite/experimental/string_view/element_access/char/empty.cc:
Likewise.
* testsuite/experimental/string_view/element_access/char/
front_back.cc: Likewise.
* testsuite/experimental/string_view/element_access/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
Likewise.
* testsuite/experimental/string_view/element_access/wchar_t/
front_back.cc: Likewise.
* testsuite/experimental/string_view/inserters/char/1.cc: Likewise.
* testsuite/experimental/string_view/inserters/char/2.cc: Likewise.
* testsuite/experimental/string_view/inserters/char/3.cc: Likewise.
* testsuite/experimental/string_view/inserters/pod/10081-out.cc:
Likewise.
* testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise.
* testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise.
* testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise.
* testsuite/experimental/string_view/modifiers/remove_prefix/char/
1.cc: Likewise.
* testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
1.cc: Likewise.
* testsuite/experimental/string_view/modifiers/remove_suffix/char/
1.cc: Likewise.
* testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
1.cc: Likewise.
* testsuite/experimental/string_view/operations/compare/char/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/compare/char/
13650.cc: Likewise.
* testsuite/experimental/string_view/operations/compare/wchar_t/
1.cc: Likewise.
* testsuite/experimental/string_view/operations/compare/wchar_t/
13650.cc: Likewise.
* testsuite/experimental/string_view/operations/copy/char/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/data/char/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/find/char/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/find/char/2.cc:
Likewise.
* testsuite/experimental/string_view/operations/find/char/3.cc:
Likewise.
* testsuite/experimental/string_view/operations/find/char/4.cc:
Likewise.
* testsuite/experimental/string_view/operations/find/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/find/wchar_t/2.cc:
Likewise.
* testsuite/experimental/string_view/operations/find/wchar_t/3.cc:
Likewise.
* testsuite/experimental/string_view/operations/find/wchar_t/4.cc:
Likewise.
* testsuite/experimental/string_view/operations/rfind/char/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/rfind/char/2.cc:
Likewise.
* testsuite/experimental/string_view/operations/rfind/char/3.cc:
Likewise.
* testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc:
Likewise.
* testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc:
Likewise.
* testsuite/experimental/string_view/operations/substr/char/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/to_string/1.cc:
Likewise.
* testsuite/experimental/string_view/operators/char/2.cc: Likewise.
* testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise.
* testsuite/experimental/unordered_map/erasure.cc: Likewise.
* testsuite/experimental/unordered_set/erasure.cc: Likewise.
* testsuite/experimental/vector/erasure.cc: Likewise.
* testsuite/ext/array_allocator/1.cc: Likewise.
* testsuite/ext/array_allocator/2.cc: Likewise.
* testsuite/ext/array_allocator/3.cc: Likewise.
* testsuite/ext/array_allocator/variadic_construct.cc: Likewise.
* testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
* testsuite/ext/codecvt/1.cc: Likewise.
* testsuite/ext/codecvt/char-1.cc: Likewise.
* testsuite/ext/codecvt/char-2.cc: Likewise.
* testsuite/ext/codecvt/wchar_t.cc: Likewise.
* testsuite/ext/enc_filebuf/char/13189.cc: Likewise.
* testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
* testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
* testsuite/ext/ext_pointer/1.cc: Likewise.
* testsuite/ext/ext_pointer/1_neg.cc: Likewise.
* testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
* testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: Likewise.
* testsuite/ext/mt_allocator/tune-1.cc: Likewise.
* testsuite/ext/mt_allocator/tune-2.cc: Likewise.
* testsuite/ext/mt_allocator/tune-3.cc: Likewise.
* testsuite/ext/mt_allocator/tune-4.cc: Likewise.
* testsuite/ext/mt_allocator/variadic_construct.cc: Likewise.
* testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
* testsuite/ext/pod_char_traits.cc: Likewise.
* testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
* testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/arcsine_distribution/operators/equal.cc:
Likewise.
* testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
Likewise.
* testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
Likewise.
* testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/beta_distribution/operators/equal.cc: Likewise.
* testsuite/ext/random/beta_distribution/operators/inequal.cc: Likewise.
* testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/hoyt_distribution/operators/equal.cc: Likewise.
* testsuite/ext/random/hoyt_distribution/operators/inequal.cc: Likewise.
* testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
Likewise.
* testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
Likewise.
* testsuite/ext/random/hypergeometric_distribution/operators/
equal.cc: Likewise.
* testsuite/ext/random/hypergeometric_distribution/operators/
inequal.cc: Likewise.
* testsuite/ext/random/hypergeometric_distribution/operators/
serialize.cc: Likewise.
* testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/k_distribution/operators/equal.cc: Likewise.
* testsuite/ext/random/k_distribution/operators/inequal.cc: Likewise.
* testsuite/ext/random/k_distribution/operators/serialize.cc: Likewise.
* testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/logistic_distribution/operators/equal.cc:
Likewise.
* testsuite/ext/random/logistic_distribution/operators/inequal.cc:
Likewise.
* testsuite/ext/random/logistic_distribution/operators/serialize.cc:
Likewise.
* testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/nakagami_distribution/operators/equal.cc:
Likewise.
* testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
Likewise.
* testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
Likewise.
* testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/normal_mv_distribution/operators/equal.cc:
Likewise.
* testsuite/ext/random/normal_mv_distribution/operators/inequal.cc:
Likewise.
* testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/pareto_distribution/operators/equal.cc: Likewise.
* testsuite/ext/random/pareto_distribution/operators/inequal.cc:
Likewise.
* testsuite/ext/random/pareto_distribution/operators/serialize.cc:
Likewise.
* testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/rice_distribution/operators/equal.cc: Likewise.
* testsuite/ext/random/rice_distribution/operators/inequal.cc: Likewise.
* testsuite/ext/random/rice_distribution/operators/serialize.cc:
Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
default.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
equal.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
inequal.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
serialize.cc: Likewise.
* testsuite/ext/random/triangular_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/triangular_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/triangular_distribution/operators/equal.cc:
Likewise.
* testsuite/ext/random/triangular_distribution/operators/inequal.cc:
Likewise.
* testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/uniform_on_sphere_distribution/operators/
equal.cc: Likewise.
* testsuite/ext/random/uniform_on_sphere_distribution/operators/
generate.cc: Likewise.
* testsuite/ext/random/uniform_on_sphere_distribution/operators/
inequal.cc: Likewise.
* testsuite/ext/random/uniform_on_sphere_distribution/operators/
serialize.cc: Likewise.
* testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/von_mises_distribution/operators/equal.cc:
Likewise.
* testsuite/ext/random/von_mises_distribution/operators/inequal.cc:
Likewise.
* testsuite/ext/rope/2.cc: Likewise.
* testsuite/ext/rope/3.cc: Likewise.
* testsuite/ext/rope/4.cc: Likewise.
* testsuite/ext/rope/pthread7-rope.cc: Likewise.
* testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
* testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise.
* testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
* testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
* testsuite/ext/stdio_filebuf/char/10063-1.cc: Likewise.
* testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
* testsuite/ext/stdio_filebuf/char/10063-3.cc: Likewise.
* testsuite/ext/stdio_filebuf/char/2.cc: Likewise.
* testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.
* testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise.
* testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise.
* testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise.
* testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise.
* testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
* testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise.
* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise.
* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise.
* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise.
* testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
* testsuite/ext/type_traits/add_unsigned.cc: Likewise.
* testsuite/ext/type_traits/remove_unsigned.cc: Likewise.
* testsuite/ext/vstring/capacity/29134.cc: Likewise.
* testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
* testsuite/ext/vstring/cons/58415-1.cc: Likewise.
* testsuite/ext/vstring/cons/moveable.cc: Likewise.
* testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
* testsuite/ext/vstring/element_access/char/front_back.cc: Likewise.
* testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
* testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise.
* testsuite/ext/vstring/hash/char/1.cc: Likewise.
* testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
* testsuite/ext/vstring/init-list.cc: Likewise.
* testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
* testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise.
* testsuite/ext/vstring/modifiers/assign/move_assign.cc: Likewise.
* testsuite/ext/vstring/modifiers/pop_back/char/1.cc: Likewise.
* testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc: Likewise.
* testsuite/ext/vstring/operators/1.cc: Likewise.
* testsuite/ext/vstring/operators/2.cc: Likewise.

From-SVN: r241164

7 years agoruntime: copy cpuprof code from Go 1.7 runtime
Ian Lance Taylor [Fri, 14 Oct 2016 13:36:35 +0000 (13:36 +0000)]
runtime: copy cpuprof code from Go 1.7 runtime

    This replaces runtime/cpuprof.goc with go/runtime/cpuprof.go and adjusts
    the supporting code in runtime/proc.c.

    This adds another case where the compiler needs to avoid heap allocation
    in the runtime package: when evaluating a method expression into a
    closure.  Implementing this required moving the relevant code from
    do_get_backend to do_flatten, so that I could easily add a temporary
    variable.  Doing that let me get rid of Bound_method_expression::do_lower.

    Reviewed-on: https://go-review.googlesource.com/31050

From-SVN: r241163

7 years agore PR tree-optimization/77979 (ICE on valid code at -Os and above on x86_64-linux...
Richard Biener [Fri, 14 Oct 2016 12:58:18 +0000 (12:58 +0000)]
re PR tree-optimization/77979 (ICE on valid code at -Os and above on x86_64-linux-gnu: Segmentation fault)

2016-10-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/77979
* tree-vrp.c (compare_name_with_value): Handle released SSA names
in the equivalency sets.
(compare_names): Likewise.

* gcc.dg/torture/pr77979.c: New testcase.

From-SVN: r241162

7 years agoTest folding of str{n}{case}cmp and memchr
Martin Liska [Fri, 14 Oct 2016 12:10:16 +0000 (14:10 +0200)]
Test folding of str{n}{case}cmp and memchr

* gcc.dg/tree-ssa/builtins-folding-generic.c: New test.
* gcc.dg/tree-ssa/builtins-folding-gimple.c: Likewise.
* gcc.dg/tree-ssa/builtins-folding-gimple-ub.c: Likewise.

From-SVN: r241161

7 years agoFold __builtin_memchr function
Martin Liska [Fri, 14 Oct 2016 12:09:51 +0000 (14:09 +0200)]
Fold __builtin_memchr function

* builtins.h(target_char_cst_p): Declare the function.
* builtins.c (fold_builtin_memchr): Remove.
(target_char_cst_p): Move the function from gimple-fold.c.
(fold_builtin_3): Do not call the function.
* gimple-fold.c (gimple_fold_builtin_memchr): New function.
(gimple_fold_builtin): Call the function.
* fold-const-call.c (fold_const_call_1): Handle CFN_BUILT_IN_MEMCHR.

From-SVN: r241160

7 years agoFold __builtin_str{n}{case}cmp functions
Martin Liska [Fri, 14 Oct 2016 12:08:27 +0000 (14:08 +0200)]
Fold __builtin_str{n}{case}cmp functions

* builtins.c (fold_builtin_strcmp): Remove function.
(fold_builtin_strncmp): Likewise.
(fold_builtin_2): Remove call of the function.
(fold_builtin_3): Likewise.
* fold-const-call.c (fold_const_call): Add constant folding
for CFN_BUILT_IN_STRCASECMP and CFN_BUILT_IN_STRNCASECMP.
* fold-const-call.h (build_cmp_result): Declare the function.
* gimple-fold.c (gimple_load_first_char): New function.
(gimple_fold_builtin_string_compare): Likewise.
(gimple_fold_builtin): Call the function.

From-SVN: r241159

7 years agoPR65122 extended alignment support in allocators
Jonathan Wakely [Fri, 14 Oct 2016 12:03:47 +0000 (13:03 +0100)]
PR65122 extended alignment support in allocators

PR libstdc++/65122
* include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
aligned_alloc for types with extended alignment if available,
otherwise throw bad_alloc if malloc doesn't return a suitable value.
* include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
(bitmap_allocator::deallocate): Use aligned new/delete for types with
extended alignment.
* include/ext/mt_allocator.h (__mt_alloc::allocate)
(__mt_alloc::deallocate): Likewise.
* include/ext/new_allocator.h (new_allocator::allocate)
(new_allocator::deallocate): Likewise.
* include/ext/pool_allocator.h (__pool_alloc::allocate)
(__pool_alloc::deallocate): Likewise.
* testsuite/20_util/allocator/overaligned.cc: New test.
* testsuite/ext/bitmap_allocator/overaligned.cc: New test.
* testsuite/ext/malloc_allocator/overaligned.cc: New test.
* testsuite/ext/mt_allocator/overaligned.cc: New test.
* testsuite/ext/new_allocator/overaligned.cc: New test.
* testsuite/ext/pool_allocator/overaligned.cc: New test.

From-SVN: r241158

7 years agoFix gcc.dg/torture/pr77937-[12].c for real.
Uros Bizjak [Fri, 14 Oct 2016 11:24:41 +0000 (13:24 +0200)]
Fix gcc.dg/torture/pr77937-[12].c for real.

2016-10-14  Uros Bizjak  <ubizjak@gmail.com>

* gcc.dg/torture/pr77937-1.c: Move -O3 to dg-options.
Pass -march=amdfam10 for both i?86-?-* and x86_64-*-*.
* gcc.dg/torture/pr77937-2.c: Likewise.

From-SVN: r241157

7 years agoFix pr77937-1.c and pr77937-2.c testcases
Markus Trippelsdorf [Fri, 14 Oct 2016 11:07:13 +0000 (11:07 +0000)]
Fix pr77937-1.c and pr77937-2.c testcases

From-SVN: r241156

7 years ago* gcov-io.c (gcov_open): Deconstify 'mode'.
Nathan Sidwell [Fri, 14 Oct 2016 10:51:58 +0000 (10:51 +0000)]
* gcov-io.c (gcov_open): Deconstify 'mode'.

From-SVN: r241155

7 years agore PR ada/77968 (ICEs with -flto on gnat.dg)
Eric Botcazou [Fri, 14 Oct 2016 10:28:27 +0000 (10:28 +0000)]
re PR ada/77968 (ICEs with -flto on gnat.dg)

PR ada/77968
* gcc-interface/utils.c (create_var_decl): Do not clear TREE_READONLY
in LTO mode for an external variable.
(can_materialize_object_renaming_p): Move up.

From-SVN: r241154

7 years agore PR libstdc++/77944 (FAIL: 20_util/variant/compile.cc (test for excess errors))
Tim Shen [Fri, 14 Oct 2016 09:58:05 +0000 (09:58 +0000)]
re PR libstdc++/77944 (FAIL: 20_util/variant/compile.cc (test for excess errors))

PR libstdc++/77944
* include/std/variant: include <bits/funcexcept.h> for __try and __catch.

From-SVN: r241153

7 years agoSupport only \0-terminated string in c_getstr and return
Martin Liska [Fri, 14 Oct 2016 09:54:32 +0000 (11:54 +0200)]
Support only \0-terminated string in c_getstr and return

* fold-const.c (c_getstr): Support of properly \0-terminated
string constants.  New argument is added.
* fold-const.h: New argument is added.

From-SVN: r241152

7 years agoSimplify reference_wrapper nested typedefs
Jonathan Wakely [Fri, 14 Oct 2016 09:12:49 +0000 (10:12 +0100)]
Simplify reference_wrapper nested typedefs

* include/std/functional (_Reference_wrapper_base_impl): Remove.
(_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
(_Reference_wrapper_base): Inherit from new helpers.

From-SVN: r241151

7 years agocoarray_38.f90: Expect error message.
Andre Vehreschild [Fri, 14 Oct 2016 08:52:10 +0000 (10:52 +0200)]
coarray_38.f90: Expect error message.

gcc/testsuite/ChangeLog:

2016-10-14  Andre Vehreschild  <vehre@gcc.gnu.org>

* gfortran.dg/coarray_38.f90: Expect error message.

gcc/fortran/ChangeLog:

2016-10-14  Andre Vehreschild  <vehre@gcc.gnu.org>

* resolve.c (resolve_symbol): Add unimplemented message for
polymorphic types with allocatable/pointer components and coarray=lib.

From-SVN: r241150

7 years ago[AArch64] Add spellchecking hints for -march,-mcpu,-mtune and their attributes
Kyrylo Tkachov [Fri, 14 Oct 2016 08:40:04 +0000 (08:40 +0000)]
[AArch64] Add spellchecking hints for -march,-mcpu,-mtune and their attributes

* config/aarch64/aarch64.c (aarch64_print_hint_for_core_or_arch):
New function.
(aarch64_print_hint_for_core): Likewise.
(aarch64_print_hint_for_arch): Likewise.
(aarch64_validate_march): Use it.  Fix indentation in type signature.
(aarch64_validate_mcpu): Use aarch64_print_hint_for_core_or_arch.
(aarch64_validate_mtune): Likewise.
(aarch64_handle_attr_arch): Likewise.
(aarch64_handle_attr_cpu): Likewise.
(aarch64_handle_attr_tune): Likewise.

* gcc.target/aarch64/spellcheck_1.c: New test.
* gcc.target/aarch64/spellcheck_2.c: Likewise.
* gcc.target/aarch64/spellcheck_3.c: Likewise.
* gcc.target/aarch64/spellcheck_4.c: Likewise.
* gcc.target/aarch64/spellcheck_5.c: Likewise.
* gcc.target/aarch64/spellcheck_6.c: Likewise.

From-SVN: r241149

7 years agoFix long line
Eric Botcazou [Fri, 14 Oct 2016 06:14:15 +0000 (06:14 +0000)]
Fix long line

From-SVN: r241148

7 years agooptabs.def: Remove optab function gen_int_libfunc for sdivmod_optab and udivmod_optab.
Prathamesh Kulkarni [Fri, 14 Oct 2016 05:57:33 +0000 (05:57 +0000)]
optabs.def: Remove optab function gen_int_libfunc for sdivmod_optab and udivmod_optab.

2016-10-14  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* optabs.def: Remove optab function gen_int_libfunc for sdivmod_optab and
udivmod_optab.

From-SVN: r241147

7 years agoDaily bump.
GCC Administrator [Fri, 14 Oct 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r241146

7 years agoPR c++/71912 - [6/7 regression] flexible array in struct in union rejected
Martin Sebor [Thu, 13 Oct 2016 22:26:36 +0000 (16:26 -0600)]
PR c++/71912 - [6/7 regression] flexible array in struct in union rejected

gcc/cp/ChangeLog:

PR c++/71912
* class.c (struct flexmems_t):  Add members.
(find_flexarrays): Add arguments.  Correct handling of anonymous
structs.
(diagnose_flexarrays): Adjust to issue warnings in addition to errors.
(check_flexarrays): Add argument.
(diagnose_invalid_flexarray): New functions.

gcc/testsuite/ChangeLog:

PR c++/71912
* g++.dg/ext/flexary4.C: Adjust.
* g++.dg/ext/flexary5.C: Same.
* g++.dg/ext/flexary9.C: Same.
* g++.dg/ext/flexary19.C: New test.
* g++.dg/ext/flexary18.C: New test.
* g++.dg/torture/pr64312.C: Add a dg-error directive to an ill-formed
regression test.
        * g++.dg/compat/struct-layout-1_generate.c (subfield): Add argument.
        Avoid generating a flexible array member in an array.

From-SVN: r241143

7 years agom68k.c (m68k_option_override): Check opt_fstack_limit_symbol_arg and opt_fstack_limit...
Andreas Schwab [Thu, 13 Oct 2016 20:19:42 +0000 (20:19 +0000)]
m68k.c (m68k_option_override): Check opt_fstack_limit_symbol_arg and opt_fstack_limit_register_no instead of...

gcc/
* config/m68k/m68k.c (m68k_option_override): Check
opt_fstack_limit_symbol_arg and opt_fstack_limit_register_no
instead of stack_limit_rtx.

gcc/testsuite/
* gcc.target/m68k/stack-limit-1.c: Expect warning on line 0.

From-SVN: r241140

7 years agore PR tree-optimization/77937 (ICE: in replace_one_candidate, at gimple-ssa-strength...
Bill Schmidt [Thu, 13 Oct 2016 19:50:41 +0000 (19:50 +0000)]
re PR tree-optimization/77937 (ICE: in replace_one_candidate, at gimple-ssa-strength-reduction.c:3370)

2016-10-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/77937
* gcc.dg/torture/pr77937-1.c: New.
* gcc.dg/torture/pr77937-2.c: New.

From-SVN: r241139

7 years agocontainer_access.cc: Remove 'test' variables.
Paolo Carlini [Thu, 13 Oct 2016 19:37:45 +0000 (19:37 +0000)]
container_access.cc: Remove 'test' variables.

2016-10-13  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/24_iterators/container_access.cc: Remove 'test' variables.
* testsuite/24_iterators/istream_iterator/2.cc: Likewise.
* testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
* testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
* testsuite/24_iterators/operations/next.cc: Likewise.
* testsuite/24_iterators/operations/prev.cc: Likewise.
* testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
* testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
* testsuite/24_iterators/range_access_cpp14.cc: Likewise.
* testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
* testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
* testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
* testsuite/25_algorithms/all_of/1.cc: Likewise.
* testsuite/25_algorithms/any_of/1.cc: Likewise.
* testsuite/25_algorithms/binary_search/2.cc: Likewise.
* testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
* testsuite/25_algorithms/clamp/1.cc: Likewise.
* testsuite/25_algorithms/clamp/2.cc: Likewise.
* testsuite/25_algorithms/copy/1.cc: Likewise.
* testsuite/25_algorithms/copy/2.cc: Likewise.
* testsuite/25_algorithms/copy/3.cc: Likewise.
* testsuite/25_algorithms/copy/34595.cc: Likewise.
* testsuite/25_algorithms/copy/4.cc: Likewise.
* testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
Likewise.
* testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy_n/1.cc: Likewise.
* testsuite/25_algorithms/copy_n/2.cc: Likewise.
* testsuite/25_algorithms/copy_n/3.cc: Likewise.
* testsuite/25_algorithms/copy_n/4.cc: Likewise.
* testsuite/25_algorithms/copy_n/50119.cc: Likewise.
* testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/equal_range/2.cc: Likewise.
* testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
* testsuite/25_algorithms/fill/1.cc: Likewise.
* testsuite/25_algorithms/fill/2.cc: Likewise.
* testsuite/25_algorithms/fill/3.cc: Likewise.
* testsuite/25_algorithms/fill/4.cc: Likewise.
* testsuite/25_algorithms/fill_n/1.cc: Likewise.
* testsuite/25_algorithms/find/39546.cc: Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
Likewise.
* testsuite/25_algorithms/find_if/1.cc: Likewise.
* testsuite/25_algorithms/find_if_not/1.cc: Likewise.
* testsuite/25_algorithms/for_each/1.cc: Likewise.
* testsuite/25_algorithms/heap/1.cc: Likewise.
* testsuite/25_algorithms/heap/moveable.cc: Likewise.
* testsuite/25_algorithms/heap/moveable2.cc: Likewise.
* testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
* testsuite/25_algorithms/includes/1.cc: Likewise.
* testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
* testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
* testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
* testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
* testsuite/25_algorithms/is_heap/1.cc: Likewise.
* testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
* testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
* testsuite/25_algorithms/is_permutation/1.cc: Likewise.
* testsuite/25_algorithms/is_permutation/2.cc: Likewise.
* testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
* testsuite/25_algorithms/is_sorted/1.cc: Likewise.
* testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
* testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
* testsuite/25_algorithms/lower_bound/2.cc: Likewise.
* testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
* testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
* testsuite/25_algorithms/max/1.cc: Likewise.
* testsuite/25_algorithms/max/2.cc: Likewise.
* testsuite/25_algorithms/max/3.cc: Likewise.
* testsuite/25_algorithms/max/37547.cc: Likewise.
* testsuite/25_algorithms/max/4.cc: Likewise.
* testsuite/25_algorithms/min/1.cc: Likewise.
* testsuite/25_algorithms/min/2.cc: Likewise.
* testsuite/25_algorithms/min/3.cc: Likewise.
* testsuite/25_algorithms/min/37547.cc: Likewise.
* testsuite/25_algorithms/min/4.cc: Likewise.
* testsuite/25_algorithms/minmax/1.cc: Likewise.
* testsuite/25_algorithms/minmax/2.cc: Likewise.
* testsuite/25_algorithms/minmax/3.cc: Likewise.
* testsuite/25_algorithms/minmax/37547.cc: Likewise.
* testsuite/25_algorithms/minmax_element/1.cc: Likewise.
* testsuite/25_algorithms/move/1.cc: Likewise.
* testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/move_backward/1.cc: Likewise.
* testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
* testsuite/25_algorithms/none_of/1.cc: Likewise.
* testsuite/25_algorithms/nth_element/1.cc: Likewise.
* testsuite/25_algorithms/nth_element/2.cc: Likewise.
* testsuite/25_algorithms/nth_element/3.cc: Likewise.
* testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
* testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
* testsuite/25_algorithms/partial_sort/2.cc: Likewise.
* testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
Likewise.
* testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
* testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
* testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
* testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
* testsuite/25_algorithms/partition/1.cc: Likewise.
* testsuite/25_algorithms/partition/moveable.cc: Likewise.
* testsuite/25_algorithms/partition_copy/1.cc: Likewise.
* testsuite/25_algorithms/partition_point/1.cc: Likewise.
* testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
* testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
* testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
* testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
* testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
* testsuite/25_algorithms/rotate/1.cc: Likewise.
* testsuite/25_algorithms/rotate/moveable.cc: Likewise.
* testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
* testsuite/25_algorithms/rotate/rotate.cc: Likewise.
* testsuite/25_algorithms/search/1.cc: Likewise.
* testsuite/25_algorithms/search_n/58358.cc: Likewise.
* testsuite/25_algorithms/shuffle/1.cc: Likewise.
* testsuite/25_algorithms/sort/1.cc: Likewise.
* testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
* testsuite/25_algorithms/sort/moveable.cc: Likewise.
* testsuite/25_algorithms/sort/random_test.cc: Likewise.
* testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
* testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
* testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
* testsuite/25_algorithms/stable_partition/1.cc: Likewise.
* testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
* testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
* testsuite/25_algorithms/stable_sort/2.cc: Likewise.
* testsuite/25_algorithms/stable_sort/3.cc: Likewise.
* testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
* testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
Likewise.
* testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
* testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
* testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
* testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
* testsuite/25_algorithms/unique/11480.cc: Likewise.
* testsuite/25_algorithms/unique/2.cc: Likewise.
* testsuite/25_algorithms/unique/moveable.cc: Likewise.
* testsuite/25_algorithms/unique_copy/1.cc: Likewise.
* testsuite/25_algorithms/unique_copy/2.cc: Likewise.
* testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
* testsuite/25_algorithms/upper_bound/2.cc: Likewise.
* testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/basic/
string_range_00_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/basic/
string_range_01_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/basic/
string_range_02_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
anymatcher.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
cstring_questionmark.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
cstring_range.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_00_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_01_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_02_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
wstring_locale.cc: Likewise.
* testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
* testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
* testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
* testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
Likewise.
* testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
Likewise.
* testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
Likewise.
* testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/extended/
string_range_01_02_03.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
* testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
* testsuite/28_regex/constants/error_type.cc: Likewise.
* testsuite/28_regex/constants/match_flag_type.cc: Likewise.
* testsuite/28_regex/init-list.cc: Likewise.
* testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
* testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
Likewise.
* testsuite/28_regex/iterators/regex_iterator/char/
string_position_01.cc
* testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
Likewise.
* testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
default.cc: Likewise.
* testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
Likewise.
* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
default.cc: Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
default.cc: Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
string_01.cc: Likewise.
* testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
wstring_02.cc: Likewise.
* testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
* testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
* testsuite/28_regex/match_results/format.cc: Likewise.
* testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
* testsuite/28_regex/match_results/swap.cc: Likewise.
* testsuite/28_regex/match_results/typedefs.cc: Likewise.
* testsuite/28_regex/regex_error/regex_error.cc: Likewise.
* testsuite/28_regex/regression.cc: Likewise.
* testsuite/28_regex/sub_match/cast_char.cc: Likewise.
* testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
* testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
* testsuite/28_regex/sub_match/length.cc: Likewise.
* testsuite/28_regex/traits/char/ctor.cc: Likewise.
* testsuite/28_regex/traits/char/isctype.cc: Likewise.
* testsuite/28_regex/traits/char/length.cc: Likewise.
* testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
* testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
* testsuite/28_regex/traits/char/transform.cc: Likewise.
* testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
* testsuite/28_regex/traits/char/translate.cc: Likewise.
* testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
* testsuite/28_regex/traits/char/user_defined.cc: Likewise.
* testsuite/28_regex/traits/char/value.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
* testsuite/29_atomics/atomic/60658.cc: Likewise.
* testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
* testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
* testsuite/backward/11460.cc: Likewise.
* testsuite/backward/hash_map/1.cc: Likewise.
* testsuite/backward/hash_map/25896.cc: Likewise.
* testsuite/backward/hash_set/1.cc: Likewise.
* testsuite/backward/hash_set/25896.cc: Likewise.
* testsuite/decimal/binary-arith.cc: Likewise.
* testsuite/decimal/comparison.cc: Likewise.
* testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
* testsuite/decimal/compound-assignment.cc: Likewise.
* testsuite/decimal/conversion-from-float.cc: Likewise.
* testsuite/decimal/conversion-from-integral.cc: Likewise.
* testsuite/decimal/conversion-to-generic-float.cc: Likewise.
* testsuite/decimal/conversion-to-integral.cc: Likewise.
* testsuite/decimal/ctor.cc: Likewise.
* testsuite/decimal/incdec-memfunc.cc: Likewise.
* testsuite/decimal/incdec.cc: Likewise.
* testsuite/decimal/make-decimal.cc: Likewise.
* testsuite/decimal/pr54036-1.cc: Likewise.
* testsuite/decimal/pr54036-2.cc: Likewise.
* testsuite/decimal/pr54036-3.cc: Likewise.
* testsuite/decimal/unary-arith.cc: Likewise.
* testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
* testsuite/special_functions/01_assoc_laguerre/check_value.cc:
Likewise.
* testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
* testsuite/special_functions/02_assoc_legendre/check_value.cc:
Likewise.
* testsuite/special_functions/03_beta/check_nan.cc: Likewise.
* testsuite/special_functions/03_beta/check_value.cc: Likewise.
* testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
* testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
* testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
* testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
* testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
* testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
* testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
* testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
* testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
* testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
* testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
* testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
* testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
* testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
* testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
* testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
* testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
* testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
* testsuite/special_functions/14_expint/check_nan.cc: Likewise.
* testsuite/special_functions/14_expint/check_value.cc: Likewise.
* testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
* testsuite/special_functions/15_hermite/check_value.cc: Likewise.
* testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
* testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
* testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
* testsuite/special_functions/17_legendre/check_value.cc: Likewise.
* testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
* testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
* testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
* testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
* testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
* testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
* testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
* testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
* testsuite/tr2/bases/value.cc: Likewise.
* testsuite/tr2/direct_bases/value.cc: Likewise.
* testsuite/util/debug/checks.h: Likewise.
* testsuite/util/debug/unordered_checks.h: Likewise.
* testsuite/util/testsuite_allocator.h: Likewise.
* testsuite/util/testsuite_api.h: Likewise.
* testsuite/util/testsuite_common_types.h: Likewise.
* testsuite/util/testsuite_random.h: Likewise.
* testsuite/util/testsuite_rvalref.h: Likewise.

From-SVN: r241138

7 years agoImplement P0386R2 - C++17 inline variables
Jason Merrill [Thu, 13 Oct 2016 19:26:54 +0000 (15:26 -0400)]
Implement P0386R2 - C++17 inline variables

2016-10-11  Jakub Jelinek  <jakub@redhat.com>

* dwarf2out.c (gen_member_die): Handle inline static data member
definitions.
c-family/
* c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
cp/
* cp-tree.h (struct lang_type): Shrink language field to 1 bit
from 4.  Add var_declared_inline_p field.  Mention 2 spare bits.
(DECL_VAR_DECLARED_INLINE_P): Define.
(SET_DECL_VAR_DECLARED_INLINE_P): Define.
(DECL_INLINE_VAR_P): Define.
(diagnose_inline_vars_for_namespace): Declare.
* decl.c (diagnose_inline_vars_for_namespace): New function.
(duplicate_decls): For static data members copy
DECL_DECLARED_CONSTEXPR_P.
(redeclaration_error_message): Handle C++17 redundant redeclaration
of constexpr static data member outside of class.
(maybe_commonize_var): Handle inline variables.
(check_initializer): Ignore inline variables for diagnostics.
Adjust diagnostic wording for C++17.
(make_rtl_for_nonlocal_decl): Allow in-class definition of
inline static data members.
(bad_specifiers): Don't diagnose inline on variables here.
(grokvardecl): Add inlinep argument, non-static const inline variables
are TREE_PUBLIC.
(check_static_variable_definition): Return early also for inline
variables.
(grokdeclarator): Handle inline variables and inline static data
members.
* typeck2.c (store_init_value): Don't diagnose non-constant
initializers for non-constexpr inline static data members.
* decl2.c (vague_linkage_p): Return true for inline variables.
(c_parse_final_cleanups): In-class declaration of inline static
data members is a definition.  Call diagnose_inline_vars_for_namespace
through walk_namespaces.
* pt.c (instantiate_decl): Set pattern_defined for in-class definitions
of inline static data members.

From-SVN: r241137

7 years agogcov-io.c (gcov_open): Fix documentation.
Nathan Sidwell [Thu, 13 Oct 2016 18:36:31 +0000 (18:36 +0000)]
gcov-io.c (gcov_open): Fix documentation.

* gcov-io.c (gcov_open): Fix documentation.  Simplify setting
gcov_var.mode.  Remove unnecessary fstat.

From-SVN: r241136

7 years agoCreate the *logue in the same order as before (PR77962)
Segher Boessenkool [Thu, 13 Oct 2016 18:25:15 +0000 (20:25 +0200)]
Create the *logue in the same order as before (PR77962)

PR77962 shows Go failing on 32-bit x86.  This happens because the i386
port requires the split stack prologue to be created before the normal
prologue, and my previous patch changed it to be the other way around.

This patch changes it back.  Things will be exactly as before for targets
that do not do shrink-wrapping for separate components.  For targets
that *do* support it, all three prologue/epilogue creation functions
will now be called twice for functions that have anything wrapped
separately (instead of just the prologue created twice).

PR bootstrap/77962
* function.c (thread_prologue_and_epilogue_insns): Call all
make_*logue_seq in the same order as traditional.  Call them
all a second time if shrink_wrapped-separate.

From-SVN: r241135

7 years agoMakefile.in (insn-attrtab.o-warn, [...]): Don't use -Wno-error.
Marek Polacek [Thu, 13 Oct 2016 18:20:32 +0000 (18:20 +0000)]
Makefile.in (insn-attrtab.o-warn, [...]): Don't use -Wno-error.

* Makefile.in (insn-attrtab.o-warn, insn-dfatab.o-warn,
insn-latencytab.o-warn, insn-output.o-warn, insn-emit.o-warn): Don't
use -Wno-error.

From-SVN: r241134

7 years agoFix ChangeLog for r241132
Sandra Loosemore [Thu, 13 Oct 2016 18:09:26 +0000 (14:09 -0400)]
Fix ChangeLog for r241132

From-SVN: r241133

7 years agoscd42-1.c: Skip if -mcpu incompatible with Xscale is specified, not just -march.
Sandra Loosemore [Thu, 13 Oct 2016 17:55:00 +0000 (13:55 -0400)]
scd42-1.c: Skip if -mcpu incompatible with Xscale is specified, not just -march.

2016-10-13  Sandra Loosemore <sandra@codesourcery.com>

gcc/testsuite/
* scd42-1.c: Skip if -mcpu incompatible with Xscale is specified,
not just -march.
* scd42-2.c: Fix existing logic to skip if -mcpu is incompatible
with Xscale.

From-SVN: r241132

7 years agoAvoid #include <functional> in other headers
Jonathan Wakely [Thu, 13 Oct 2016 16:59:19 +0000 (17:59 +0100)]
Avoid #include <functional> in other headers

* include/bits/shared_ptr_base.h: Include <functional>.
[!__cpp_rtti]: Do not include <typeinfo>.
* include/experimental/array: Do not include <functional>.
* include/experimental/memory: Include <bits/functional_hash.h>
instead of <functional>.
* include/experimental/propagate_const: Include <bits/stl_function.h>,
<bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
* include/experimental/tuple: Do not include <functional>.
* include/std/future: Include <functional>.
* include/std/memory: Do not include <functional>.
* include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
missing includes.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
* testsuite/20_util/specialized_algorithms/memory_management_tools/
1.cc: Likewise.
* testsuite/30_threads/call_once/60497.cc: Likewise.
* testsuite/30_threads/lock/2.cc: Likewise.
* testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
* testsuite/experimental/algorithm/sample.cc: Likewise.
* testsuite/experimental/array/make_array.cc: Likewise.
* testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
* testsuite/experimental/propagate_const/assignment/move_neg.cc:
Adjust dg-error lines.
* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
* testsuite/experimental/propagate_const/requirements5.cc: Likewise.

From-SVN: r241131

7 years agoAdd missing <random> header in testcase
Jonathan Wakely [Thu, 13 Oct 2016 16:42:53 +0000 (17:42 +0100)]
Add missing <random> header in testcase

* testsuite/experimental/algorithm/sample.cc: Add missing header.

From-SVN: r241130

7 years agoQualify use of std::declval to avoid ADL
Jonathan Wakely [Thu, 13 Oct 2016 16:41:10 +0000 (17:41 +0100)]
Qualify use of std::declval to avoid ADL

* include/experimental/propagate_const (element_type): Qualify
declval.

From-SVN: r241129

7 years agoChange test to use VERIFY not assert
Jonathan Wakely [Thu, 13 Oct 2016 16:37:47 +0000 (17:37 +0100)]
Change test to use VERIFY not assert

* testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
instead of assert.

From-SVN: r241128

7 years agocompiler: don't try to get backend representation of redefinition
Ian Lance Taylor [Thu, 13 Oct 2016 16:21:28 +0000 (16:21 +0000)]
compiler: don't try to get backend representation of redefinition

    Trying to get the backend representation of a redefined name can cause a
    compiler crash as the compiler can walk over the same statements a
    second time.  It's also quite unlikely to produce any additional useful
    error messages for the user.

    Test case follows.  I'm not going to bother adding this test case to the
    testsuite--crash-on-invalid cases are worth fixing but not worth
    continually retesting.

    package p

    type A []int

    func (a A) Sum() (sum int) {
     for _, v := range a {
     sum += v
     }
     return sum
    }

    type A []int

    func (a A) Sum() (sum int) {
     for _, v := range a {
     sum += v
     }
     return sum
    }

    Reviewed-on: https://go-review.googlesource.com/30976

From-SVN: r241127

7 years agoUse normal mode containers in searchers
Jonathan Wakely [Thu, 13 Oct 2016 15:50:35 +0000 (16:50 +0100)]
Use normal mode containers in searchers

* include/experiumental/functional (boyer_moore_searcher)
(__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
with _GLIBCXX_STD_C.
* include/std/functional: Likewise.

From-SVN: r241126

7 years agore PR tree-optimization/77937 (ICE: in replace_one_candidate, at gimple-ssa-strength...
Bill Schmidt [Thu, 13 Oct 2016 15:34:22 +0000 (15:34 +0000)]
re PR tree-optimization/77937 (ICE: in replace_one_candidate, at gimple-ssa-strength-reduction.c:3370)

2016-10-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/77937
* gimple-ssa-strength-reduction.c (analyze_increments): Set cost
to infinite when we have a pointer with an increment of -1.

From-SVN: r241125

7 years agoruntime: copy mstats code from Go 1.7 runtime
Ian Lance Taylor [Thu, 13 Oct 2016 15:24:50 +0000 (15:24 +0000)]
runtime: copy mstats code from Go 1.7 runtime

    This replaces mem.go and the C runtime_ReadMemStats function with the Go
    1.7 mstats.go.

    The GCStats code is commented out for now.  The corresponding gccgo code
    is in runtime/mgc0.c.

    The variables memstats and worldsema are shared between the Go code and
    the C code, but are not exported.  To make this work, add temporary
    accessor functions acquireWorldsema, releaseWorldsema, getMstats (the
    latter known as mstats in the C code).

    Check the preemptoff field of m when allocating and when considering
    whether to start a GC.  This works with the new stopTheWorld and
    startTheWorld functions in Go, which are essentially the Go 1.7
    versions.

    Change the compiler to stack allocate closures when compiling the
    runtime package.  Within the runtime packages closures do not escape.
    This is similar to what the gc compiler does, except that the gc
    compiler, when compiling the runtime package, gives an error if escape
    analysis shows that a closure does escape.  I added this here because
    the Go version of ReadMemStats calls systemstack with a closure, and
    having that allocate memory was causing some tests that measure memory
    allocations to fail.

    Reviewed-on: https://go-review.googlesource.com/30972

From-SVN: r241124

7 years agobuiltin-sprintf-warn-1.c: Cast 0 to wint_t to placate -Wformat on targets where the...
Martin Sebor [Thu, 13 Oct 2016 14:58:20 +0000 (14:58 +0000)]
builtin-sprintf-warn-1.c: Cast 0 to wint_t to placate -Wformat on targets where the type is not int.

gcc/testsuite/Changelog:
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Cast 0 to wint_t
to placate -Wformat on targets where the type is not int.

From-SVN: r241123

7 years agoReplace non-constexpr decrement in std::chrono::floor
Jonathan Wakely [Thu, 13 Oct 2016 14:42:09 +0000 (15:42 +0100)]
Replace non-constexpr decrement in std::chrono::floor

* include/std/chrono (floor): Replace non-constexpr operation.
* testsuite/20_util/duration_cast/rounding.cc: Test conversion to
durations with floating pointer representations.

From-SVN: r241122

7 years agoMove MEMMODEL_* from coretypes.h to memmodel.h
Thomas Preud'homme [Thu, 13 Oct 2016 14:17:52 +0000 (14:17 +0000)]
Move MEMMODEL_* from coretypes.h to memmodel.h

2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * coretypes.h: Move MEMMODEL_* macros and enum memmodel definition
    into ...
    * memmodel.h: This file.
    * alias.c, asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
      caller-save.c, calls.c, ccmp.c, cfgbuild.c, cfgcleanup.c,
      cfgexpand.c, cfgloopanal.c, cfgrtl.c, cilk-common.c, combine.c,
      combine-stack-adj.c, common/config/aarch64/aarch64-common.c,
      common/config/arm/arm-common.c, common/config/bfin/bfin-common.c,
      common/config/c6x/c6x-common.c, common/config/i386/i386-common.c,
      common/config/ia64/ia64-common.c, common/config/nvptx/nvptx-common.c,
      compare-elim.c, config/aarch64/aarch64-builtins.c,
      config/aarch64/aarch64-c.c, config/aarch64/cortex-a57-fma-steering.c,
      config/arc/arc.c, config/arc/arc-c.c, config/arm/arm-builtins.c,
      config/arm/arm-c.c, config/avr/avr.c, config/avr/avr-c.c,
      config/avr/avr-log.c, config/bfin/bfin.c, config/c6x/c6x.c,
      config/cr16/cr16.c, config/cris/cris.c, config/darwin-c.c,
      config/darwin.c, config/epiphany/epiphany.c,
      config/epiphany/mode-switch-use.c,
      config/epiphany/resolve-sw-modes.c, config/fr30/fr30.c,
      config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c,
      config/i386/i386-c.c, config/i386/winnt.c, config/iq2000/iq2000.c,
      config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
      config/m68k/m68k.c, config/mcore/mcore.c,
      config/microblaze/microblaze.c, config/mmix/mmix.c,
      config/mn10300/mn10300.c, config/moxie/moxie.c,
      config/msp430/msp430.c, config/nds32/nds32-cost.c,
      config/nds32/nds32-intrinsic.c, config/nds32/nds32-md-auxiliary.c,
      config/nds32/nds32-memory-manipulation.c,
      config/nds32/nds32-predicates.c, config/nds32/nds32.c,
      config/nios2/nios2.c, config/nvptx/nvptx.c, config/pa/pa.c,
      config/pdp11/pdp11.c, config/rl78/rl78.c, config/rs6000/rs6000-c.c,
      config/rx/rx.c, config/s390/s390-c.c, config/s390/s390.c,
      config/sh/sh.c, config/sh/sh-c.c, config/sh/sh-mem.cc,
      config/sh/sh_treg_combine.cc, config/sol2.c, config/spu/spu.c,
      config/stormy16/stormy16.c, config/tilegx/tilegx.c,
      config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
      config/visium/visium.c, config/vms/vms-c.c, config/xtensa/xtensa.c,
      coverage.c, cppbuiltin.c, cprop.c, cse.c, cselib.c, dbxout.c, dce.c,
      df-core.c, df-problems.c, df-scan.c, dojump.c, dse.c, dwarf2asm.c,
      dwarf2cfi.c, dwarf2out.c, emit-rtl.c, except.c, explow.c, expmed.c,
      expr.c, final.c, fold-const.c, function.c, fwprop.c, gcse.c,
      ggc-page.c, haifa-sched.c, hsa-brig.c, hsa-gen.c, hw-doloop.c,
      ifcvt.c, init-regs.c, internal-fn.c, ira-build.c, ira-color.c,
      ira-conflicts.c, ira-costs.c, ira-emit.c, ira-lives.c, ira.c, jump.c,
      loop-doloop.c, loop-invariant.c, loop-iv.c, loop-unroll.c,
      lower-subreg.c, lra.c, lra-assigns.c, lra-coalesce.c,
      lra-constraints.c, lra-eliminations.c, lra-lives.c, lra-remat.c,
      lra-spills.c, mode-switching.c, modulo-sched.c, omp-low.c, passes.c,
      postreload-gcse.c, postreload.c, predict.c, print-rtl-function.c,
      recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
      reload.c, reload1.c, reorg.c, resource.c, rtl-chkp.c, rtl-tests.c,
      rtlanal.c, rtlhooks.c, sched-deps.c, sched-rgn.c, sdbout.c,
      sel-sched-ir.c, sel-sched.c, shrink-wrap.c, simplify-rtx.c,
      stack-ptr-mod.c, stmt.c, stor-layout.c, target-globals.c,
      targhooks.c, toplev.c, tree-nested.c, tree-outof-ssa.c,
      tree-profile.c, tree-ssa-coalesce.c, tree-ssa-ifcombine.c,
      tree-ssa-loop-ivopts.c, tree-ssa-loop.c, tree-ssa-reassoc.c,
      tree-ssa-sccvn.c, tree-vect-data-refs.c, ubsan.c, valtrack.c,
      var-tracking.c, varasm.c: Include memmodel.h.
    * genattrtab.c (write_header): Include memmodel.h in generated file.
    * genautomata.c (main): Likewise.
    * gengtype.c (open_base_files): Likewise.
    * genopinit.c (main): Likewise.
    * genconditions.c (write_header): Include memmodel.h earlier in
    generated file.
    * genemit.c (main): Likewise.
    * genoutput.c (output_prologue): Likewise.
    * genpeep.c (main): Likewise.
    * genpreds.c (write_insn_preds_c): Likewise.
    * genrecog.c (write_header): Likewise.
    * Makefile.in (PLUGIN_HEADERS): Include memmodel.h

    gcc/ada/
    * gcc-interface/utils2.c: Include memmodel.h.

    gcc/c-family/
    * c-cppbuiltin.c: Include memmodel.h.
    * c-opts.c: Likewise.
    * c-pragma.c: Likewise.
    * c-warn.c: Likewise.

    gcc/c/
    * c-typeck.c: Include memmodel.h.

    gcc/cp/
    * decl2.c: Include memmodel.h.
    * rtti.c: Likewise.

    gcc/fortran/
    * trans-intrinsic.c: Include memmodel.h.

    gcc/go/
    * go-backend.c: Include memmodel.h.

    libgcc/
    * libgcov-profiler.c: Replace MEMMODEL_* macros by their __ATOMIC_*
    equivalent.
    * config/tilepro/atomic.c: Likewise and stop casting model to
    enum memmodel.

From-SVN: r241121

7 years agoAdd a "compact" mode to print_rtx_function
David Malcolm [Thu, 13 Oct 2016 13:17:59 +0000 (13:17 +0000)]
Add a "compact" mode to print_rtx_function

gcc/ChangeLog:
* function-tests.c (selftest::test_expansion_to_rtl): Add "true"
for new "compact" param of print_rtx_function.  Check for "cinsn"
rather than "insn".
* print-rtl-function.c (flag_compact): New decl.
(print_rtx_function): Add param "compact" and use it to set
flag_compact, adding a description of the effect to the leading
comment, and updating the example output.
* print-rtl.c (flag_compact): New variable.
(print_rtx_operand_code_0): Omit the JUMP_LABEL reference in compact
mode.
(print_rtx_operand_code_i): When printing source locations, wrap
xloc.file in quotes.  Don't print INSN_CODEs in compact mode.
(print_rtx_operand_code_r): Don't print regnos for hard regs and
virtuals in compact mode.
(print_rtx_operand_code_u): Don't print insn UIDs in compact mode,
apart from in LABEL_REFs.
(print_rtx_operand): In case 'w', don't print in hex in compact mode.
Don't print basic block ids in compact mode.
(print_rtx):  In compact mode, prefix the code of insns with "c",
only print the INSN_UID of CODE_LABELs, and omit their LABEL_NUSES.
* print-rtl.h (print_rtx_function): Add "compact" param.

gcc/testsuite/ChangeLog:
* gcc.target/i386/vararg-loc.c: Update for quoting of xloc.file
in INSN_LOCATION.

From-SVN: r241120

7 years agoFix typo in name.
Richard Earnshaw [Thu, 13 Oct 2016 13:06:47 +0000 (13:06 +0000)]
Fix typo in name.

From-SVN: r241119

7 years ago[ARM] Remove redundant TARGET_VFP
Richard Earnshaw [Thu, 13 Oct 2016 13:04:51 +0000 (13:04 +0000)]
[ARM] Remove redundant TARGET_VFP

* arm.h (TARGET_VFP): Delete.
(TARGET_VFPD32): Remove references to TARGET_VFP.
(TARGET_VFP3, TARGET_VFP5): Likewise.
(TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE): Likewise.
(TARGET_NEON_FP16): Likewise.
(TARGET_FMA): Likewise.
(TARGET_CRYPTO): Likewise.
(TARGET_NEON): Likewise.
(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
(FUNCTION_ARG_REGNO_P): Likewise.
* arm.c (arm_option_check_internal): Likewise.
(arm_option_override): Likewise.
(use_return_insn): Likewise.
(arm_function_value_regno_p): Likewise.
(arm_apply_result_size): Likewise.
(use_vfp_abi): Likewise.
(arm_legitimate_address_outer_p): Likewise.
(thumb2_legitimate_address_p): Likewise.
(arm_legitimate_index_p): Likewise.
(thumb2_legitimate_index_p): Likewise.
(arm_legitimate_address): Likewise.
(arm_get_vfp_saved_size): Likewise.
(arm_emit_vfp_multi_reg_pop): Likewise.
(arm_get_frame_offsets): Likewise.
(arm_save_coproc_regs): Likewise.
(arm_hard_regno_mode_ok): Likewise.
(arm_expand_epilogue_apcs_frame): Likewise.
(arm_expand_epilogue): Likewise.
(arm_file_start): Likewise.
(arm_conditional_register_usage): Likewise.
(arm_validize_comparison): Use vfp_compare_operand directly.
* arm-builtins.c (arm_init_builtins): Remove references to TARGET_VFP.
(arm_expand_vfp_builtin): Use TARGET_HARD_FLOAT for detecting
unsupported usage.
(arm_atomic_assign_expand_fenv): Likewise.
* arm.md (divsf3): Likewise.
(arm_negsi2): Likewise.
(absdf2): Likewise.
(arm_movdi): Likewise.
(arm_movt): Likewise.
(cbranchsf4): Change predicate to vfp_compare_operand.
(cbranchdf4): Change predicate to vfp_compare_operand.
(cstorehf4): Change predicate to vfp_compare_operand.
(cstoresf4): Change predicate to vfp_compare_operand.
(cstoredf4): Change predicate to vfp_compare_operand.
(vfp_pop_multiple_with_writeback): Remove references to TARGET_VFP.
(movhi_insn_arch4, movhi_bytes): Likewise.
* constraints.md (Dt): Likewise.
(Dp): Likewise.
* iterators.md (SDF): Likewise.
* predicates.md (arm_float_compare_operand): Delete.
(const_double_vcvt_power_of_two_reciprocal): Remove references to
TARGET_VFP.
(const_double_vcvt_power_of_two): Likewise.
* thumb2.md thumb2_movsi_insn): Likewise.
* vfp.md (arm_movhi_vfp, thumb2_movhi_vfp): Likewise.
(movhf_vfp): Likewise.
(arm_movsi_vfp, thumb2_movsi_vfp): Likewise.
(movdi_vfp, movdi_vfp_cortexa8): Likewise.
(movsf_vfp, thumb2_movsf_vfp): Likewise.
(movdf_vfp, thumb2_movdf_vfp): Likewise.
(movsfcc_vfp, abssf2_vfp, negsf2_vfp, addsf3_vfp): Likewise.
(subsf3_vfp, divsf3_vfp): Likewise.
(mulsf3_vfp, mulsf3negsf_vfp, negmulsf3_vfp): Likewise.
(mulsf3addsf_vfp, (mulsf3subsf_vfp, mulsf3negsfaddsf_vfp): Likewise.
(mulsf3negsfsubsf_vfp): Likewise.
(truncsisf2_vfp, fixuns_truncsfsi2, floatsisf2_vfp): Likewise.
(floatunssisf2, sqrtsf2_vfp): Likewise.
(movcc_vfp): Likewise.
(cmpsf_split_vfp, cmpsf_trap_split_vfp): Likewise.
(cmpsf_vfp, cmpsf_trap_vfp): Likewise.
(push_multi_vfp): Likewise.
(set_fpscr, get_fpscr): Likewise.
* arm-c.c (arm_cpu_builtins): Unconditionally define __VFP_FP__.

From-SVN: r241118

7 years ago[multiple changes]
Arnaud Charlet [Thu, 13 Oct 2016 13:00:54 +0000 (15:00 +0200)]
[multiple changes]

2016-10-13  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch6.adb (Analyze_Expression_Function):
Remove the aspects of the original expression function has been
rewritten into a subprogram declaration or a body. Reinsert the
aspects once they have been analyzed.

2016-10-13  Tristan Gingold  <gingold@adacore.com>

* exp_ch9.adb (Expand_N_Asynchronous_Select): Return immediately
on restricted profile.

2016-10-13  Javier Miranda  <miranda@adacore.com>

* sem_prag.adb
(Process_Compile_Time_Warning_Or_Error): Register the pragma
for its validation after the backend has been called only if its
expression has some occurrence of attributes 'size or 'alignment
* table.ads (Release_Threshold): New formal.
(Release): Adding documentation of its new functionality.
* table.adb (Release): Extend its functionality with a
Release_Threshold.
* nlists.adb (Next_Node table): Set its Release_Threshold.
* atree.adb (Orig_Nodes table): Set its Release_Threshold.
* atree.ads (Nodes table): Set its Release_Threshold.
(Flags table): Set its Release_Threshold.
* alloc.ads (Nodes_Release_Threshold): New constant declaration.
(Orig_Nodes_Release_Threshold): New constant declaration.
* debug.adb (switch d.9): Left free.
* gnat1drv.adb (Post_Compilation_Validation_Checks): Enable
validation of pragmas Compile_Time_Error and Compile_Time_Warning.

From-SVN: r241117

7 years ago[ARM] Remove redundant model field from FPU descriptions
Richard Earnshaw [Thu, 13 Oct 2016 12:59:19 +0000 (12:59 +0000)]
[ARM] Remove redundant model field from FPU descriptions

* arm.h (TARGET_VFP): Unconditionally define to 1.
(arm_fpu_desc): Remove 'model' field.
(TARGET_FPU_MODEL): Delete.
* arm.c (all_fpus): Don't initialize the model field.
(arm_can_inline_p): Don't check the FPU model.
* arm-fpus.def: Remove redundant model field from all FPU
descriptions.

From-SVN: r241116

7 years ago[multiple changes]
Arnaud Charlet [Thu, 13 Oct 2016 12:58:24 +0000 (14:58 +0200)]
[multiple changes]

2016-10-13  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch6.adb (Create_Extra_Formals): Generate
an Itype reference for the object extra formal in case the
subprogram is called within the same or nested scope.

2016-10-13  Claire Dross  <dross@adacore.com>

* sem_ch5.adb (Analyze_Iterator_Specification):
Also create a renaming in GNATprove mode.

2016-10-13  Ed Schonberg  <schonberg@adacore.com>

* freeze.adb (Freeze_Fixed_Point_Type): in SPARK mode, the
given bounds of the type must be strictly representable, and the
range reduction by one delta ("shaving") allowed by the Ada RM,
is not applicable in SPARK.

2016-10-13  Javier Miranda  <miranda@adacore.com>

* debug.adb (switch d.9): Used to temporarily disable the support
needed for this enhancement since it causes regressions with
large sources.
* gnat1drv.adb (Post_Compilation_Validation_Checks): Temporarily
leave the validation of pragmas Compile_Time_Warning and
Compile_Time_Error under control of -gnatd.9/

From-SVN: r241115

7 years ago* i-vxinco.adb, i-vxinco.ads: New files.
Ed Falis [Thu, 13 Oct 2016 12:57:16 +0000 (12:57 +0000)]
* i-vxinco.adb, i-vxinco.ads: New files.

From-SVN: r241114

7 years agoCode cleanup.
Arnaud Charlet [Thu, 13 Oct 2016 12:55:07 +0000 (14:55 +0200)]
Code cleanup.

From-SVN: r241113

7 years ago[multiple changes]
Arnaud Charlet [Thu, 13 Oct 2016 12:54:42 +0000 (14:54 +0200)]
[multiple changes]

2016-10-13  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch10.adb (Entity_Needs_Body): A generic
subprogram renaming needs a body if the renamed unit is declared
outside the current compilation unit.

2016-10-13  Hristian Kirtchev  <kirtchev@adacore.com>

* sinfo.ads, sem_ch12.adb, sem.adb, expander.adb, sem_res.ads,
sem_ch4.adb, sem_ch8.adb, s-memory.adb: Minor reformatting.

2016-10-13  Vincent Celier  <celier@adacore.com>

* gnatcmd.adb: Delete all temporary files when invoked as gnat
list -V -P ...

2016-10-13  Ed Falis  <falis@adacore.com>

* impunit.adb: add i-vxinco.ads.
* s-interr-vxworks.adb: add hook for user interrupt connection routine.

From-SVN: r241112

7 years agoRestore __bind_simple for compat symbols
Jonathan Wakely [Thu, 13 Oct 2016 12:39:19 +0000 (13:39 +0100)]
Restore __bind_simple for compat symbols

* src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
(_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.

From-SVN: r241111

7 years agos-interr-hwint.adb, [...]: Rename s-interr-hwint.adb to s-interr-vxworks.adb.
Ed Falis [Thu, 13 Oct 2016 12:38:21 +0000 (12:38 +0000)]
s-interr-hwint.adb, [...]: Rename s-interr-hwint.adb to s-interr-vxworks.adb.

2016-10-13  Ed Falis  <falis@adacore.com>

* s-interr-hwint.adb, s-interr-vxworks.adb: Rename s-interr-hwint.adb
to s-interr-vxworks.adb.

From-SVN: r241110

7 years agoexp_ch7.adb, [...]: Minor typo fixes and reformatting.
Gary Dismukes [Thu, 13 Oct 2016 12:24:21 +0000 (12:24 +0000)]
exp_ch7.adb, [...]: Minor typo fixes and reformatting.

2016-10-13  Gary Dismukes  <dismukes@adacore.com>

* exp_ch7.adb, einfo.ads, sem_prag.adb, sem_prag.ads, sem.ads,
sem_attr.adb, sem_case.adb, sem_ch13.ads: Minor typo fixes and
reformatting.

From-SVN: r241109

7 years agore PR target/77826 (ICE in decompose, at wide-int.h:928 w/ -m64 -O2 and above)
Richard Biener [Thu, 13 Oct 2016 12:15:38 +0000 (12:15 +0000)]
re PR target/77826 (ICE in decompose, at wide-int.h:928 w/ -m64 -O2 and above)

2016-10-13  Richard Biener  <rguenther@suse.de>

PR middle-end/77826
* genmatch.c (struct capture): Add value_match member.
(commutate): Preserve value_match.
(lower_opt_convert): Likewise.
(lower_cond): Likewise.
(replace_id): Likewise.
(struct dt_operand): Add value_match member.
(decision_tree::cmp_node): Compare it.
(decision_tree::insert_operand): Honor it when finding and
when appending a DT_MATCH.
(dt_operand::gen_match_op): Generate a type check after
operand_equal_p if ! value_match for both GENERIC and GIMPLE.
(parser::get_internal_capture_id): New helper.
(parser::finish_match_operand): New function lowering @@<id>.
(parser::parse_capture): Parse @@<id> as value-match.
(parser::parse_expr): Use get_internal_capture_id.
(parser::parse_simplify): Call finish_match_operand.
(walk_captures): New helper.
* match.pd (X - (X / Y) * Y -> X % Y): Use value-matching instead
of operand_equal_p.
((X /[ex] A) * A -> X): Likewise.
((X | Y) ^ X -> Y & ~ X): Handle constants properly by using
convert[12] and value-matching.
((A | B) & (A | C) ->  A | (B & C)): Likewise.
((X | Y) | Y -> X | Y): Likewise.
((X ^ Y) ^ Y -> X): Likewise.
(A - (A & B) -> ~B & A): Likewise.
((T)(P + A) - (T)P -> (T) A): Likewise.
((T)P - (T)(P + A) -> -(T) A): Likewise.
((T)(P + A) - (T)(P + B) -> (T)A - (T)B): Likewise.
* doc/match-and-simplify.texi: Amend capture section.

From-SVN: r241108

7 years agosem_prag.ads (Process_Compile_Time_Warning_Or_Error): New overloaded subprogram that...
Javier Miranda [Thu, 13 Oct 2016 12:12:18 +0000 (12:12 +0000)]
sem_prag.ads (Process_Compile_Time_Warning_Or_Error): New overloaded subprogram that factorizes code executed as part of the regular...

2016-10-13  Javier Miranda  <miranda@adacore.com>

* sem_prag.ads (Process_Compile_Time_Warning_Or_Error): New
overloaded subprogram that factorizes code executed as part
of the regular processing of these pragmas and as part of its
validation after invoking the backend.
* sem_prag.adb (Process_Compile_Time_Warning_Or_Error): New
subprogram.
(Process_Compile_Time_Warning_Or_Error): If the
condition is known at compile time then invoke the new overloaded
subprogram; otherwise register the pragma in a table to validate
it after invoking the backend.
* sem.ads, sem.adb (Unlock): New subprogram.
* sem_attr.adb (Analyze_Attribute [Size]): If we are processing
pragmas Compile_Time_Warning and Compile_Time_Errors after the
backend has been called then evaluate this attribute if 'Size
is known at compile time.
* gnat1drv.adb (Post_Compilation_Validation_Checks): Validate
compile time warnings and errors.
* sem_ch13.ads, sem_ch13.adb (Validate_Compile_Time_Warning_Error):
New subprogram.
(Validate_Compile_Time_Warning_Errors): New subprogram.

From-SVN: r241107

7 years ago[multiple changes]
Arnaud Charlet [Thu, 13 Oct 2016 12:10:46 +0000 (14:10 +0200)]
[multiple changes]

2016-10-13  Yannick Moy  <moy@adacore.com>

* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Adapt to
optional refinement for abstract states with only partial refinement
visible.

2016-10-13  Justin Squirek  <squirek@adacore.com>

* sem_ch13.adb: Minor correction in comment in
Analyze_Aspect_Specifications
* sem_prag.adb: Minor reformatting.

2016-10-13  Thomas Quinot  <quinot@adacore.com>

* s-stratt-xdr.adb: Disable compiler unit warnings.

2016-10-13  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Visible_Component): In an instance body, check
whether the component may be hidden in a selected component by
a homonym that is a primitive operation of the type of the prefix.

From-SVN: r241106

7 years ago[ARC] Fix mul32x16 patterns.
Claudiu Zissulescu [Thu, 13 Oct 2016 11:48:02 +0000 (13:48 +0200)]
[ARC] Fix mul32x16 patterns.

gcc/
2016-10-13  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.md (umul_600): Change.
(umul64_600): Likewise.

From-SVN: r241105

7 years ago[ARC] Update INSN_LENGTH_ALIGNMENT.
Claudiu Zissulescu [Thu, 13 Oct 2016 11:47:51 +0000 (13:47 +0200)]
[ARC] Update INSN_LENGTH_ALIGNMENT.

gcc/
2016-10-13  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.h (INSN_LENGTH_ALIGNMENT): Change.

From-SVN: r241104

7 years agotree-vect-loop.c (loop_niters_no_overflow): New func.
Bin Cheng [Thu, 13 Oct 2016 11:09:23 +0000 (11:09 +0000)]
tree-vect-loop.c (loop_niters_no_overflow): New func.

* tree-vect-loop.c (loop_niters_no_overflow): New func.
(vect_transform_loop): Call loop_niters_no_overflow.  Pass the
no-overflow information to vect_do_peeling_for_loop_bound and
vect_gen_vector_loop_niters.

From-SVN: r241102

7 years agol_fma_float_1.c: Revise test.
Bin Cheng [Thu, 13 Oct 2016 11:07:36 +0000 (11:07 +0000)]
l_fma_float_1.c: Revise test.

gcc/testsuite
* gcc.target/i386/l_fma_float_1.c: Revise test.
* gcc.target/i386/l_fma_float_2.c: Ditto.
* gcc.target/i386/l_fma_float_3.c: Ditto.
* gcc.target/i386/l_fma_float_4.c: Ditto.
* gcc.target/i386/l_fma_float_5.c: Ditto.
* gcc.target/i386/l_fma_float_6.c: Ditto.
* gcc.target/i386/l_fma_double_1.c: Ditto.
* gcc.target/i386/l_fma_double_2.c: Ditto.
* gcc.target/i386/l_fma_double_3.c: Ditto.
* gcc.target/i386/l_fma_double_4.c: Ditto.
* gcc.target/i386/l_fma_double_5.c: Ditto.
* gcc.target/i386/l_fma_double_6.c: Ditto.

From-SVN: r241101

7 years agotree-predcom.c (tree_predictive_commoning_loop): Skip loop that only iterates 1 time.
Bin Cheng [Thu, 13 Oct 2016 11:05:53 +0000 (11:05 +0000)]
tree-predcom.c (tree_predictive_commoning_loop): Skip loop that only iterates 1 time.

* tree-predcom.c (tree_predictive_commoning_loop): Skip loop that only
iterates 1 time.

gcc/testsuite
* gfortran.dg/vect/fast-math-mgrid-resid.f: New test string.

From-SVN: r241100

7 years agotree-vect-loop-manip.c (adjust_vec_debug_stmts): Don't release adjust_vec automatically.
Bin Cheng [Thu, 13 Oct 2016 11:03:31 +0000 (11:03 +0000)]
tree-vect-loop-manip.c (adjust_vec_debug_stmts): Don't release adjust_vec automatically.

* tree-vect-loop-manip.c (adjust_vec_debug_stmts): Don't release
adjust_vec automatically.
(slpeel_add_loop_guard): Remove param cond_expr_stmt_list.  Rename
param exit_bb to guard_to.
(slpeel_checking_verify_cfg_after_peeling):
(set_prologue_iterations):
(create_lcssa_for_virtual_phi): New func which is factored out from
slpeel_tree_peel_loop_to_edge.
(slpeel_tree_peel_loop_to_edge):
(iv_phi_p): New func.
(vect_can_advance_ivs_p): Call iv_phi_p.
(vect_update_ivs_after_vectorizer): Call iv_phi_p.  Directly insert
new gimple stmts in basic block.
(vect_do_peeling_for_loop_bound):
(vect_do_peeling_for_alignment):
(vect_gen_niters_for_prolog_loop): Rename to...
(vect_gen_prolog_loop_niters): ...Rename from.  Change parameters and
adjust implementation.
(vect_update_inits_of_drs): Fix code style issue.  Convert niters to
sizetype if necessary.
(vect_build_loop_niters): Move to here from tree-vect-loop.c.  Change
it to external function.
(vect_gen_scalar_loop_niters, vect_gen_vector_loop_niters): New.
(vect_gen_vector_loop_niters_mult_vf): New.
(slpeel_update_phi_nodes_for_loops): New.
(slpeel_update_phi_nodes_for_guard1): Reimplement.
(find_guard_arg, slpeel_update_phi_nodes_for_guard2): Reimplement.
(slpeel_update_phi_nodes_for_lcssa, vect_do_peeling): New.
* tree-vect-loop.c (vect_build_loop_niters): Move to file
tree-vect-loop-manip.c
(vect_generate_tmps_on_preheader): Delete.
(vect_transform_loop): Rename vectorization_factor to vf.  Call
vect_do_peeling instead of vect_do_peeling-* functions.
* tree-vectorizer.h (vect_do_peeling): New decl.
(vect_build_loop_niters, vect_gen_vector_loop_niters): New decls.
(vect_do_peeling_for_loop_bound): Delete.
(vect_do_peeling_for_alignment): Delete.

From-SVN: r241099

7 years agotree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): Put duplicated loop...
Bin Cheng [Thu, 13 Oct 2016 11:00:13 +0000 (11:00 +0000)]
tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): Put duplicated loop after its preheader and after the original loop.

* tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): Put
duplicated loop after its preheader and after the original loop.

From-SVN: r241098

7 years agotree-vect-loop.c (vect_analyze_loop_2): Check and skip loop if it has no enough itera...
Bin Cheng [Thu, 13 Oct 2016 10:58:26 +0000 (10:58 +0000)]
tree-vect-loop.c (vect_analyze_loop_2): Check and skip loop if it has no enough iterations for LOOP_VINFO_PEELING_FOR_GAPS.

* tree-vect-loop.c (vect_analyze_loop_2): Check and skip loop if it
has no enough iterations for LOOP_VINFO_PEELING_FOR_GAPS.

gcc/testsuite
* gcc.dg/vect/vect-98.c: Refine test case.
* gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Increase niters.
* gcc.dg/vect/vect-strided-u8-i8-gap2.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap4.c: Ditto.

From-SVN: r241097

7 years agotree-vect-loop.c (vectorizable_live_operation): Support handling for live variable...
Bin Cheng [Thu, 13 Oct 2016 10:54:24 +0000 (10:54 +0000)]
tree-vect-loop.c (vectorizable_live_operation): Support handling for live variable outside loop but not in lcssa form.

* tree-vect-loop.c (vectorizable_live_operation): Support handling
for live variable outside loop but not in lcssa form.

From-SVN: r241096

7 years agocfg.c (reset_original_copy_tables): New func.
Bin Cheng [Thu, 13 Oct 2016 10:52:00 +0000 (10:52 +0000)]
cfg.c (reset_original_copy_tables): New func.

* cfg.c (reset_original_copy_tables): New func.
* cfg.h (reset_original_copy_tables): New decl.

From-SVN: r241095

7 years agore PR c/77946 (-Wimplicit-fallthrough=1 ICE: tree check: expected tree that contains...
Jakub Jelinek [Thu, 13 Oct 2016 10:42:36 +0000 (12:42 +0200)]
re PR c/77946 (-Wimplicit-fallthrough=1 ICE: tree check: expected tree that contains ‘decl with visibility’ structure, have ‘label_decl’)

PR c/77946
* tree.h (FALLTHROUGH_LABEL_P): Use private_flag instead of
public_flag.
* varasm.c (default_binds_local_p_3): Formatting fix.

* c-c++-common/Wimplicit-fallthrough-34.c: New test.

From-SVN: r241094

7 years agoReplace __bind_simple with std::thread::__make_invoker
Jonathan Wakely [Thu, 13 Oct 2016 10:37:13 +0000 (11:37 +0100)]
Replace __bind_simple with std::thread::__make_invoker

* include/std/functional (_Bind_simple, _Bind_simple_helper)
(__bind_simple): Remove.
* include/std/future: Include <bits/invoke.h> instead of <functional>.
(__future_base::_Task_state::_M_run)
(__future_base::_Task_state::_M_run_delayed): Use lambda expressions
instead of __bind_simple.
(__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
(async): Use thread::__make_invoker instead of __bind_simple.
* include/std/thread: Include <tuple> and <bits/invoke.h> instead of
<functional>.
(thread::_Invoker, thread::__make_invoker): Define helpers to do
INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).

From-SVN: r241093

7 years agotree-vect-loop-manip.c (slpeel_can_duplicate_loop_p): Fix code style issue.
Bin Cheng [Thu, 13 Oct 2016 10:22:57 +0000 (10:22 +0000)]
tree-vect-loop-manip.c (slpeel_can_duplicate_loop_p): Fix code style issue.

* tree-vect-loop-manip.c (slpeel_can_duplicate_loop_p): Fix code
style issue.
(vect_do_peeling_for_loop_bound, vect_do_peeling_for_alignment):
Remove useless code.

From-SVN: r241092

7 years agoFix exception-specifications for std::_Not_fn
Jonathan Wakely [Thu, 13 Oct 2016 10:19:24 +0000 (11:19 +0100)]
Fix exception-specifications for std::_Not_fn

* include/std/functional (_Not_fn): Make exception specifications
depend on whether negating the result can throw.
* testsuite/20_util/not_fn/1.cc: Move to ...
* testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
for types that can throw when negated and that cannot be negated.

From-SVN: r241091

7 years agoDo not merge BBs with a different EH landing pads (PR
Martin Liska [Thu, 13 Oct 2016 10:06:35 +0000 (12:06 +0200)]
Do not merge BBs with a different EH landing pads (PR

PR tree-optimization/77943
* g++.dg/tree-ssa/pr77943.C: New test.
PR tree-optimization/77943
* tree-ssa-tail-merge.c (merge_stmts_p): Do not merge BBs with
a different EH landing pads.

From-SVN: r241090

7 years agoFix exception-specification of std::invoke
Jonathan Wakely [Thu, 13 Oct 2016 08:55:40 +0000 (09:55 +0100)]
Fix exception-specification of std::invoke

* include/bits/invoke.h (__invoke): Fix exception-specification.
* include/std/functional (invoke): Likewise.
* testsuite/20_util/function_objects/invoke/1.cc: New test.

From-SVN: r241089

7 years agore PR fortran/72832 ([OOP] ALLOCATE with SOURCE fails to allocate requested dimensions)
Andre Vehreschild [Thu, 13 Oct 2016 08:51:21 +0000 (10:51 +0200)]
re PR fortran/72832 ([OOP] ALLOCATE with SOURCE fails to allocate requested dimensions)

gcc/fortran/ChangeLog:

2016-09-01  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/72832
* trans-expr.c (gfc_copy_class_to_class): Add generation of
runtime array bounds check.
* trans-intrinsic.c (gfc_conv_intrinsic_size): Add a crutch to
get the descriptor of a function returning a class object.
* trans-stmt.c (gfc_trans_allocate): Use the array spec on the
array to allocate instead of the array spec from source=.

gcc/testsuite/ChangeLog:

2016-09-01  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/72832
* gfortran.dg/allocate_with_source_22.f03: New test.
* gfortran.dg/allocate_with_source_23.f03: New test.  Expected to
fail.

From-SVN: r241088

7 years agore PR target/77957 (Undefined .LCTOC0 with -fstack-protector-strong -mminimal-toc...
Jakub Jelinek [Thu, 13 Oct 2016 08:29:03 +0000 (10:29 +0200)]
re PR target/77957 (Undefined .LCTOC0 with -fstack-protector-strong -mminimal-toc -O0 on ppc64)

PR target/77957
* hooks.h (hook_tree_void_null): Declare.
* hooks.c (hook_tree_void_null): New function.
* langhooks.c (lhd_return_null_tree_v): Remove.
* langhooks-def.h (lhd_return_null_tree_v): Remove.
* cfgexpand.c (stack_protect_prologue): If guard_decl is NULL,
set y to const0_rtx.
* function.c (stack_protect_epilogue): Likewise.
* config/tilepro/tilepro.c (TARGET_STACK_PROTECT_GUARD): Redefine
if TARGET_THREAD_SSP_OFFSET is defined.
* config/s390/s390.c (TARGET_STACK_PROTECT_GUARD): Likewise.
* config/sparc/sparc.c (TARGET_STACK_PROTECT_GUARD): Likewise.
* config/tilegx/tilegx.c (TARGET_STACK_PROTECT_GUARD): Likewise.
* config/rs6000/rs6000.c (TARGET_STACK_PROTECT_GUARD): Likewise.
* config/i386/i386.c (TARGET_STACK_PROTECT_GUARD): Likewise.
(ix86_stack_protect_guard): New function.
c/
* c-objc-common.h (LANG_HOOKS_GETDECLS): Use hook_tree_void_null
instead of lhd_return_null_tree_v.
ada/
* gcc-interface/misc.c (LANG_HOOKS_GETDECLS): Use hook_tree_void_null
instead of lhd_return_null_tree_v.

From-SVN: r241087

7 years agomovhi_movw.c: Enable test for ARM mode.
Thomas Preud'homme [Thu, 13 Oct 2016 07:25:43 +0000 (07:25 +0000)]
movhi_movw.c: Enable test for ARM mode.

2016-10-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    * gcc.target/arm/movhi_movw.c: Enable test for ARM mode.
    * gcc.target/arm/movsi_movw.c: Likewise.
    * gcc.target/arm/movdi_movw.c: Likewise and adapt scan-assembler
    directive to work on big endian targets.

From-SVN: r241086

7 years agodwarf2out.c (tree_add_const_value_attribute): Do not try rtl_for_decl_init during...
Richard Biener [Thu, 13 Oct 2016 07:16:37 +0000 (07:16 +0000)]
dwarf2out.c (tree_add_const_value_attribute): Do not try rtl_for_decl_init during early phase.

2016-10-13  Richard Biener  <rguenther@suse.de>

* dwarf2out.c (tree_add_const_value_attribute): Do not try
rtl_for_decl_init during early phase.
(gen_variable_die): Do not create locations during early phase.
(gen_label_die): Likewise.
(decls_for_scope): Do not waste time handling BLOCK_NONLOCALIZED_VARs
twice.

From-SVN: r241085

7 years agosyscall: don't use pt_regs in clone_linux.c
Ian Lance Taylor [Thu, 13 Oct 2016 04:19:57 +0000 (04:19 +0000)]
syscall: don't use pt_regs in clone_linux.c

    It's unnecessary and it reportedly breaks the build on arm64 GNU/Linux.

    Reviewed-on: https://go-review.googlesource.com/30978

From-SVN: r241084

7 years agoEVRP - Push op1 value range before pushing op0 value range.
Kugan Vivekanandarajah [Thu, 13 Oct 2016 01:26:28 +0000 (01:26 +0000)]
EVRP - Push op1 value range before pushing op0 value range.

gcc/ChangeLog:

2016-10-12  Richard Biener  <rguenther@suse.de>

* tree-vrp.c (evrp_dom_walker::try_find_new_range): Renamed from
try_add_new_range and made to eturn new range.
(evrp_dom_walker::before_dom_children): Push op1 value range before
pushing op0 value range.

gcc/testsuite/ChangeLog:

2016-10-12  Kugan Vivekanandarajah  <kuganv@linaro.org>

* gcc.dg/tree-ssa/evrp6.c: New test.

From-SVN: r241083

7 years agore PR tree-optimization/77937 (ICE: in replace_one_candidate, at gimple-ssa-strength...
Bill Schmidt [Thu, 13 Oct 2016 01:08:20 +0000 (01:08 +0000)]
re PR tree-optimization/77937 (ICE: in replace_one_candidate, at gimple-ssa-strength-reduction.c:3370)

2016-10-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/77937
* gimple-ssa-strength-reduction.c (analyze_increments): Use
POINTER_TYPE_P on the candidate type to determine whether
candidates in this chain require pointer arithmetic.

From-SVN: r241082

7 years agoDaily bump.
GCC Administrator [Thu, 13 Oct 2016 00:16:20 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r241081

7 years agovisium.c (visium_gimplify_va_arg): Emit a big-endian correction if the type is smalle...
Eric Botcazou [Wed, 12 Oct 2016 21:04:26 +0000 (21:04 +0000)]
visium.c (visium_gimplify_va_arg): Emit a big-endian correction if the type is smaller than a word.

* config/visium/visium.c (visium_gimplify_va_arg): Emit a big-endian
correction if the type is smaller than a word.
(visium_select_cc_mode): Add ... fall through ... comment.

From-SVN: r241076

7 years agocompiler, runtime: copy string code from Go 1.7
Ian Lance Taylor [Wed, 12 Oct 2016 18:17:52 +0000 (18:17 +0000)]
compiler, runtime: copy string code from Go 1.7

    Add compiler support for turning concatenating strings into a call to
    a runtime function that takes the appropriate number of arguments.

    Rename some local variables in mgc0.c to avoid macros that the new
    rune.go causes to appear in runtime.inc.

    Reviewed-on: https://go-review.googlesource.com/30827

From-SVN: r241074