Commit Graph

149228 Commits

Author SHA1 Message Date
Marek Polacek
8fa18c06a2 c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
* c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
	Return immediately when finding a match.
	(warn_tautological_cmp): Remove a boolean variable that is no longer
	needed.

From-SVN: r241278
2016-10-17 19:29:00 +00:00
Yuri Rumyantsev
1d30acf687 Update dom_info
2016-10-17  Yuri Rumyantsev  <ysrumyan@gmail.com>

	* dominance.c (dom_info::dom_info): Add new constructor for region
	which is vector of basic blocks.
	(dom_init): New method to initialize members common for both
	constructors.
	(dom_info::dom_info): Invoke dom_init for partial initialization.
	(dom_info::get_idom): Add check to corner cases on basic blocks which
	are not in region.
	(dom_info::calc_dfs_tree): Check M_FAKE_EXIT_EDGE instead of M_REVERSE
	to detect unreachable bbs.
	(dom_info::calc_idoms): Likewise.
	(compute_dom_fast_query_in_region): New function.
	(calculate_dominance_info_for_region): Likewise.
	(free_dominance_info_for_region): Likewise.
	* dominance.h: Add prototypes for introduced region-based functions
	tree-if-conv.c: (build_region): New function.
	(if_convertible_loop_p_1): Invoke local version of post-dominators
	calculation before basic block predication with subsequent freeing
	post-dominator info.
	(tree_if_conversion): Remove free of post-dominator info
	(pass_if_conversion::execute): Delete detection of infinite loops
	and fake edges to exit block since post-dominator calculation is
	performed per if-converted loop only.

From-SVN: r241275
2016-10-17 11:05:12 -07:00
Paul Thomas
871267e19d re PR fortran/61420 ([OOP] type-bound procedure returning a procedure pointer fails to compile)
2016-10-17  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/61420
	PR fortran/78013
	* resolve.c (resolve_variable): Obtain the typespec for a
	variable expression, when the variable is a function result
	that is a procedure pointer.

2016-10-17  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/61420
	PR fortran/78013
	* gfortran.dg/proc_ptr_49.f90: New test.

From-SVN: r241274
2016-10-17 17:52:05 +00:00
Bernd Edlinger
fd9593e9d2 re PR target/77308 (surprisingly large stack usage for sha512 on arm)
2016-10-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR target/77308
        * config/arm/arm.c (arm_emit_coreregs_64bit_shift): Clear the result
        register explicitly.
        * config/arm/arm.md (ashldi3, ashrdi3, lshrdi3): Don't FAIL if
        optimizing for size.

testsuite:
2016-10-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR target/77308
        * gcc.target/arm/pr77308.c: New test.

From-SVN: r241273
2016-10-17 17:46:59 +00:00
Jakub Jelinek
558c7db061 dwarf2.h (enum dwarf_calling_convention): Add new DWARF5 calling convention codes.
* dwarf2.h (enum dwarf_calling_convention): Add new DWARF5
	calling convention codes.
	(enum dwarf_line_number_content_type): New.
	(enum dwarf_location_list_entry_type): Add DWARF5 DW_LLE_*
	codes.
	(enum dwarf_source_language): Add new DWARF5 DW_LANG_* codes.
	(enum dwarf_macro_record_type): Add DWARF5 DW_MACRO_* codes.
	(enum dwarf_name_index_attribute): New.
	(enum dwarf_range_list_entry): New.
	(enum dwarf_unit_type): New.
	* dwarf2.def: Add new DWARF5 DW_TAG_*, DW_FORM_*, DW_AT_*,
	DW_OP_* and DW_ATE_* entries.

From-SVN: r241272
2016-10-17 19:35:33 +02:00
David Edelsohn
d32d41768b * lib/target-supports.exp
(check_effective_target_floatn_nx_runtime): Return 0 for
        powerpc*-ibm-aix*.

From-SVN: r241271
2016-10-17 13:15:33 -04:00
Ian Lance Taylor
8cce07d1dd runtime: copy rdebug code from Go 1.7 runtime
While we're at it, update the runtime/debug package, and start running
    its testsuite by default.  I'm not sure why runtime/debug was not
    previously updated to 1.7.  Doing that led me to fix some minor aspects
    of runtime.Stack and the C function runtime/debug.readGCStats.
    
    Reviewed-on: https://go-review.googlesource.com/31251

From-SVN: r241261
2016-10-17 16:54:25 +00:00
Andrew Pinski
31a84d4a65 Fix formating.
From-SVN: r241260
2016-10-17 09:53:13 -07:00
Andrew Pinski
dca2910c0d test_align-7.c: Use long long instead of long.
2016-10-17  Andrew Pinski  <apinski@cavium.com>

        * gcc.target/aarch64/aapcs64/test_align-7.c: Use long
        long instead of long.
        * gcc.target/aarch64/cinc_common_1.c: Likewise.
        * gcc.target/aarch64/combine_bfi_1.c: Likewise.
        * gcc.target/aarch64/fmul_fcvt_1.c: Likewise.
        * gcc.target/aarch64/mult-synth_4.c: Likewise.
        * gcc.target/aarch64/pr68102_1.c: Likewise.
        * gcc.target/aarch64/target_attr_3.c: Likewise.

From-SVN: r241259
2016-10-17 09:52:44 -07:00
Kyrylo Tkachov
5d4d78403c [AArch64] Use new target pass registration framework for FMA steering pass
* config/aarch64/aarch64.c: Delete inclusion of
	cortex-a57-fma-steering.h.
	(aarch64_override_options): Delete call
	to aarch64_register_fma_steering.
	* config/aarch64/aarch64-protos.h (make_pass_fma_steering): Declare.
	* config/aarch64/cortex-a57-fma-steering.h: Delete.
	* config/aarch64/aarch64-passes.def: New file.
	* config/aarch64/cortex-a57-fma-steering.c
	(aarch64_register_fma_steering): Delete definition.
	(make_pass_fma_steering): Remove static qualifier.
	* config/aarch64/t-aarch64 (PASSES_EXTRA): New directive.
	(cortex-a57-fma-steering.o): Remove dependency on
	cortex-a57-fma-steering.h.

From-SVN: r241248
2016-10-17 16:37:38 +00:00
Eric Botcazou
b810570549 * explow.c (validize_mem): Do not modify the argument in-place.
From-SVN: r241247
2016-10-17 16:10:42 +00:00
Thomas Schwinge
80b841ba52 Explicitly list all tree codes in gcc/tree-streamer.c:record_common_node
gcc/
	* tree-streamer.c (record_common_node): Explicitly list expected
	tree codes.

From-SVN: r241246
2016-10-17 17:56:22 +02:00
Jonathan Wakely
12d3f34b33 PR77994 Convert std::sample size argument to suitable type
PR libstdc++/77994
	* include/bits/stl_algo.h (sample): Convert size argument to iterator
	difference type.
	* include/experimental/algorithm (experimental::sample): Likewise.
	* testsuite/25_algorithms/sample/2.cc: New test.

From-SVN: r241245
2016-10-17 15:39:23 +01:00
Richard Biener
44b00dbca0 re PR tree-optimization/77988 (ICE on valid code at -Os and above on x86_64-linux-gnu: verify_gimple failed)
2016-10-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/77988
	* tree-vrp.c (remove_range_assertions): Use replace_uses_by.

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

