Commit Graph

149231 Commits

Author SHA1 Message Date
David Malcolm 983496febc 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
2016-10-14 20:22:23 +00:00
Eelis van der Weegen 38e34671fa 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
2016-10-14 20:40:32 +01:00
Jonathan Wakely 17739146f9 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
2016-10-14 20:40:18 +01:00
Jakub Jelinek 9a822fc79d 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
2016-10-14 21:36:58 +02:00
Eric Botcazou 6af11d2bf4 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
2016-10-14 19:11:15 +00:00
Jonathan Wakely de1d079440 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
2016-10-14 20:04:56 +01:00
Jakub Jelinek 064ed55a66 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
2016-10-14 21:00:38 +02:00
Eric Botcazou 2579762a4b 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
2016-10-14 17:57:39 +00:00
Pat Haugen de0a3fa38e 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
2016-10-14 17:21:19 +00:00
Ian Lance Taylor db2fb304fe 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
2016-10-14 17:20:40 +00:00
Ian Lance Taylor d2c4425e86 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
2016-10-14 17:16:55 +00:00
Pat Haugen d4919e65ca 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
2016-10-14 17:10:18 +00:00
Jonathan Wakely a4744f620f 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
2016-10-14 17:12:21 +01:00
Pedro Alves 30cd7c740c 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
2016-10-14 15:25:35 +00:00
Pedro Alves 2121e959e1 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
2016-10-14 15:24:58 +00:00
Catherine Moore df17106f1e 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
2016-10-14 10:21:06 -04:00
Paolo Carlini 1558d39e1c 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
2016-10-14 13:50:24 +00:00
Ian Lance Taylor 238fc3441c 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
2016-10-14 13:36:35 +00:00
Richard Biener 6d59425df7 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
2016-10-14 12:58:18 +00:00
Martin Liska 43f66d6e1e 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
2016-10-14 12:10:16 +00:00
Martin Liska 488c624747 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
2016-10-14 12:09:51 +00:00
Martin Liska a918bfbf3c 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
2016-10-14 12:08:27 +00:00
Jonathan Wakely ace4c2f060 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
2016-10-14 13:03:47 +01:00
Uros Bizjak cb3ac86754 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
2016-10-14 11:24:41 +00:00
Markus Trippelsdorf 2c3e40f590 Fix pr77937-1.c and pr77937-2.c testcases
From-SVN: r241156
2016-10-14 11:07:13 +00:00
Nathan Sidwell 74d2b9071b * gcov-io.c (gcov_open): Deconstify 'mode'.
From-SVN: r241155
2016-10-14 10:51:58 +00:00
Eric Botcazou 14cf71a0df 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
2016-10-14 10:28:27 +00:00
Tim Shen 45b510b370 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
2016-10-14 09:58:05 +00:00
Martin Liska a766d4d74d 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
2016-10-14 09:54:32 +00:00
Jonathan Wakely 57c4fbc64b 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
2016-10-14 10:12:49 +01:00
Andre Vehreschild 6fd9c6f4c5 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
2016-10-14 10:52:10 +02:00
Kyrylo Tkachov 01f440383c [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
2016-10-14 08:40:04 +00:00
Eric Botcazou 4827fd102c Fix long line
From-SVN: r241148
2016-10-14 06:14:15 +00:00
Prathamesh Kulkarni b0057783c7 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
2016-10-14 05:57:33 +00:00
GCC Administrator 7ca95f505b Daily bump.
From-SVN: r241146
2016-10-14 00:16:15 +00:00
Martin Sebor 9603204722 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
2016-10-13 16:26:36 -06:00
Andreas Schwab 253abb2a15 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
2016-10-13 20:19:42 +00:00
Bill Schmidt a269531973 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
2016-10-13 19:50:41 +00:00
Paolo Carlini 2437d31d0e 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
2016-10-13 19:37:45 +00:00
Jason Merrill 14a2c9aac0 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
2016-10-13 15:26:54 -04:00
Nathan Sidwell fc0911e0b8 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
2016-10-13 18:36:31 +00:00
Segher Boessenkool 7dca85bf15 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
2016-10-13 20:25:15 +02:00
Marek Polacek c3e8838989 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
2016-10-13 18:20:32 +00:00
Sandra Loosemore ee7fa2e385 Fix ChangeLog for r241132
From-SVN: r241133
2016-10-13 14:09:26 -04:00
Sandra Loosemore 18d34307e2 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
2016-10-13 13:55:00 -04:00
Jonathan Wakely d67dd0be94 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
2016-10-13 17:59:19 +01:00
Jonathan Wakely 40799fe51f Add missing <random> header in testcase
* testsuite/experimental/algorithm/sample.cc: Add missing header.

From-SVN: r241130
2016-10-13 17:42:53 +01:00
Jonathan Wakely 10482a6598 Qualify use of std::declval to avoid ADL
* include/experimental/propagate_const (element_type): Qualify
	declval.

From-SVN: r241129
2016-10-13 17:41:10 +01:00
Jonathan Wakely f49adbb8d8 Change test to use VERIFY not assert
* testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
	instead of assert.

From-SVN: r241128
2016-10-13 17:37:47 +01:00
Ian Lance Taylor 65205e30c4 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
2016-10-13 16:21:28 +00:00