From-SVN: r241242
2016-10-17 13:46:34 +00:00
Paolo Carlini
a9260b7eb6 57619.C: Rename to 57619.cc.
2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/unordered_map/insert/57619.C: Rename to 57619.cc.
	* testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.

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

	* testsuite/array/capacity/empty.cc: Remove 'test' variables.
	* testsuite/array/capacity/max_size.cc: Likewise.
	* testsuite/array/capacity/size.cc: Likewise.
	* testsuite/array/comparison_operators/equal.cc: Likewise.
	* testsuite/array/comparison_operators/greater.cc: Likewise.
	* testsuite/array/comparison_operators/greater_or_equal.cc: Likewise.
	* testsuite/array/comparison_operators/less.cc: Likewise.
	* testsuite/array/comparison_operators/less_or_equal.cc: Likewise.
	* testsuite/array/comparison_operators/not_equal.cc: Likewise.
	* testsuite/array/element_access/54388.cc: Likewise.
	* testsuite/array/element_access/at_out_of_range.cc: Likewise.
	* testsuite/array/element_access/back.cc: Likewise.
	* testsuite/array/element_access/data.cc: Likewise.
	* testsuite/array/element_access/front.cc: Likewise.
	* testsuite/array/iterators/end_is_one_past.cc: Likewise.
	* testsuite/array/requirements/contiguous.cc: Likewise.
	* testsuite/array/requirements/fill.cc: Likewise.
	* testsuite/array/requirements/member_swap.cc: Likewise.
	* testsuite/array/requirements/zero_sized_arrays.cc: Likewise.
	* testsuite/array/specialized_algorithms/swap.cc: Likewise.
	* testsuite/array/tuple_interface/tuple_element.cc: Likewise.
	* testsuite/array/tuple_interface/tuple_element_cpp14.cc: Likewise.
	* testsuite/array/tuple_interface/tuple_size.cc: Likewise.
	* testsuite/bitset/all/1.cc: Likewise.
	* testsuite/bitset/cons/1.cc: Likewise.
	* testsuite/bitset/cons/16020.cc: Likewise.
	* testsuite/bitset/cons/2.cc: Likewise.
	* testsuite/bitset/cons/3.cc: Likewise.
	* testsuite/bitset/cons/50268.cc: Likewise.
	* testsuite/bitset/cons/6282.cc: Likewise.
	* testsuite/bitset/cons/dr1325-2.cc: Likewise.
	* testsuite/bitset/cons/dr396.cc: Likewise.
	* testsuite/bitset/ext/15361.cc: Likewise.
	* testsuite/bitset/input/1.cc: Likewise.
	* testsuite/bitset/operations/1.cc: Likewise.
	* testsuite/bitset/operations/13838.cc: Likewise.
	* testsuite/bitset/operations/2.cc: Likewise.
	* testsuite/bitset/test/1.cc: Likewise.
	* testsuite/bitset/to_string/1.cc: Likewise.
	* testsuite/bitset/to_string/dr396.cc: Likewise.
	* testsuite/bitset/to_ullong/1.cc: Likewise.
	* testsuite/bitset/to_ulong/1.cc: Likewise.
	* testsuite/deque/allocator/copy.cc: Likewise.
	* testsuite/deque/allocator/copy_assign.cc: Likewise.
	* testsuite/deque/allocator/ext_ptr.cc: Likewise.
	* testsuite/deque/allocator/minimal.cc: Likewise.
	* testsuite/deque/allocator/move.cc: Likewise.
	* testsuite/deque/allocator/move_assign.cc: Likewise.
	* testsuite/deque/allocator/swap.cc: Likewise.
	* testsuite/deque/capacity/29134-2.cc: Likewise.
	* testsuite/deque/capacity/29134.cc: Likewise.
	* testsuite/deque/capacity/moveable.cc: Likewise.
	* testsuite/deque/capacity/resize_size.cc: Likewise.
	* testsuite/deque/capacity/shrink_to_fit.cc: Likewise.
	* testsuite/deque/cons/1.cc: Likewise.
	* testsuite/deque/cons/2.cc: Likewise.
	* testsuite/deque/cons/assign/1.cc: Likewise.
	* testsuite/deque/cons/cons_size.cc: Likewise.
	* testsuite/deque/cons/moveable.cc: Likewise.
	* testsuite/deque/modifiers/erase/1.cc: Likewise.
	* testsuite/deque/modifiers/erase/2.cc: Likewise.
	* testsuite/deque/modifiers/erase/3.cc: Likewise.
	* testsuite/deque/modifiers/erase/moveable.cc: Likewise.
	* testsuite/deque/modifiers/moveable.cc: Likewise.
	* testsuite/deque/modifiers/push_back/49836.cc: Likewise.
	* testsuite/deque/modifiers/push_front/49836.cc: Likewise.
	* testsuite/deque/modifiers/swap/1.cc: Likewise.
	* testsuite/deque/modifiers/swap/2.cc: Likewise.
	* testsuite/deque/modifiers/swap/3.cc: Likewise.
	* testsuite/deque/operators/1.cc: Likewise.
	* testsuite/deque/operators/2.cc: Likewise.
	* testsuite/forward_list/allocator/copy.cc: Likewise.
	* testsuite/forward_list/allocator/copy_assign.cc: Likewise.
	* testsuite/forward_list/allocator/ext_ptr.cc: Likewise.
	* testsuite/forward_list/allocator/minimal.cc: Likewise.
	* testsuite/forward_list/allocator/move.cc: Likewise.
	* testsuite/forward_list/allocator/move_assign.cc: Likewise.
	* testsuite/forward_list/allocator/swap.cc: Likewise.
	* testsuite/forward_list/capacity/1.cc: Likewise.
	* testsuite/forward_list/capacity/resize_size.cc: Likewise.
	* testsuite/forward_list/comparable.cc: Likewise.
	* testsuite/forward_list/cons/1.cc: Likewise.
	* testsuite/forward_list/cons/2.cc: Likewise.
	* testsuite/forward_list/cons/3.cc: Likewise.
	* testsuite/forward_list/cons/4.cc: Likewise.
	* testsuite/forward_list/cons/5.cc: Likewise.
	* testsuite/forward_list/cons/6.cc: Likewise.
	* testsuite/forward_list/cons/7.cc: Likewise.
	* testsuite/forward_list/cons/8.cc: Likewise.
	* testsuite/forward_list/cons/9.cc: Likewise.
	* testsuite/forward_list/cons/cons_size.cc: Likewise.
	* testsuite/forward_list/cons/moveable.cc: Likewise.
	* testsuite/forward_list/debug/clear.cc: Likewise.
	* testsuite/forward_list/debug/construct4_neg.cc: Likewise.
	* testsuite/forward_list/debug/erase_after1_neg.cc: Likewise.
	* testsuite/forward_list/debug/move_assign_neg.cc: Likewise.
	* testsuite/forward_list/debug/move_constructor.cc: Likewise.
	* testsuite/forward_list/debug/move_neg.cc: Likewise.
	* testsuite/forward_list/debug/splice_after.cc: Likewise.
	* testsuite/forward_list/debug/swap.cc: Likewise.
	* testsuite/forward_list/modifiers/1.cc: Likewise.
	* testsuite/forward_list/modifiers/2.cc: Likewise.
	* testsuite/forward_list/modifiers/3.cc: Likewise.
	* testsuite/forward_list/modifiers/4.cc: Likewise.
	* testsuite/forward_list/modifiers/5.cc: Likewise.
	* testsuite/forward_list/modifiers/6.cc: Likewise.
	* testsuite/forward_list/operations/1.cc: Likewise.
	* testsuite/forward_list/operations/2.cc: Likewise.
	* testsuite/forward_list/operations/3.cc: Likewise.
	* testsuite/forward_list/operations/4.cc: Likewise.
	* testsuite/forward_list/operations/5.cc: Likewise.
	* testsuite/forward_list/operations/6.cc: Likewise.
	* testsuite/forward_list/operations/7.cc: Likewise.
	* testsuite/forward_list/operations/remove_freed.cc: Likewise.
	* testsuite/list/61347.cc: Likewise.
	* testsuite/list/allocator/copy.cc: Likewise.
	* testsuite/list/allocator/copy_assign.cc: Likewise.
	* testsuite/list/allocator/minimal.cc: Likewise.
	* testsuite/list/allocator/move.cc: Likewise.
	* testsuite/list/allocator/move_assign.cc: Likewise.
	* testsuite/list/allocator/swap.cc: Likewise.
	* testsuite/list/capacity/1.h: Likewise.
	* testsuite/list/capacity/29134.cc: Likewise.
	* testsuite/list/capacity/resize_size.cc: Likewise.
	* testsuite/list/cons/1.h: Likewise.
	* testsuite/list/cons/2.h: Likewise.
	* testsuite/list/cons/3.h: Likewise.
	* testsuite/list/cons/4.h: Likewise.
	* testsuite/list/cons/5.h: Likewise.
	* testsuite/list/cons/6.h: Likewise.
	* testsuite/list/cons/7.h: Likewise.
	* testsuite/list/cons/8.h: Likewise.
	* testsuite/list/cons/9.h: Likewise.
	* testsuite/list/cons/cons_size.cc: Likewise.
	* testsuite/list/cons/moveable.h: Likewise.
	* testsuite/list/debug/invalidation/1.cc: Likewise.
	* testsuite/list/debug/invalidation/2.cc: Likewise.
	* testsuite/list/debug/invalidation/3.cc: Likewise.
	* testsuite/list/debug/invalidation/4.cc: Likewise.
	* testsuite/list/modifiers/1.h: Likewise.
	* testsuite/list/modifiers/2.h: Likewise.
	* testsuite/list/modifiers/3.h: Likewise.
	* testsuite/list/modifiers/insert/25288.h: Likewise.
	* testsuite/list/modifiers/swap/1.h: Likewise.
	* testsuite/list/modifiers/swap/2.h: Likewise.
	* testsuite/list/modifiers/swap/3.h: Likewise.
	* testsuite/list/operations/1.h: Likewise.
	* testsuite/list/operations/2.h: Likewise.
	* testsuite/list/operations/3.h: Likewise.
	* testsuite/list/operations/4.h: Likewise.
	* testsuite/list/operations/42352.cc: Likewise.
	* testsuite/map/allocator/copy.cc: Likewise.
	* testsuite/map/allocator/copy_assign.cc: Likewise.
	* testsuite/map/allocator/init-list.cc: Likewise.
	* testsuite/map/allocator/minimal.cc: Likewise.
	* testsuite/map/allocator/move.cc: Likewise.
	* testsuite/map/allocator/move_assign.cc: Likewise.
	* testsuite/map/allocator/swap.cc: Likewise.
	* testsuite/map/capacity/29134.cc: Likewise.
	* testsuite/map/cons/moveable.cc: Likewise.
	* testsuite/map/debug/construct5_neg.cc: Likewise.
	* testsuite/map/debug/move_assign_neg.cc: Likewise.
	* testsuite/map/debug/move_neg.cc: Likewise.
	* testsuite/map/element_access/1.cc: Likewise.
	* testsuite/map/element_access/2.cc: Likewise.
	* testsuite/map/element_access/39901.cc: Likewise.
	* testsuite/map/init-list.cc: Likewise.
	* testsuite/map/modifiers/dr130.cc: Likewise.
	* testsuite/map/modifiers/emplace/1.cc: Likewise.
	* testsuite/map/modifiers/extract.cc: Likewise.
	* testsuite/map/modifiers/insert/1.cc: Likewise.
	* testsuite/map/modifiers/insert/16813.cc: Likewise.
	* testsuite/map/modifiers/insert/2.cc: Likewise.
	* testsuite/map/modifiers/insert/3.cc: Likewise.
	* testsuite/map/modifiers/insert/4.cc: Likewise.
	* testsuite/map/modifiers/insert/5.cc: Likewise.
	* testsuite/map/modifiers/insert_or_assign/1.cc: Likewise.
	* testsuite/map/modifiers/merge.cc: Likewise.
	* testsuite/map/modifiers/swap/1.cc: Likewise.
	* testsuite/map/modifiers/swap/2.cc: Likewise.
	* testsuite/map/modifiers/swap/3.cc: Likewise.
	* testsuite/map/modifiers/try_emplace/1.cc: Likewise.
	* testsuite/map/operations/1.cc: Likewise.
	* testsuite/map/operations/count.cc: Likewise.
	* testsuite/map/operators/1_neg.cc: Likewise.
	* testsuite/map/operators/2.cc: Likewise.
	* testsuite/multimap/allocator/copy.cc: Likewise.
	* testsuite/multimap/allocator/copy_assign.cc: Likewise.
	* testsuite/multimap/allocator/init-list.cc: Likewise.
	* testsuite/multimap/allocator/minimal.cc: Likewise.
	* testsuite/multimap/allocator/move.cc: Likewise.
	* testsuite/multimap/allocator/move_assign.cc: Likewise.
	* testsuite/multimap/allocator/swap.cc: Likewise.
	* testsuite/multimap/capacity/29134.cc: Likewise.
	* testsuite/multimap/cons/moveable.cc: Likewise.
	* testsuite/multimap/debug/construct5_neg.cc: Likewise.
	* testsuite/multimap/debug/move_assign_neg.cc: Likewise.
	* testsuite/multimap/debug/move_neg.cc: Likewise.
	* testsuite/multimap/init-list.cc: Likewise.
	* testsuite/multimap/modifiers/dr130.cc: Likewise.
	* testsuite/multimap/modifiers/emplace/1.cc: Likewise.
	* testsuite/multimap/modifiers/extract.cc: Likewise.
	* testsuite/multimap/modifiers/insert/1.cc: Likewise.
	* testsuite/multimap/modifiers/insert/2.cc: Likewise.
	* testsuite/multimap/modifiers/insert/22102.cc: Likewise.
	* testsuite/multimap/modifiers/insert/3.cc: Likewise.
	* testsuite/multimap/modifiers/insert/4.cc: Likewise.
	* testsuite/multimap/modifiers/merge.cc: Likewise.
	* testsuite/multimap/modifiers/swap/1.cc: Likewise.
	* testsuite/multimap/modifiers/swap/2.cc: Likewise.
	* testsuite/multimap/modifiers/swap/3.cc: Likewise.
	* testsuite/multimap/operations/1.cc: Likewise.
	* testsuite/multimap/operations/count.cc: Likewise.
	* testsuite/multiset/allocator/copy.cc: Likewise.
	* testsuite/multiset/allocator/copy_assign.cc: Likewise.
	* testsuite/multiset/allocator/init-list.cc: Likewise.
	* testsuite/multiset/allocator/minimal.cc: Likewise.
	* testsuite/multiset/allocator/move.cc: Likewise.
	* testsuite/multiset/allocator/move_assign.cc: Likewise.
	* testsuite/multiset/allocator/swap.cc: Likewise.
	* testsuite/multiset/capacity/29134.cc: Likewise.
	* testsuite/multiset/cons/moveable.cc: Likewise.
	* testsuite/multiset/debug/construct5_neg.cc: Likewise.
	* testsuite/multiset/debug/invalidation/2.cc: Likewise.
	* testsuite/multiset/debug/move_assign_neg.cc: Likewise.
	* testsuite/multiset/debug/move_neg.cc: Likewise.
	* testsuite/multiset/init-list.cc: Likewise.
	* testsuite/multiset/modifiers/dr130.cc: Likewise.
	* testsuite/multiset/modifiers/emplace/1.cc: Likewise.
	* testsuite/multiset/modifiers/extract.cc: Likewise.
	* testsuite/multiset/modifiers/insert/1.cc: Likewise.
	* testsuite/multiset/modifiers/insert/2.cc: Likewise.
	* testsuite/multiset/modifiers/insert/22102.cc: Likewise.
	* testsuite/multiset/modifiers/insert/3.cc: Likewise.
	* testsuite/multiset/modifiers/insert/4.cc: Likewise.
	* testsuite/multiset/modifiers/merge.cc: Likewise.
	* testsuite/multiset/modifiers/swap/1.cc: Likewise.
	* testsuite/multiset/modifiers/swap/2.cc: Likewise.
	* testsuite/multiset/modifiers/swap/3.cc: Likewise.
	* testsuite/multiset/operations/1.cc: Likewise.
	* testsuite/multiset/operations/count.cc: Likewise.
	* testsuite/priority_queue/moveable.cc: Likewise.
	* testsuite/queue/moveable.cc: Likewise.
	* testsuite/set/allocator/copy.cc: Likewise.
	* testsuite/set/allocator/copy_assign.cc: Likewise.
	* testsuite/set/allocator/init-list.cc: Likewise.
	* testsuite/set/allocator/minimal.cc: Likewise.
	* testsuite/set/allocator/move.cc: Likewise.
	* testsuite/set/allocator/move_assign.cc: Likewise.
	* testsuite/set/allocator/swap.cc: Likewise.
	* testsuite/set/capacity/29134.cc: Likewise.
	* testsuite/set/cons/moveable.cc: Likewise.
	* testsuite/set/debug/construct5_neg.cc: Likewise.
	* testsuite/set/debug/invalidation/2.cc: Likewise.
	* testsuite/set/debug/move_assign_neg.cc: Likewise.
	* testsuite/set/debug/move_neg.cc: Likewise.
	* testsuite/set/init-list.cc: Likewise.
	* testsuite/set/modifiers/17948.cc: Likewise.
	* testsuite/set/modifiers/dr130.cc: Likewise.
	* testsuite/set/modifiers/emplace/1.cc: Likewise.
	* testsuite/set/modifiers/extract.cc: Likewise.
	* testsuite/set/modifiers/insert/1.cc: Likewise.
	* testsuite/set/modifiers/insert/2.cc: Likewise.
	* testsuite/set/modifiers/insert/3.cc: Likewise.
	* testsuite/set/modifiers/merge.cc: Likewise.
	* testsuite/set/modifiers/swap/1.cc: Likewise.
	* testsuite/set/modifiers/swap/2.cc: Likewise.
	* testsuite/set/modifiers/swap/3.cc: Likewise.
	* testsuite/set/operations/1.cc: Likewise.
	* testsuite/set/operations/count.cc: Likewise.
	* testsuite/set/operators/1_neg.cc: Likewise.
	* testsuite/unordered_map/allocator/copy.cc: Likewise.
	* testsuite/unordered_map/allocator/copy_assign.cc: Likewise.
	* testsuite/unordered_map/allocator/minimal.cc: Likewise.
	* testsuite/unordered_map/allocator/move.cc: Likewise.
	* testsuite/unordered_map/allocator/move_assign.cc: Likewise.
	* testsuite/unordered_map/allocator/swap.cc: Likewise.
	* testsuite/unordered_map/cons/moveable.cc: Likewise.
	* testsuite/unordered_map/debug/construct5_neg.cc: Likewise.
	* testsuite/unordered_map/debug/move_assign_neg.cc: Likewise.
	* testsuite/unordered_map/debug/move_neg.cc: Likewise.
	* testsuite/unordered_map/dr761.cc: Likewise.
	* testsuite/unordered_map/erase/1.cc: Likewise.
	* testsuite/unordered_map/erase/24061-map.cc: Likewise.
	* testsuite/unordered_map/erase/54276.cc: Likewise.
	* testsuite/unordered_map/hash_policy/dr1189.cc: Likewise.
	* testsuite/unordered_map/init-list.cc: Likewise.
	* testsuite/unordered_map/insert/24061-map.cc: Likewise.
	* testsuite/unordered_map/insert/57619.C: Likewise.
	* testsuite/unordered_map/insert/array_syntax.cc: Likewise.
	* testsuite/unordered_map/insert/array_syntax_move.cc: Likewise.
	* testsuite/unordered_map/insert/map_range.cc: Likewise.
	* testsuite/unordered_map/insert/map_single.cc: Likewise.
	* testsuite/unordered_map/insert/map_single_move-1.cc: Likewise.
	* testsuite/unordered_map/insert/map_single_move-2.cc: Likewise.
	* testsuite/unordered_map/modifiers/61667.cc: Likewise.
	* testsuite/unordered_map/modifiers/emplace.cc: Likewise.
	* testsuite/unordered_map/modifiers/extract.cc: Likewise.
	* testsuite/unordered_map/modifiers/insert_or_assign.cc: Likewise.
	* testsuite/unordered_map/modifiers/merge.cc: Likewise.
	* testsuite/unordered_map/modifiers/reserve.cc: Likewise.
	* testsuite/unordered_map/modifiers/try_emplace.cc: Likewise.
	* testsuite/unordered_map/operations/count.cc: Likewise.
	* testsuite/unordered_map/operators/1.cc: Likewise.
	* testsuite/unordered_map/operators/2.cc: Likewise.
	* testsuite/unordered_multimap/allocator/copy.cc: Likewise.
	* testsuite/unordered_multimap/allocator/copy_assign.cc: Likewise.
	* testsuite/unordered_multimap/allocator/minimal.cc: Likewise.
	* testsuite/unordered_multimap/allocator/move.cc: Likewise.
	* testsuite/unordered_multimap/allocator/move_assign.cc: Likewise.
	* testsuite/unordered_multimap/allocator/swap.cc: Likewise.
	* testsuite/unordered_multimap/cons/moveable.cc: Likewise.
	* testsuite/unordered_multimap/debug/construct5_neg.cc: Likewise.
	* testsuite/unordered_multimap/debug/move_assign_neg.cc: Likewise.
	* testsuite/unordered_multimap/debug/move_neg.cc: Likewise.
	* testsuite/unordered_multimap/erase/1.cc: Likewise.
	* testsuite/unordered_multimap/erase/2.cc: Likewise.
	* testsuite/unordered_multimap/erase/24061-multimap.cc: Likewise.
	* testsuite/unordered_multimap/erase/51845-multimap.cc: Likewise.
	* testsuite/unordered_multimap/erase/54276.cc: Likewise.
	* testsuite/unordered_multimap/hash_policy/dr1189.cc: Likewise.
	* testsuite/unordered_multimap/init-list.cc: Likewise.
	* testsuite/unordered_multimap/insert/24061-multimap.cc: Likewise.
	* testsuite/unordered_multimap/insert/51866.cc: Likewise.
	* testsuite/unordered_multimap/insert/52476.cc: Likewise.
	* testsuite/unordered_multimap/insert/53115.cc: Likewise.
	* testsuite/unordered_multimap/insert/57619.C: Likewise.
	* testsuite/unordered_multimap/insert/hint.cc: Likewise.
	* testsuite/unordered_multimap/insert/multimap_range.cc: Likewise.
	* testsuite/unordered_multimap/insert/multimap_single.cc: Likewise.
	* testsuite/unordered_multimap/insert/multimap_single_move-1.cc:
	Likewise.
	* testsuite/unordered_multimap/insert/multimap_single_move-2.cc:
	Likewise.
	* testsuite/unordered_multimap/modifiers/emplace.cc: Likewise.
	* testsuite/unordered_multimap/modifiers/extract.cc: Likewise.
	* testsuite/unordered_multimap/modifiers/merge.cc: Likewise.
	* testsuite/unordered_multimap/modifiers/reserve.cc: Likewise.
	* testsuite/unordered_multimap/operations/count.cc: Likewise.
	* testsuite/unordered_multimap/operators/1.cc: Likewise.
	* testsuite/unordered_multimap/operators/2.cc: Likewise.
	* testsuite/unordered_multiset/allocator/copy.cc: Likewise.
	* testsuite/unordered_multiset/allocator/copy_assign.cc: Likewise.
	* testsuite/unordered_multiset/allocator/minimal.cc: Likewise.
	* testsuite/unordered_multiset/allocator/move.cc: Likewise.
	* testsuite/unordered_multiset/allocator/move_assign.cc: Likewise.
	* testsuite/unordered_multiset/allocator/swap.cc: Likewise.
	* testsuite/unordered_multiset/cons/copy.cc: Likewise.
	* testsuite/unordered_multiset/cons/moveable.cc: Likewise.
	* testsuite/unordered_multiset/debug/construct5_neg.cc: Likewise.
	* testsuite/unordered_multiset/debug/move_assign_neg.cc: Likewise.
	* testsuite/unordered_multiset/debug/move_neg.cc: Likewise.
	* testsuite/unordered_multiset/erase/1.cc: Likewise.
	* testsuite/unordered_multiset/erase/2.cc: Likewise.
	* testsuite/unordered_multiset/erase/24061-multiset.cc: Likewise.
	* testsuite/unordered_multiset/hash_policy/dr1189.cc: Likewise.
	* testsuite/unordered_multiset/init-list.cc: Likewise.
	* testsuite/unordered_multiset/insert/24061-multiset.cc: Likewise.
	* testsuite/unordered_multiset/insert/51866.cc: Likewise.
	* testsuite/unordered_multiset/insert/52476.cc: Likewise.
	* testsuite/unordered_multiset/insert/53115.cc: Likewise.
	* testsuite/unordered_multiset/insert/hash_policy.cc: Likewise.
	* testsuite/unordered_multiset/insert/multiset_range.cc: Likewise.
	* testsuite/unordered_multiset/insert/multiset_single.cc: Likewise.
	* testsuite/unordered_multiset/insert/multiset_single_move.cc: Likewise.
	* testsuite/unordered_multiset/modifiers/emplace.cc: Likewise.
	* testsuite/unordered_multiset/modifiers/extract.cc: Likewise.
	* testsuite/unordered_multiset/modifiers/merge.cc: Likewise.
	* testsuite/unordered_multiset/modifiers/reserve.cc: Likewise.
	* testsuite/unordered_multiset/operations/count.cc: Likewise.
	* testsuite/unordered_multiset/operators/1.cc: Likewise.
	* testsuite/unordered_set/allocator/copy.cc: Likewise.
	* testsuite/unordered_set/allocator/copy_assign.cc: Likewise.
	* testsuite/unordered_set/allocator/ext_ptr.cc: Likewise.
	* testsuite/unordered_set/allocator/minimal.cc: Likewise.
	* testsuite/unordered_set/allocator/move.cc: Likewise.
	* testsuite/unordered_set/allocator/move_assign.cc: Likewise.
	* testsuite/unordered_set/allocator/swap.cc: Likewise.
	* testsuite/unordered_set/buckets/swap.cc: Likewise.
	* testsuite/unordered_set/cons/moveable.cc: Likewise.
	* testsuite/unordered_set/debug/construct5_neg.cc: Likewise.
	* testsuite/unordered_set/debug/debug_functions.cc: Likewise.
	* testsuite/unordered_set/debug/move_assign_neg.cc: Likewise.
	* testsuite/unordered_set/debug/move_neg.cc: Likewise.
	* testsuite/unordered_set/erase/1.cc: Likewise.
	* testsuite/unordered_set/erase/24061-set.cc: Likewise.
	* testsuite/unordered_set/hash_policy/26132.cc: Likewise.
	* testsuite/unordered_set/hash_policy/71181.cc: Likewise.
	* testsuite/unordered_set/hash_policy/dr1189.cc: Likewise.
	* testsuite/unordered_set/hash_policy/load_factor.cc: Likewise.
	* testsuite/unordered_set/hash_policy/power2_rehash.cc: Likewise.
	* testsuite/unordered_set/hash_policy/prime_rehash.cc: Likewise.
	* testsuite/unordered_set/hash_policy/rehash.cc: Likewise.
	* testsuite/unordered_set/init-list.cc: Likewise.
	* testsuite/unordered_set/insert/24061-set.cc: Likewise.
	* testsuite/unordered_set/insert/hash_policy.cc: Likewise.
	* testsuite/unordered_set/insert/move_range.cc: Likewise.
	* testsuite/unordered_set/insert/set_range.cc: Likewise.
	* testsuite/unordered_set/insert/set_single.cc: Likewise.
	* testsuite/unordered_set/insert/set_single_move.cc: Likewise.
	* testsuite/unordered_set/max_load_factor/robustness.cc: Likewise.
	* testsuite/unordered_set/modifiers/emplace.cc: Likewise.
	* testsuite/unordered_set/modifiers/extract.cc: Likewise.
	* testsuite/unordered_set/modifiers/merge.cc: Likewise.
	* testsuite/unordered_set/modifiers/reserve.cc: Likewise.
	* testsuite/unordered_set/modifiers/swap.cc: Likewise.
	* testsuite/unordered_set/operations/count.cc: Likewise.
	* testsuite/unordered_set/operators/1.cc: Likewise.
	* testsuite/vector/allocator/copy.cc: Likewise.
	* testsuite/vector/allocator/copy_assign.cc: Likewise.
	* testsuite/vector/allocator/ext_ptr.cc: Likewise.
	* testsuite/vector/allocator/minimal.cc: Likewise.
	* testsuite/vector/allocator/move.cc: Likewise.
	* testsuite/vector/allocator/move_assign.cc: Likewise.
	* testsuite/vector/allocator/swap.cc: Likewise.
	* testsuite/vector/bool/6886.cc: Likewise.
	* testsuite/vector/bool/72847.cc: Likewise.
	* testsuite/vector/bool/allocator/copy.cc: Likewise.
	* testsuite/vector/bool/allocator/copy_assign.cc: Likewise.
	* testsuite/vector/bool/allocator/ext_ptr.cc: Likewise.
	* testsuite/vector/bool/allocator/move.cc: Likewise.
	* testsuite/vector/bool/allocator/move_assign.cc: Likewise.
	* testsuite/vector/bool/allocator/swap.cc: Likewise.
	* testsuite/vector/bool/capacity/1.cc: Likewise.
	* testsuite/vector/bool/capacity/29134.cc: Likewise.
	* testsuite/vector/bool/capacity/shrink_to_fit.cc: Likewise.
	* testsuite/vector/bool/cons/1.cc: Likewise.
	* testsuite/vector/bool/cons/2.cc: Likewise.
	* testsuite/vector/bool/modifiers/erase/1.cc: Likewise.
	* testsuite/vector/bool/modifiers/insert/1.cc: Likewise.
	* testsuite/vector/bool/modifiers/insert/31370.cc: Likewise.
	* testsuite/vector/bool/modifiers/swap/1.cc: Likewise.
	* testsuite/vector/bool/modifiers/swap/2.cc: Likewise.
	* testsuite/vector/bool/swap.cc: Likewise.
	* testsuite/vector/capacity/1.cc: Likewise.
	* testsuite/vector/capacity/2.cc: Likewise.
	* testsuite/vector/capacity/29134-2.cc: Likewise.
	* testsuite/vector/capacity/29134.cc: Likewise.
	* testsuite/vector/capacity/44190.cc: Likewise.
	* testsuite/vector/capacity/8230.cc: Likewise.
	* testsuite/vector/capacity/reserve/moveable.cc: Likewise.
	* testsuite/vector/capacity/reserve/moveable2.cc: Likewise.
	* testsuite/vector/capacity/resize/1.cc: Likewise.
	* testsuite/vector/capacity/resize/moveable.cc: Likewise.
	* testsuite/vector/capacity/resize/moveable2.cc: Likewise.
	* testsuite/vector/capacity/resize/resize_size.cc: Likewise.
	* testsuite/vector/capacity/shrink_to_fit.cc: Likewise.
	* testsuite/vector/capacity/shrink_to_fit2.cc: Likewise.
	* testsuite/vector/cons/3.cc: Likewise.
	* testsuite/vector/cons/4.cc: Likewise.
	* testsuite/vector/cons/cons_size.cc: Likewise.
	* testsuite/vector/cons/moveable.cc: Likewise.
	* testsuite/vector/data_access/1.cc: Likewise.
	* testsuite/vector/debug/debug_functions.cc: Likewise.
	* testsuite/vector/debug/move_assign_neg.cc: Likewise.
	* testsuite/vector/debug/move_neg.cc: Likewise.
	* testsuite/vector/debug/multithreaded_swap.cc: Likewise.
	* testsuite/vector/element_access/1.cc: Likewise.
	* testsuite/vector/ext_pointer/citerators.cc: Likewise.
	* testsuite/vector/ext_pointer/data_access.cc: Likewise.
	* testsuite/vector/ext_pointer/modifiers/element.cc: Likewise.
	* testsuite/vector/ext_pointer/modifiers/erase.cc: Likewise.
	* testsuite/vector/ext_pointer/modifiers/insert.cc: Likewise.
	* testsuite/vector/ext_pointer/resize.cc: Likewise.
	* testsuite/vector/modifiers/1.cc: Likewise.
	* testsuite/vector/modifiers/2.cc: Likewise.
	* testsuite/vector/modifiers/emplace/self_emplace.cc: Likewise.
	* testsuite/vector/modifiers/erase/1.cc: Likewise.
	* testsuite/vector/modifiers/erase/moveable.cc: Likewise.
	* testsuite/vector/modifiers/insert/1.cc: Likewise.
	* testsuite/vector/modifiers/insert/self_insert.cc: Likewise.
	* testsuite/vector/modifiers/moveable.cc: Likewise.
	* testsuite/vector/modifiers/moveable2.cc: Likewise.
	* testsuite/vector/modifiers/push_back/49836.cc: Likewise.
	* testsuite/vector/modifiers/swap/1.cc: Likewise.
	* testsuite/vector/modifiers/swap/2.cc: Likewise.
	* testsuite/vector/modifiers/swap/3.cc: Likewise.
	* testsuite/vector/zero_sized_allocations.cc: Likewise.

From-SVN: r241241
2016-10-17 13:32:32 +00:00
Marek Polacek
b12b1915d8 Makefile.in (C_COMMON_OBJS): Add c-family/c-attribs.o.
* Makefile.in (C_COMMON_OBJS): Add c-family/c-attribs.o.

	* c-attribs.c: New file.
	* c-common.c: Move attributes handling to c-attribs.c.
	(get_nonnull_operand): No longer static.
	* c-common.h: Move the declarations from c-attribs.c to its own section.

From-SVN: r241238
2016-10-17 13:04:38 +00:00
Richard Biener
f6a1ec6261 bb-reorder.c (reorder_basic_blocks_simple): Clear BB_VISITED before using it.
2016-10-17  Richard Biener  <rguenther@suse.de>

	* bb-reorder.c (reorder_basic_blocks_simple): Clear BB_VISITED
	before using it.

From-SVN: r241237
2016-10-17 12:27:48 +00:00
Jonathan Wakely
a2284544a1 PR77998 Remove std:🧵:_Invoker::result_type
PR libstdc++/77998
	* include/std/future (__future_base::_Deferred_state)
	(__future_base::_Async_state_impl): Use decltype to deduce return
	type, instead of _Invoker::result_type.
	* include/std/thread (thread::_Invoker::operator()): Likewise.
	(thread::_Invoker::result_type): Remove.

From-SVN: r241236
2016-10-17 13:23:09 +01:00
Jonathan Wakely
74cf9664e8 PR77987 Fix unique_ptr<T[], D>::reset(U) for T != U
PR libstdc++/77987
	* include/bits/unique_ptr.h (unique_ptr<T[], D>::reset<U>(U)): Copy
	value to pointer of the correct type to swap, to support conversions
	allowed by LWG 2118 / N4089.
	* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for
	incompatible deleters from ...
	* testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here.
	* testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for
	incompatible pointers to ...
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move
	destructor definition to base class. Test for invalid derived-to-base
	conversion.

From-SVN: r241235
2016-10-17 13:00:44 +01:00
Jonathan Wakely
594ef205ae Implement P0084R2, Emplace return type, for C++17
* doc/xml/manual/status_cxx2017.xml: Update status.
	* doc/html/*: Regenerate.
	* include/bits/deque.tcc (deque::emplace_front, deque::emplace_back):
	Return a reference in C++17 mode.
	* include/bits/forward_list.h (forward_list::emplace_front): Likewise.
	* include/bits/stl_bvector.h (vector<bool>::emplace_back): Likewise.
	* include/bits/stl_deque.h (deque::emplace_front, deque::emplace_back):
	Likewise.
	* include/bits/stl_list.h (list::emplace_front, list::emplace_back):
	Likewise.
	* include/bits/stl_queue.h (queue::emplace): Likewise.
	* include/bits/stl_stack.h (stack::emplace): Likewise.
	* include/bits/stl_vector.h (vector::emplace_back): Likewise.
	* include/bits/vector.tcc (vector::emplace_back): Likewise.
	* include/debug/deque (__gnu_debug::deque::emplace_front)
	(__gnu_debug::deque::emplace_back): Likewise.
	* include/debug/vector (__gnu_debug::vector::emplace_back): Likewise.
	* testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
	New.
	* testsuite/23_containers/forward_list/modifiers/
	emplace_cxx17_return.cc: New.
	* testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: New.
	* testsuite/23_containers/queue/members/emplace_cxx17_return.cc: New.
	* testsuite/23_containers/stack/members/emplace_cxx17_return.cc: New.
	* testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: New.
	* testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
	New.

From-SVN: r241234
2016-10-17 13:00:38 +01:00
Eric Botcazou
d47d384918 system-darwin-ppc64.ads (Support_64_Bit_Divides): Delete.
* system-darwin-ppc64.ads (Support_64_Bit_Divides): Delete.
	* system-linux-armeb.ads (Support_64_Bit_Divides): Likewise.
	* system-linux-mips.ads (Support_64_Bit_Divides): Likewise.
	* system-linux-mips64el.ads (Support_64_Bit_Divides): Likewise.
	* system-linux-mipsel.ads (Support_64_Bit_Divides): Likewise.
	* system-linux-sparcv9.ads (Support_64_Bit_Divides): Likewise.
	* system-rtems.ads (Support_64_Bit_Divides): Likewise.

From-SVN: r241230
2016-10-17 08:52:32 +00:00
Prathamesh Kulkarni
89b80c429a re PR tree-optimization/71636 (Missed optimization in variable alignment test)
2016-10-17  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	PR tree-optimization/71636
	* match.pd (x & ((1 << b) - 1) -> x & ~(~0 << b)): New pattern.

testsuite/
	* gcc.dg/pr71636-1.c: New test-case.
	* gcc.dg/pr71636-2.c: Likewise.

From-SVN: r241229
2016-10-17 08:48:43 +00:00
Richard Biener
d6b1fea25c gimplify.c (gimplify_function_tree): Do not move the outer binds block.
2016-10-17  Richard Biener  <rguenther@suse.de>

	* gimplify.c (gimplify_function_tree): Do not move the outer
	binds block.

From-SVN: r241228
2016-10-17 07:28:57 +00:00
Jakub Jelinek
81b42cc69b langhooks.h (struct lang_hooks_for_decls): Remove function_decl_explicit_p...
* langhooks.h (struct lang_hooks_for_decls): Remove
	function_decl_explicit_p, function_decl_deleted_p and
	function_decl_defaulted hooks.  Add decl_dwarf_attribute hook.
	* langhooks-def.h (lhd_decl_dwarf_attribute): Declare.
	(LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P,
	LANG_HOOKS_FUNCTION_DECL_DELETED_P,
	LANG_HOOKS_FUNCTION_DECL_DEFAULTED): Remove.
	(LANG_HOOKS_DECL_DWARF_ATTRIBUTE): Define.
	(LANG_HOOKS_DECLS): Remove LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P,
	LANG_HOOKS_FUNCTION_DECL_DELETED_P and
	LANG_HOOKS_FUNCTION_DECL_DEFAULTED.  Add
	LANG_HOOKS_DECL_DWARF_ATTRIBUTE.
	* langhooks.c (lhd_decl_dwarf_attribute): New function.
	* dwarf2out.c (gen_subprogram_die): Use
	lang_hooks.decls.decl_dwarf_attribute instead of
	lang_hooks.decls.function_decl_*.
cp/
	* cp-objcp-common.h (cp_function_decl_explicit_p,
	cp_function_decl_deleted_p, cp_function_decl_defaulted): Remove.
	(cp_decl_dwarf_attribute): Declare.
	(LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P,
	LANG_HOOKS_FUNCTION_DECL_DELETED_P,
	LANG_HOOKS_FUNCTION_DECL_DEFAULTED): Remove.
	(LANG_HOOKS_DECL_DWARF_ATTRIBUTE): Redefine.
	* cp-objcp-common.c (cp_function_decl_explicit_p,
	cp_function_decl_deleted_p, cp_function_decl_defaulted): Remove.
	(cp_decl_dwarf_attribute): New function.

From-SVN: r241227
2016-10-17 08:53:00 +02:00
GCC Administrator
7d66648f6c Daily bump.
From-SVN: r241226
2016-10-17 00:16:14 +00:00
Paolo Carlini
236c57d16e isblank.cc: Remove 'test' variables.
2016-10-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/22_locale/classification/isblank.cc: Remove 'test'
	variables.
	* testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Likewise.
	* testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
	* testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
	* testsuite/22_locale/codecvt/in/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/codecvt/in/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/codecvt/in/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise.
	* testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
	* testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
	* testsuite/22_locale/codecvt/length/char/1.cc: Likewise.
	* testsuite/22_locale/codecvt/length/char/2.cc: Likewise.
	* testsuite/22_locale/codecvt/length/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/codecvt/length/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/codecvt/length/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise.
	* testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
	* testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
	* testsuite/22_locale/codecvt/out/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/codecvt/out/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/codecvt/out/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
	* testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
	* testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/collate/compare/char/1.cc: Likewise.
	* testsuite/22_locale/collate/compare/char/2.cc: Likewise.
	* testsuite/22_locale/collate/compare/char/3.cc: Likewise.
	* testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/collate/hash/char/1.cc: Likewise.
	* testsuite/22_locale/collate/hash/char/2.cc: Likewise.
	* testsuite/22_locale/collate/hash/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/collate/transform/char/2.cc: Likewise.
	* testsuite/22_locale/collate/transform/char/28277.cc: Likewise.
	* testsuite/22_locale/collate/transform/char/3.cc: Likewise.
	* testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise.
	* testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
	* testsuite/22_locale/ctype/cons/char/1.cc: Likewise.
	* testsuite/22_locale/ctype/is/char/1.cc: Likewise.
	* testsuite/22_locale/ctype/is/char/2.cc: Likewise.
	* testsuite/22_locale/ctype/is/char/3.cc: Likewise.
	* testsuite/22_locale/ctype/is/char/9858.cc: Likewise.
	* testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/ctype/is/wchar_t/11740.cc: Likewise.
	* testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/ctype/narrow/char/1.cc: Likewise.
	* testsuite/22_locale/ctype/narrow/char/19955.cc: Likewise.
	* testsuite/22_locale/ctype/narrow/char/2.cc: Likewise.
	* testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/ctype/scan/char/1.cc: Likewise.
	* testsuite/22_locale/ctype/scan/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/ctype/to/char/1.cc: Likewise.
	* testsuite/22_locale/ctype/to/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/ctype/widen/char/1.cc: Likewise.
	* testsuite/22_locale/ctype/widen/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/ctype_base/11844.cc: Likewise.
	* testsuite/22_locale/facet/1.cc: Likewise.
	* testsuite/22_locale/facet/2.cc: Likewise.
	* testsuite/22_locale/facet/25421.cc: Likewise.
	* testsuite/22_locale/global_templates/1.cc: Likewise.
	* testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
	Likewise.
	* testsuite/22_locale/global_templates/user_facet_hierarchies.cc:
	Likewise.
	* testsuite/22_locale/locale/13630.cc: Likewise.
	* testsuite/22_locale/locale/cons/12352.cc: Likewise.
	* testsuite/22_locale/locale/cons/12438.cc: Likewise.
	* testsuite/22_locale/locale/cons/2.cc: Likewise.
	* testsuite/22_locale/locale/cons/29217.cc: Likewise.
	* testsuite/22_locale/locale/cons/38365.cc: Likewise.
	* testsuite/22_locale/locale/cons/38368.cc: Likewise.
	* testsuite/22_locale/locale/cons/4.cc: Likewise.
	* testsuite/22_locale/locale/cons/40184.cc: Likewise.
	* testsuite/22_locale/locale/cons/5.cc: Likewise.
	* testsuite/22_locale/locale/cons/6.cc: Likewise.
	* testsuite/22_locale/locale/cons/7.cc: Likewise.
	* testsuite/22_locale/locale/cons/7222-c.cc: Likewise.
	* testsuite/22_locale/locale/cons/7222-env.cc: Likewise.
	* testsuite/22_locale/locale/cons/8.cc: Likewise.
	* testsuite/22_locale/locale/cons/unicode.cc: Likewise.
	* testsuite/22_locale/locale/global_locale_objects/1.cc: Likewise.
	* testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
	* testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
	* testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
	* testsuite/22_locale/locale/operations/1.cc: Likewise.
	* testsuite/22_locale/locale/operations/2.cc: Likewise.
	* testsuite/22_locale/messages/13631.cc: Likewise.
	* testsuite/22_locale/messages/members/char/1.cc: Likewise.
	* testsuite/22_locale/messages/members/char/2.cc: Likewise.
	* testsuite/22_locale/messages/members/char/3.cc: Likewise.
	* testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/1.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/10.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/11.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/12.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/13.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/14.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/15.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/16.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/17.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/18.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/19.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/2.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/22131.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/3.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/38399.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/4.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/5.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/6.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/7.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/8.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/14.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/19.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/8.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/1.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/12971.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/2.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/3.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/4.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/5.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/6.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/39168.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/moneypunct/40712.cc: Likewise.
	* testsuite/22_locale/moneypunct/members/char/1.cc: Likewise.
	* testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
	* testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/moneypunct/requirements/false/intl.cc: Likewise.
	* testsuite/22_locale/moneypunct/requirements/true/intl.cc: Likewise.
	* testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/1.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/10.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/11.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/12.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/13.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/14.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/15.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/16.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/2.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/23953.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/3.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/37958.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/39168.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/39802.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/4.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/5.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/6.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/7.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/8.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/9.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/7.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/1.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/10.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/11.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/12.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/14220.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/15565.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/2.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/3.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/38196.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/38210.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/4.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/5.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/6.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/7.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/8.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/9.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/15565.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/9.cc: Likewise.
	* testsuite/22_locale/numpunct/members/char/1.cc: Likewise.
	* testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
	* testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
	* testsuite/22_locale/numpunct/members/char/cache_1.cc: Likewise.
	* testsuite/22_locale/numpunct/members/char/cache_2.cc: Likewise.
	* testsuite/22_locale/numpunct/members/pod/1.cc: Likewise.
	* testsuite/22_locale/numpunct/members/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: Likewise.
	* testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: Likewise.
	* testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
	* testsuite/22_locale/time_get/date_order/char/1.cc: Likewise.
	* testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_get/get/char/1.cc: Likewise.
	* testsuite/22_locale/time_get/get/char/2.cc: Likewise.
	* testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/char/3.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/char/4.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/char/6.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/char/6.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/1.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/10.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/2.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/3.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/4.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/5.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/6.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/7.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/8.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/9.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
	* testsuite/30_threads/async/42819.cc: Likewise.
	* testsuite/30_threads/async/any.cc: Likewise.
	* testsuite/30_threads/async/async.cc: Likewise.
	* testsuite/30_threads/async/except.cc: Likewise.
	* testsuite/30_threads/async/launch.cc: Likewise.
	* testsuite/30_threads/async/sync.cc: Likewise.
	* testsuite/30_threads/call_once/call_once1.cc: Likewise.
	* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/1.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/3.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
	* testsuite/30_threads/future/members/45133.cc: Likewise.
	* testsuite/30_threads/future/members/get.cc: Likewise.
	* testsuite/30_threads/future/members/get2.cc: Likewise.
	* testsuite/30_threads/future/members/share.cc: Likewise.
	* testsuite/30_threads/future/members/valid.cc: Likewise.
	* testsuite/30_threads/future/members/wait_for.cc: Likewise.
	* testsuite/30_threads/future/members/wait_until.cc: Likewise.
	* testsuite/30_threads/lock/1.cc: Likewise.
	* testsuite/30_threads/lock/2.cc: Likewise.
	* testsuite/30_threads/lock/3.cc: Likewise.
	* testsuite/30_threads/lock/4.cc: Likewise.
	* testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
	* testsuite/30_threads/mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
	Likewise.
	* testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
	* testsuite/30_threads/promise/cons/move.cc: Likewise.
	* testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
	* testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
	* testsuite/30_threads/promise/members/get_future.cc: Likewise.
	* testsuite/30_threads/promise/members/set_value.cc: Likewise.
	* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
	* testsuite/30_threads/promise/members/swap.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
	Likewise.
	* testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/shared_future/members/45133.cc: Likewise.
	* testsuite/30_threads/shared_future/members/get.cc: Likewise.
	* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
	* testsuite/30_threads/shared_future/members/valid.cc: Likewise.
	* testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
	* testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
	* testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
	* testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
	* testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
	* testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
	* testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
	* testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
	* testsuite/30_threads/this_thread/1.cc: Likewise.
	* testsuite/30_threads/this_thread/2.cc: Likewise.
	* testsuite/30_threads/this_thread/3.cc: Likewise.
	* testsuite/30_threads/this_thread/4.cc: Likewise.
	* testsuite/30_threads/this_thread/60421.cc: Likewise.
	* testsuite/30_threads/thread/cons/1.cc: Likewise.
	* testsuite/30_threads/thread/cons/2.cc: Likewise.
	* testsuite/30_threads/thread/cons/3.cc: Likewise.
	* testsuite/30_threads/thread/cons/4.cc: Likewise.
	* testsuite/30_threads/thread/cons/5.cc: Likewise.
	* testsuite/30_threads/thread/cons/6.cc: Likewise.
	* testsuite/30_threads/thread/cons/7.cc: Likewise.
	* testsuite/30_threads/thread/cons/8.cc: Likewise.
	* testsuite/30_threads/thread/cons/9.cc: Likewise.
	* testsuite/30_threads/thread/cons/moveable.cc: Likewise.
	* testsuite/30_threads/thread/members/1.cc: Likewise.
	* testsuite/30_threads/thread/members/2.cc: Likewise.
	* testsuite/30_threads/thread/members/3.cc: Likewise.
	* testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
	* testsuite/30_threads/thread/swap/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
	* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/try_lock/1.cc: Likewise.
	* testsuite/30_threads/try_lock/2.cc: Likewise.
	* testsuite/30_threads/try_lock/3.cc: Likewise.
	* testsuite/30_threads/try_lock/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
	* testsuite/tr1/2_general_utilities/enable_shared_from_this/
	not_shared.cc: Likewise.
	* testsuite/tr1/2_general_utilities/enable_shared_from_this/
	not_shared2.cc: Likewise.
	* testsuite/tr1/2_general_utilities/enable_shared_from_this/
	not_shared3.cc: Likewise.
	* testsuite/tr1/2_general_utilities/enable_shared_from_this/
	shared.cc: Likewise.
	* testsuite/tr1/2_general_utilities/enable_shared_from_this/
	still_shared.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/assign/
	auto_ptr_rvalue_neg.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/assign/
	shared_ptr_neg.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/thread/
	default_weaktoshared.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/thread/
	mutex_weaktoshared.cc: Likewise.
	* testsuite/tr1/3_function_objects/bind/all_bound.cc: Likewise.
	* testsuite/tr1/3_function_objects/bind/mixed.cc: Likewise.
	* testsuite/tr1/3_function_objects/bind/nested.cc: Likewise.
	* testsuite/tr1/3_function_objects/bind/placeholders.cc: Likewise.
	* testsuite/tr1/3_function_objects/bind/ref.cc: Likewise.
	* testsuite/tr1/3_function_objects/function/1.cc: Likewise.
	* testsuite/tr1/3_function_objects/function/2.cc: Likewise.
	* testsuite/tr1/3_function_objects/function/3.cc: Likewise.
	* testsuite/tr1/3_function_objects/function/4.cc: Likewise.
	* testsuite/tr1/3_function_objects/function/5.cc: Likewise.
	* testsuite/tr1/3_function_objects/function/6.cc: Likewise.
	* testsuite/tr1/3_function_objects/function/7.cc: Likewise.
	* testsuite/tr1/3_function_objects/function/8.cc: Likewise.
	* testsuite/tr1/3_function_objects/function/9.cc: Likewise.
	* testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
	Likewise.
	* testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
	Likewise.
	* testsuite/tr1/3_function_objects/result_of.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/add_const/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/add_cv/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/add_pointer/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/add_reference/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/add_volatile/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/alignment_of/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/extent/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc:
	Likewise.
	* testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc:
	Likewise.
	* testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc:
	Likewise.
	* testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc:
	Likewise.
	* testsuite/tr1/4_metaprogramming/integral_constant/
	static_definition.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/integral_constant/
	true_false_value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_abstract/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_array/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_base_of/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_class/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_compound/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_const/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_convertible/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_empty/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_enum/24808.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_enum/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_floating_point/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_function/24808.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_function/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_fundamental/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_integral/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc:
	Likewise.
	* testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc:
	Likewise.
	* testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_object/24808.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_object/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_pod/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_pointer/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_reference/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_same/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_scalar/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_union/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_unsigned/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/is_volatile/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/rank/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/remove_const/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/remove_cv/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/remove_extent/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/remove_pointer/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/remove_reference/value.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/remove_volatile/value.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
	equal.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
	not_equal.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
	serialize.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/linear_congruential/
	cons/default.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/linear_congruential/
	cons/gen1.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/linear_congruential/
	operators/equal.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/linear_congruential/
	operators/not_equal.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/linear_congruential/
	operators/serialize.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
	cons/default.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
	cons/gen1.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
	operators/equal.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
	operators/not_equal.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
	operators/serialize.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/mt19937.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/random_device/cons/
	default.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/random_device/cons/
	token.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/ranlux3.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/ranlux4.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc
	* testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
	cons/default.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
	cons/gen1.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
	operators/equal.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
	operators/not_equal.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
	operators/serialize.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
	cons/default.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
	cons/gen1.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
	operators/equal.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
	operators/not_equal.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
	operators/serialize.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
	Likewise.
	* testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
	default.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
	range.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/
	default.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
	equal.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
	not_equal.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
	serialize.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	08_cyl_bessel_i/check_value.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	08_cyl_bessel_i/pr56216.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	09_cyl_bessel_j/check_value.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	10_cyl_bessel_k/check_value.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	11_cyl_neumann/check_value.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	16_hermite/check_value.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	21_sph_bessel/check_value.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	23_sph_neumann/check_value.cc: Likewise.
	* testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise.
	* testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise.
	* testsuite/tr1/6_containers/array/capacity/size.cc: Likewise.
	* testsuite/tr1/6_containers/array/comparison_operators/equal.cc:
	Likewise.
	* testsuite/tr1/6_containers/array/comparison_operators/greater.cc:
	Likewise.
	* testsuite/tr1/6_containers/array/comparison_operators/
	greater_or_equal.cc: Likewise.
	* testsuite/tr1/6_containers/array/comparison_operators/less.cc:
	Likewise.
	* testsuite/tr1/6_containers/array/comparison_operators/
	less_or_equal.cc: Likewise.
	* testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc:
	Likewise.
	* testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
	Likewise.
	* testsuite/tr1/6_containers/array/element_access/back.cc: Likewise.
	* testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
	* testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
	* testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc:
	Likewise.
	* testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
	* testsuite/tr1/6_containers/array/requirements/contiguous.cc: Likewise.
	* testsuite/tr1/6_containers/array/requirements/member_swap.cc:
	Likewise.
	* testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
	Likewise.
	* testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
	Likewise.
	* testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
	* testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
	Likewise.
	* testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
	Likewise.
	* testsuite/tr1/6_containers/hash/24799.cc: Likewise.
	* testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise.
	*
	testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
	Likewise.
	* testsuite/tr1/6_containers/tuple/cons/assignment.cc: Likewise.
	* testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise.
	* testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise.
	* testsuite/tr1/6_containers/tuple/creation_functions/23978.cc:
	Likewise.
	* testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
	Likewise.
	* testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: Likewise.
	* testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Likewise.
	* testsuite/tr1/6_containers/tuple/element_access/get.cc: Likewise.
	* testsuite/tr1/6_containers/tuple/tuple_size.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_map/24064.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered_map/erase/1.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_map/find/map1.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered_map/insert/map_range.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered_map/insert/map_single.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered_map/swap/1.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_map/swap/2.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/capacity/
	29134-multimap.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/erase/
	24061-multimap.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/insert/
	24061-multimap.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/insert/
	multimap_range.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/insert/
	multimap_single.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/swap/1.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/swap/2.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/24054.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/capacity/
	29134-multiset.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/erase/
	24061-multiset.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/insert/
	24061-multiset.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/insert/
	multiset_range.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/insert/
	multiset_single.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/swap/1.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/swap/2.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_set/23465.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_set/26132.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_set/find/set1.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered_set/insert/set_range.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered_set/insert/set_single.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered_set/swap/1.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_set/swap/2.cc: Likewise.
	* testsuite/tr1/6_containers/utility/pair.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/match_results/ctors/char/
	default.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex_traits/char/
	translate_nocase.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc:
	Likewise.
	* testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
	translate_nocase.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc:
	Likewise.
	* testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise.

From-SVN: r241223
2016-10-17 00:02:57 +00:00
Eric Botcazou
4c640e2606 re PR ada/37139 (DEP prevents using Ada tasking)
PR ada/37139
	PR ada/67205
	* common.opt (-ftrampolines): New option.
	* doc/invoke.texi (Code Gen Options): Document it.
	* doc/tm.texi.in (Trampolines): Add TARGET_CUSTOM_FUNCTION_DESCRIPTORS.
	* doc/tm.texi: Regenerate.
	* builtins.def: Add init_descriptor and adjust_descriptor.
	* builtins.c (expand_builtin_init_trampoline): Do not issue a warning
	on platforms with descriptors.
	(expand_builtin_init_descriptor): New function.
	(expand_builtin_adjust_descriptor): Likewise.
	(expand_builtin) <BUILT_IN_INIT_DESCRIPTOR>: New case.
	<BUILT_IN_ADJUST_DESCRIPTOR>: Likewise.
	* calls.c (prepare_call_address): Remove SIBCALLP parameter and add
	FLAGS parameter.  Deal with indirect calls by descriptor and adjust.
	Set STATIC_CHAIN_REG_P on the static chain register, if any.
	(call_expr_flags): Set ECF_BY_DESCRIPTOR for calls by descriptor.
	(expand_call): Likewise.  Move around call to prepare_call_address
	and pass all flags to it.
	* cfgexpand.c (expand_call_stmt): Reinstate CALL_EXPR_BY_DESCRIPTOR.
	* gimple.h (enum gf_mask): New GF_CALL_BY_DESCRIPTOR value.
	(gimple_call_set_by_descriptor): New setter.
	(gimple_call_by_descriptor_p): New getter.
	* gimple.c (gimple_build_call_from_tree): SetCALL_EXPR_BY_DESCRIPTOR.
	(gimple_call_flags): Deal with GF_CALL_BY_DESCRIPTOR.
	* langhooks.h (struct lang_hooks): Add custom_function_descriptors.
	* langhooks-def.h (LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS): Define.
	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS.
	* rtl.h (STATIC_CHAIN_REG_P): New macro.
	* rtlanal.c (find_first_parameter_load): Skip static chain registers.
	* target.def (custom_function_descriptors): New POD hook.
	* tree.h (FUNC_ADDR_BY_DESCRIPTOR): New flag on ADDR_EXPR.
	(CALL_EXPR_BY_DESCRIPTOR): New flag on CALL_EXPR.
	* tree-core.h (ECF_BY_DESCRIPTOR): New mask.
	Document FUNC_ADDR_BY_DESCRIPTOR and CALL_EXPR_BY_DESCRIPTOR.
	* tree.c (make_node_stat) <tcc_declaration>: Use FUNCTION_ALIGNMENT.
	(build_common_builtin_nodes): Initialize init_descriptor and
	adjust_descriptor.
	* tree-nested.c: Include target.h.
	(struct nesting_info): Add 'any_descr_created' field.
	(get_descriptor_type): New function.
	(lookup_element_for_decl): New function extracted from...
	(create_field_for_decl): Likewise.
	(lookup_tramp_for_decl): ...here.  Adjust.
	(lookup_descr_for_decl): New function.
	(convert_tramp_reference_op): Deal with descriptors.
	(build_init_call_stmt): New function extracted from...
	(finalize_nesting_tree_1): ...here.  Adjust and deal withdescriptors.
	* defaults.h (FUNCTION_ALIGNMENT): Define.
	(TRAMPOLINE_ALIGNMENT): Set to above instead of FUNCTION_BOUNDARY.
	* config/i386/i386.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define.
	* config/ia64/ia64.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise.
	* config/rs6000/rs6000.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS):Likewise.
	* config/sparc/sparc.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise.
ada/
	* gcc-interface/misc.c (LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS):Define.
	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Deal with
	a zero TARGET_CUSTOM_FUNCTION_DESCRIPTORS specially for Code_Address.
	Otherwise, if TARGET_CUSTOM_FUNCTION_DESCRIPTORS is positive, set
	FUNC_ADDR_BY_DESCRIPTOR for 'Access/'Unrestricted_Access of nested
	subprograms if the type can use an internal representation.
	(call_to_gnu): Likewise, but set CALL_EXPR_BY_DESCRIPTOR on indirect
	calls if the type can use an internal representation.

From-SVN: r241222
2016-10-16 20:13:32 +00:00
Eric Botcazou
855db69891 sparc.c (sparc_expand_vector_init): Only accept literal constants in CONST_VECTORs.
* config/sparc/sparc.c (sparc_expand_vector_init): Only accept literal
	constants in CONST_VECTORs.

From-SVN: r241218
2016-10-16 19:36:47 +00:00
Jerry DeLisle
6c0347f607 re PR fortran/48298 ([F03] User-Defined Derived-Type IO (DTIO))
2016-10-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/48298
	* trans-io.c (transfer_expr): Ignore dtio procedures for inquire
	with iolength.

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

From-SVN: r241216
2016-10-16 16:29:46 +00:00
Eric Botcazou
01c0b7cf89 system-aix.ads (Always_Compatible_Rep): Change to False.
* system-aix.ads (Always_Compatible_Rep): Change to False.
	* system-aix64.ads (Always_Compatible_Rep): Likewise.
	* system-hpux-ia64.ads (Always_Compatible_Rep): Likewise.
	* system-hpux.ads (Always_Compatible_Rep): Likewise.
	* system-linux-alpha.ads (Always_Compatible_Rep): Likewise.
	* system-linux-hppa.ads (Always_Compatible_Rep): Likewise.
	* system-linux-ia64.ads (Always_Compatible_Rep): Likewise.
	* system-linux-mips.ads (Always_Compatible_Rep): Likewise.
	* system-linux-mips64el.ads (Always_Compatible_Rep): Likewise.
	* system-linux-mipsel.ads (Always_Compatible_Rep): Likewise.
	* system-linux-s390.ads (Always_Compatible_Rep): Likewise.
	* system-linux-s390x.ads (Always_Compatible_Rep): Likewise.
	* system-linux-sh4.ads (Always_Compatible_Rep): Likewise.
	* system-linux-sparc.ads (Always_Compatible_Rep): Likewise.
	* system-linux-sparcv9.ads (Always_Compatible_Rep): Likewise.
	* system-rtems.ads (Always_Compatible_Rep): Likewise.

From-SVN: r241213
2016-10-16 13:59:07 +00:00
Ville Voutilainen
b08c2bc7bd Make sure the return value of malloc_allocator::allocate is zero-initialized so...
Make sure the return value of malloc_allocator::allocate
	is zero-initialized so that checking it for non-zero works
	later.
	* include/ext/malloc_allocator.h (malloc_allocator::allocate):
	Initialize the return value.
	* testsuite/ext/malloc_allocator/sanity.cc: New.

From-SVN: r241212
2016-10-16 16:31:43 +03:00
Janne Blomqvist
9937c1eb72 PR 48587 Newunit allocator, cleanup
Improve error message, and remove a redundant check, as the same check is
done a bit earlier due to the PR 48587 patch.

2016-10-16  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/48587
        * io/transfer.c (data_transfer_init): Improve error message,
        remove redundant check.

Regtested on x86_64-pc-linux-gnu.

From-SVN: r241211
2016-10-16 09:28:15 +03:00
GCC Administrator
4698eb35ad Daily bump.
From-SVN: r241210
2016-10-16 00:16:15 +00:00
Eric Botcazou
d0d48a06df sparc.c (sparc_expand_vec_perm_bmask): Use a scratch register as destination of bmask.
* config/sparc/sparc.c (sparc_expand_vec_perm_bmask): Use a scratch
	register as destination of bmask.
	(vector_init_bshuffle): Likewise.
	* config/sparc/sparc.md (vec_perm_constv8qi): Likewise.
	(bmaskdi_vis): Enable only in 64-bit mode.

From-SVN: r241205
2016-10-15 22:40:12 +00:00
Jason Merrill
68d0192058 PR c++/77945 - constexpr and trivial copy
* constexpr.c (maybe_simplify_trivial_copy): New.
	(cxx_eval_store_expression): Call it.
	* call.c (build_over_call): Use unsigned char for trivial copy.

From-SVN: r241204
2016-10-15 17:25:55 -04:00
Segher Boessenkool
f9e9d32f79 rs6000: Fix shrink-wrap-separate for AIX
All out-of-line register save routines need LR, so we cannot wrap the
LR component if there are out-of-line saves.  This didn't show up for
testing on Linux because none of the tests there use out-of-line FPR
saves without also using out-of-line GPR saves, which we did handle.

This patch fixes it, and also cleans up code a little.


	* config/rs6000/rs6000.c (rs6000_get_separate_components): Do not
	make LR a separately shrink-wrapped component unless savres_strategy
	contains all of {SAVE,REST}_INLINE_{GPRS,FPRS,VRS}.  Do not wrap
	GPRs unless both {SAVE,REST}_INLINE_GPRS.  Do not disallow all
	wrapping when not both {SAVE,REST}_INLINE_GPRS.

From-SVN: r241203
2016-10-15 23:01:43 +02:00
Eric Botcazou
baa33d8380 optabs.c (expand_parity): Fix mode mismatch, add final conversion and keep looping on failure.
* optabs.c (expand_parity): Fix mode mismatch, add final conversion
	and keep looping on failure.

From-SVN: r241202
2016-10-15 18:46:02 +00:00
Jerry DeLisle
523ee218bb re PR fortran/77972 (ICE on broken character continuation with -Wall etc.)
2016-10-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/77972
	* scanner.c (gfc_next_char_literal): If nextc is null do not
	decrement the pointer and call the diagnostics.

	PR fortran/77972
	* gfortran.dg/unexpected_eof_4.f90: New test.

From-SVN: r241201
2016-10-15 18:38:54 +00:00
Janne Blomqvist
e2a02db769 PR 48587 Newunit allocator
2016-10-15  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/48587
        * gfortran.dg/negative_unit2.f90: New testcase.

From-SVN: r241200
2016-10-15 16:15:26 +03:00
Janne Blomqvist
c04d4ede17 PR 48587 Newunit allocator
Currently GFortran newer reuses unit numbers allocated with NEWUNIT=,
instead having a simple counter that is decremented each time such a
unit is opened.  For a long running program which repeatedly opens
files with NEWUNIT= and closes them, the counter can wrap around and
cause an abort.  This patch replaces the counter with an allocator
that keeps track of which units numbers are allocated, and can reuse
them once they have been deallocated.  Since operating systems tend to
limit the number of simultaneous open files for a process to a
relatively modest number, a relatively simple approach with a linear
scan through an array suffices.  Though as a small optimization there
is a low water indicator keeping track of the index for which all unit
numbers below are already allocated.  This linear scan also ensures
that we always allocate the smallest available unit number.

2016-10-15  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/48587
        * io/io.h (get_unique_unit_number): Remove prototype.
        (newunit_alloc): New prototype.
        * io/open.c (st_open): Call newunit_alloc.
        * io/unit.c (newunits,newunit_size,newunit_lwi): New static
        variables.
        (GFC_FIRST_NEWUNIT): Rename to NEWUNIT_START.
        (next_available_newunit): Remove variable.
        (get_unit): Call newunit_alloc, don't try to create negative
        external unit.
        (close_unit_1): Call newunit_free.
        (close_units): Free newunits array.
        (get_unique_number): Remove function.
        (newunit_alloc): New function.
        (newunit_free): New function.
        * io/transfer.c (data_transfer_init): Check for invalid unit
        number.

testsuite ChangeLog:

2016-10-15  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/48587
        * gfortran.dg/negative_unit2.f90: New testcase.

From-SVN: r241199
2016-10-15 16:14:15 +03:00
Nathan Sidwell
64190f049a revert: diagnostic.c (diagnostic_action_after_output): Remove max error handling here ....
Revert
	* 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: r241198
2016-10-15 11:08:10 +00:00
Ian Lance Taylor
35d9424444 runtime: copy runtime package time code from Go 1.7
Fix handling of function values for -fgo-c-header to generate FuncVal*,
    not simply FuncVal.
    
    While we're here change runtime.nanotime to use clock_gettime with
    CLOCK_MONOTONIC, rather than gettimeofday.  This is what the gc library
    does.  It provides nanosecond precision and a monotonic clock.
    
    Reviewed-on: https://go-review.googlesource.com/31232

From-SVN: r241197
2016-10-15 00:29:06 +00:00
GCC Administrator
2a0b23da05 Daily bump.
From-SVN: r241196
2016-10-15 00:16:16 +00:00
Ian Lance Taylor
1f0be9ee86 runtime: copy mprof code from Go 1.7 runtime
Also create a gccgo version of some of the traceback code in
    traceback_gccgo.go, replacing some code currently in C.
    
    This required modifying the compiler so that when compiling the runtime
    package a slice expression does not cause a local array variable to
    escape to the heap.
    
    Reviewed-on: https://go-review.googlesource.com/31230

From-SVN: r241189
2016-10-14 22:51:46 +00:00
Jason Merrill
2045acd902 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
2016-10-14 18:02:01 -04:00
Jason Merrill
ec2416b5ff 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
2016-10-14 17:54:39 -04:00
Nathan Sidwell
efc5aa6bc7 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
2016-10-14 20:32:03 +00:00
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