Commit Graph

9165 Commits

Author SHA1 Message Date
Trevor Saunders
0609abdad8 remove mep-* support
libgcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.host: Remove support for mep-*.
	* config/mep/lib1funcs.S: Remove.
	* config/mep/lib2funcs.c: Remove.
	* config/mep/t-mep: Remove.
	* config/mep/tramp.c: Remove.

gcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* common/config/mep/mep-common.c: Remove.
	* config.gcc: Remove mep-* support.
	* config/mep/constraints.md: Remove.
	* config/mep/default.h: Remove.
	* config/mep/intrinsics.h: Remove.
	* config/mep/intrinsics.md: Remove.
	* config/mep/ivc2-template.h: Remove.
	* config/mep/mep-c5.cpu: Remove.
	* config/mep/mep-core.cpu: Remove.
	* config/mep/mep-default.cpu: Remove.
	* config/mep/mep-ext-cop.cpu: Remove.
	* config/mep/mep-intrin.h: Remove.
	* config/mep/mep-ivc2.cpu: Remove.
	* config/mep/mep-pragma.c: Remove.
	* config/mep/mep-protos.h: Remove.
	* config/mep/mep.c: Remove.
	* config/mep/mep.cpu: Remove.
	* config/mep/mep.h: Remove.
	* config/mep/mep.md: Remove.
	* config/mep/mep.opt: Remove.
	* config/mep/predicates.md: Remove.
	* config/mep/t-mep: Remove.
	* doc/install.texi: Remove mep-* documentation.
	* doc/md.texi: Likewise.

gcc/testsuite/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* gcc.dg/tree-ssa/forwprop-28.c: Remove mep-* support.
	* gcc.dg/tree-ssa/reassoc-32.c: Likewise.
	* gcc.dg/tree-ssa/reassoc-33.c: Likewise.
	* gcc.dg/tree-ssa/reassoc-34.c: Likewise.
	* gcc.dg/tree-ssa/reassoc-35.c: Likewise.
	* gcc.dg/tree-ssa/reassoc-36.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-2.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-3.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c: Likewise.
	* gcc.dg/tree-ssa/ssa-thread-11.c: Likewise.
	* gcc.dg/tree-ssa/vrp87.c: Likewise.
	* lib/target-supports.exp: Likewise.

contrib/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config-list.mk: Stop testing mep-elf.

libstdc++-v3/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* configure.host: Remove mep-* support.

From-SVN: r237666
2016-06-21 21:57:49 +00:00
Trevor Saunders
8466af0668 remove knetbsd support
gcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.gcc: Remove support for knetbsd.
	* configure.ac: Likewise.
	* config/i386/knetbsd-gnu.h: Remove.  * config/i386/knetbsd-gnu64.h: Remove.
	* config/knetbsd-gnu.h: Remove.
	* configure: Regenerate.

libgcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.host: Remove support for knetbsd.

libstdc++-v3/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* configure: Regenerate.
	* configure.host: Remove support for knetbsd.
	* crossconfig.m4: Likewise.

contrib/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config-list.mk: stop testing knetbsd.

From-SVN: r237662
2016-06-21 21:57:30 +00:00
François Dumont
29dbb034cb re PR libstdc++/71181 (Reserving in unordered_map doesn't reserve enough)
2016-06-20  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/71181
	* include/tr1/hashtable_policy.h
	(_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
	dereferenceable to avoid check on lower_bound result.
	(_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
	(_Prime_rehash_policy::_M_need_rehash): Likewise.
	* src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
	Always return a value greater than input value. Set _M_next_resize to
	max value when reaching highest prime number.
	* src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
	being now useless.
	* testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
	* testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
	(test02): New.
	* testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
	* testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
	Fix indentation.

From-SVN: r237617
2016-06-20 20:04:25 +00:00
Jonathan Wakely
3ebacabd0e libstdc++/71545 fix debug checks in binary search algorithms
PR libstdc++/71545
	* include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
	Remove irreflexive checks.
	* include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
	binary_search): Likewise.
	* testsuite/25_algorithms/equal_range/partitioned.cc: New test.
	* testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
	* testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
	* testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
	* testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
	Add constructor from array.

From-SVN: r237560
2016-06-17 19:28:34 +01:00
François Dumont
bd2ee798d5 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
* include/debug/debug.h
	(__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
	(__glibcxx_requires_subscript): Move...
	* include/debug/assertions.h: ...here and add __builtin_expect.
	(_GLIBCXX_DEBUG_ONLY): Remove ; value.
	* include/bits/stl_deque.h
	(std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
	(std::deque<>::front()): Add __glibcxx_requires_nonempty check.
	(std::deque<>::back()): Likewise.
	(std::deque<>::pop_front()): Likewise.
	(std::deque<>::pop_back()): Likewise.
	(std::deque<>::swap(deque&)): Add allocator check.
	* include/bits/stl_vector.h
	(std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
	(std::vector<>::front()): Add __glibcxx_requires_nonempty check.
	(std::vector<>::back()): Likewise.
	(std::vector<>::pop_back()): Likewise.
	(std::vector<>::swap(vector&)): Add allocator check.

From-SVN: r237541
2016-06-16 20:34:08 +00:00
Daniel Kruegler
6b9539e2aa Provide swappable traits (p0185r1)
2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>

	Provide swappable traits (p0185r1)
	* include/std/type_traits (is_swappable, is_nothrow_swappable,
	is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
	is_nothrow_swappable_v, is_swappable_with_v,
	is_nothrow_swappable_with_v): New.
	* include/bits/stl_pair.h: Use it as per p0185r1.
	* include/bits/stl_queue.h: Likewise.
	* include/bits/stl_stack.h: Likewise.
	* include/bits/unique_ptr.h: Likewise.
	* include/std/tuple: Likewise.
	* include/std/array: Likewise. Fix zero-size member swap.
	* include/bits/hashtable.h: Use __and_.
	* testsuite/20_util/is_nothrow_swappable/requirements/
	explicit_instantiation.cc: Change test options to std=gnu++17.
	* testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
	* testsuite/20_util/is_swappable/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_swappable/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_swappable/requirements/
	explicit_instantiation_ext.cc: New.
	* testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
	New.
	* testsuite/20_util/is_nothrow_swappable/value.h: New.
	* testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
	* testsuite/20_util/is_nothrow_swappable_with/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
	New.
	* testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
	* testsuite/20_util/is_swappable/requirements/
	explicit_instantiation_ext.cc: New.
	* testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
	* testsuite/20_util/is_swappable/value.h: New.
	* testsuite/20_util/is_swappable/value_ext.cc: New.
	* testsuite/20_util/is_swappable_with/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
	* testsuite/20_util/is_swappable_with/value.cc: New.
	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
	Likewise.

From-SVN: r237531
2016-06-16 16:07:19 +01:00
Jonathan Wakely
33ac58d529 Remove trailing whitespace from libstdc++ headers
* include/std/array: Remove trailing whitespace.
	* include/std/atomic: Likewise.
	* include/std/bitset: Likewise.
	* include/std/chrono: Likewise.
	* include/std/complex: Likewise.
	* include/std/condition_variable: Likewise.
	* include/std/fstream: Likewise.
	* include/std/functional: Likewise.
	* include/std/future: Likewise.
	* include/std/iomanip: Likewise.
	* include/std/iosfwd: Likewise.
	* include/std/istream: Likewise.
	* include/std/limits: Likewise.
	* include/std/ratio: Likewise.
	* include/std/scoped_allocator: Likewise.
	* include/std/sstream: Likewise.
	* include/std/stdexcept: Likewise.
	* include/std/string: Likewise.
	* include/std/system_error: Likewise.
	* include/std/thread: Likewise.
	* include/std/tuple: Likewise.
	* include/std/type_traits: Likewise.
	* include/std/utility: Likewise.
	* include/std/valarray: Likewise.
	* include/std/vector: Likewise.

From-SVN: r237528
2016-06-16 14:47:35 +01:00
Jonathan Wakely
0ae207e947 Optimize inserting value_type into std::vector
* include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
	new overloaded functions.
	* include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
	to avoid creating a redundant temporary.
	* testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
	test.

From-SVN: r237526
2016-06-16 13:42:21 +01:00
François Dumont
d7e16fc536 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_deque.h
	(std::deque<>::operator=): Call _M_assign_aux.
	(std::deque<>::assign(initializer_list<>)): Likewise.
	(std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
	(std::deque<>::insert(const_iterator, initializer_list<>)):
	Call _M_range_insert_aux.
	(std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
	Likewise.
	(std::deque<>::_M_fill_assign): Call _M_fill_insert.
	(std::deque<>::_M_move_assign2): Call _M_assign_aux.
	* include/bits/deque.tcc
	(std::deque<>::operator=): Call _M_range_insert_aux.
	(std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
	Likewise.
	* include/bits/stl_vector.h
	(std::vector<>::operator=): Call _M_assign_aux.
	(std::vector<>::assign(initializer_list<>)): Likewise.
	(std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
	(std::vector<>::insert(const_iterator, initializer_list<>)):
	Call _M_range_insert.
	* include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.

From-SVN: r237495
2016-06-15 20:09:56 +00:00
François Dumont
373c00952c tuple (_Head_base<>): Default specialization condition at type declaration.
2016-06-07  François Dumont  <fdumont@gcc.gnu.org>

	* include/std/tuple (_Head_base<>): Default specialization condition at
	type declaration.

From-SVN: r237184
2016-06-07 20:19:19 +00:00
Ville Voutilainen
dbc6221fe5 Support allocators in tuples of zero size.
* include/std/tuple (tuple<>::tuple(),
	tuple<>::tuple(allocator_arg_t, const _Alloc&),
	tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
	* testsuite/20_util/tuple/cons/allocators.cc: Adjust.

From-SVN: r237143
2016-06-06 19:28:59 +03:00
Jonathan Wakely
94229fb6dc libstdc++/71320 Add or remove file permissions correctly
PR libstdc++/71320
	* src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
	Add or remove permissions according to perms argument.
	* testsuite/experimental/filesystem/operations/permissions.cc: New
	test.

From-SVN: r237136
2016-06-06 16:50:01 +01:00
Ville Voutilainen
7a66745357 Protect allocator-overloads of tuple-from-tuple constructors from cases that would create dangling references.
Protect allocator-overloads of tuple-from-tuple constructors
	from cases that would create dangling references.
	* include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
 	const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
 	tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
	* testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.

From-SVN: r237106
2016-06-05 20:39:10 +03:00
Gerald Pfeifer
4acc363412 backwards_compatibility.xml: Adjust lists.debian.org link to https.
* doc/xml/manual/backwards_compatibility.xml: Adjust
	lists.debian.org link to https.
	* doc/html/manual/backwards.html: Regenerate.

From-SVN: r236858
2016-05-29 08:03:35 +00:00
Jonathan Wakely
9020909ef1 Adjust URL in libstdc++ manual to use https
* doc/xml/manual/abi.xml: Adjust URL to use https.
	* doc/html/manual/*: Regenerate.

From-SVN: r236837
2016-05-27 22:23:42 +01:00
Ville Voutilainen
48035dfbea Fix build.
From-SVN: r236823
2016-05-27 17:34:08 +03:00
Ville Voutilainen
b702100693 re PR libstdc++/66338 (std::forward_as_tuple() issue with single argument)
2016-05-24  Ville Voutilainen  <ville.voutilainen@gmail.com>

	PR libstdc++/66338
	* include/std/tuple (_TMC): Add a check for _NotSameTuple.
	* include/std/tuple (tuple(_UElements&&...)): Remove the separate
	check for _NotSameTuple.
	* include/std/tuple (_TMCT): New.
	* include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
	* include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
	* include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
	      const tuple<_UElements...>&)): Likewise.
	* include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
	      tuple<_UElements...>&&)): Likewise.
	* testsuite/20_util/tuple/cons/66338.cc: New.

From-SVN: r236822
2016-05-27 17:08:37 +03:00
Jonathan Wakely
c42d228806 Fix configure test for sendfile()
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
	* configure: Regenerate.
	* config.h.in: Regenerate.

From-SVN: r236730
2016-05-25 17:13:52 +01:00
Jonathan Wakely
834f4c4355 Remove _GLIBCXX14_USE_CONSTEXPR
* include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
	* include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
	Remove const qualification on function. Replace
	_GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
	(_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
	(_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.

From-SVN: r236697
2016-05-25 10:36:28 +01:00
François Dumont
732eb07625 c++config (_GLIBCXX14_USE_CONSTEXPR): New.
2016-05-24  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
	* include/bits/hashtable_policy.h
	(_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
	having load factor management.
	(_Mask_range_hashing): New.
	(__clp2): New.
	(_Power2_rehash_policy): New.
	(_Inserts<>): Remove last template parameter, _Unique_keys, so that
	partial specializations only depend on whether iterators are constant
	or not.
	* testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
	test new hash policy.
	* testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/insert/hash_policy.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
	New.
	* testsuite/performance/23_containers/insert/54075.cc: Add benchmark
	using the new hash policy.
	* testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.

From-SVN: r236669
2016-05-24 20:55:57 +00:00
Jonathan Wakely
8be062c6da Add priority_queue::value_compare (LWG 2684)
* include/bits/stl_queue.h (priority_queue::value_compare): Define.

From-SVN: r236646
2016-05-24 16:59:05 +01:00
François Dumont
447caf82a4 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
* include/debug/safe_iterator.h
	(_Safe_iterator<>::operator->()): Implement using underlying iterator
	operator ->.
	* include/debug/safe_local_iterator.h
	(_Safe_local_iterator<>::operator->()): Likewise.

From-SVN: r236611
2016-05-23 20:03:35 +00:00
Thomas Preud'homme
11f8114b51 re PR libstdc++/71081 (experimental/memory_resource/1.cc run for targets without atomics)
2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    PR libstdc++/71081
    * testsuite/experimental/memory_resource/1.cc: Add required argument
    to dg-require-atomic-builtins.

From-SVN: r236507
2016-05-20 12:36:57 +00:00
Jonathan Wakely
541a9b104b libstdc++/71073 add system_header pragma to Debug Mode headers
PR libstdc++/71073
	* include/debug/bitset: Add #pragma GCC system_header.
	* include/debug/deque: Likewise.
	* include/debug/list: Likewise.
	* include/debug/map: Likewise.
	* include/debug/set: Likewise.
	* include/debug/string: Likewise.
	* include/debug/unordered_map: Likewise.
	* include/debug/unordered_set: Likewise.
	* include/debug/vector: Likewise.
	* include/debug/functions.h: Adjust whitespace.

From-SVN: r236211
2016-05-13 15:47:46 +01:00
Jonathan Wakely
068b220e52 Add dg-require-atomic-builtins to test
PR libstdc++/71081
	* testsuite/experimental/memory_resource/1.cc: Require atomics.

From-SVN: r236177
2016-05-12 15:08:45 +01:00
Jonathan Wakely
3d73ae6ea9 libstdc++/71049 fix --disable-libstdcxx-dual-abi bootstrap
PR libstdc++/71049
	* src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
	exception constructors with __sso_string parameters.

From-SVN: r236118
2016-05-11 13:39:28 +01:00
Jonathan Wakely
7f99d40a99 Test begin and end functions for directory iterators
* include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
	Test begin and end functions.
	* testsuite/experimental/filesystem/iterators/
	recursive_directory_iterator.cc: Likewise.

From-SVN: r236085
2016-05-10 16:39:20 +01:00
Jonathan Wakely
6fe673ad0f libstdc++/71038 fix error checks in filesystem::copy_file
PR libstdc++/71038
	* src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
	* testsuite/experimental/filesystem/operations/copy_file.cc: New test.

From-SVN: r236084
2016-05-10 16:39:14 +01:00
Jonathan Wakely
77a87b2a0e Optimize __directory_iterator_proxy for the common case
* include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
	Overload operator* to move from rvalues.

From-SVN: r236078
2016-05-10 14:09:22 +01:00
Jonathan Wakely
f9a39467b6 libstdc++/71036 Handle EEXIST in filesystem::create_directory
PR libstdc++/71036
	* src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
	* testsuite/experimental/filesystem/operations/create_directory.cc:
	New test.

From-SVN: r236076
2016-05-10 14:04:21 +01:00
Jonathan Wakely
6f0800d418 libstdc++/71037 Add base path to filesystem::canonical exceptions
PR libstdc++/71037
	* src/filesystem/ops.cc (canonical(const path&, const path&)): Add
	base path to exception.
	* testsuite/experimental/filesystem/operations/canonical.cc: Test
	paths contained in exception.

From-SVN: r236074
2016-05-10 13:22:32 +01:00
Jonathan Wakely
f10b2e1cae 2.cc: Remove unused using declaration.
* testsuite/experimental/type_erased_allocator/2.cc: Remove unused
	using declaration.

From-SVN: r236073
2016-05-10 13:04:22 +01:00
Jonathan Wakely
d7187f9ea1 libstdc++/71005 fix post-increment for filesystem iterators
PR libstdc++/71005
	* include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
	New type.
	(directory_iterator::operator++(int)): Return proxy.
	(recursive_directory_iterator::operator++(int)): Likewise.
	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
	Test post-increment.
	* testsuite/experimental/filesystem/iterators/
	recursive_directory_iterator.cc: Likewise.

From-SVN: r236072
2016-05-10 12:25:06 +01:00
Jonathan Wakely
7972e24663 libstdc++/71004 fix recent additions to testcase
PR libstdc++/71004
	* testsuite/experimental/filesystem/iterators/
	recursive_directory_iterator.cc: Fix test02 to not call member
	functions on invalid iterator, and use VERIFY not assert.

From-SVN: r236028
2016-05-09 12:50:01 +01:00
Ville Voutilainen
fb334765e2 Avoid endless run-time recursion for copying single-element tuples where the...
Avoid endless run-time recursion for copying single-element
	tuples where the element type is by-value constructible
	from any type.
 	* include/std/tuple (_NotSameTuple): New.
 	* include/std/tuple (tuple(_UElements&&...): Use it.
	* testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.

From-SVN: r236025
2016-05-09 14:03:36 +03:00
Jonathan Wakely
e4cce0cea0 libstdc++/71004 fix recursive_directory_iterator default constructor
PR libstdc++/71004
	* include/experimental/bits/fs_dir.h (recursive_directory_iterator):
	Initialize scalar member variables in default constructor.
	* testsuite/experimental/filesystem/iterators/
	recursive_directory_iterator.cc: Teste default construction.

From-SVN: r236023
2016-05-09 11:09:37 +01:00
Rainer Orth
40436d8169 Enable dg-reqire-sharedlib on Solaris
* testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.

From-SVN: r235931
2016-05-05 19:54:42 +00:00
Jonathan Wakely
f5c40ce2cf Add dg-require-filesystem-ts directive to test
* testsuite/experimental/filesystem/path/native/string.cc: Add
	dg-require-filesystem-ts directive.

From-SVN: r235919
2016-05-05 11:03:56 +01:00
Jonathan Wakely
d9cb3e7598 libstdc++/70940 Start fixing polymorphic memory resources
PR libstdc++/70940
	* include/experimental/memory_resource
	(__resource_adaptor_imp::do_allocate): Do not default-construct
	rebound allocator.
	(__resource_adaptor_imp::do_deallocate): Likewise. Use
	allocator_traits to get pointer type.
	(__null_memory_resource::do_allocate): Remove unused parameters.
	(__null_memory_resource::do_deallocate): Likewise.
	(__null_memory_resource::do_is_equal): Likewise. Add return statement.
	* testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
	* testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
	move to ...
	* testsuite/experimental/memory_resource/1.cc: Here.
	* testsuite/experimental/memory_resource/null_memory_resource.cc: New.
	* testsuite/experimental/memory_resource/resource_adaptor.cc: New.

From-SVN: r235868
2016-05-04 13:08:45 +01:00
Chris Gregory
f92ab29ffa Remove trailing whitespace from libstdc++-v3 files
2016-04-29  Chris Gregory  <czipperz@gmail.com>

	* config/*: Remove trailing whitespace.
	* src/*: Likewise.
	* testsuite/tr1/*: Likewise.
	* testsuite/util/*: Likewise.

From-SVN: r235645
2016-04-29 17:11:43 +01:00
Jonathan Wakely
9f9eb84eac libstdc++/70766 use std::addressof instead of operator&
PR libstdc++/70766
	* include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
	__addressof.
	* include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
	Likewise.
	* include/std/atomic (atomic<_Tp>): Likewise.
	* include/std/shared_mutex (shared_lock): Likewise.
	* testsuite/24_iterators/istream_iterator/70766.cc: New test.
	* testsuite/24_iterators/ostream_iterator/70766.cc : New test.
	* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
	* testsuite/29_atomics/atomic/70766.cc: New test.
	* testsuite/30_threads/shared_lock/70766.cc: New test.

From-SVN: r235565
2016-04-28 13:33:07 +01:00
Jonathan Wakely
272b2ce49f hashtable_policy.h (__detail::_Insert_base, [...]): Improve comments.
* include/bits/hashtable_policy.h (__detail::_Insert_base,
	__detail::_Insert): Improve comments.

From-SVN: r235564
2016-04-28 13:32:50 +01:00
Jonathan Wakely
45e206963a libstdc++/70767 Define std::numeric_limits<cv T> in C++98 mode
PR libstdc++/70767
	* include/std/limits: Update comments about DRs.
	(numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
	numeric_limits<const volatile _Tp>): Define unconditionally.

From-SVN: r235486
2016-04-27 12:57:58 +01:00
Jonathan Wakely
a635cdb2cc libstdc++/70762 fix fallback implementation of nonexistent_path
PR libstdc++/70762
	* testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
	static counter to return a different path on every call.

From-SVN: r235395
2016-04-24 19:06:54 +01:00
Tim Shen
216f7526fe re PR libstdc++/70745 (Wrong handling of regex_constant::match_not_eow and regex_constant::match_not_bow)
PR libstdc++/70745
	* include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
	Fix the match_not_bow and match_not_eow behavior.
	* testsuite/28_regex/regression.cc: Add testcase.

From-SVN: r235382
2016-04-23 03:58:37 +00:00
Jonathan Wakely
a1e1ec7605 Fix std::codecvt_utf8* for big-endian targets
PR libstdc++/69703
	* src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
	__codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.

From-SVN: r235293
2016-04-20 18:40:02 +01:00
Jonathan Wakely
29ca91f72e libstdc++/69703 ignore endianness in codecvt_utf8
PR libstdc++/69703
	* src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in)):
	Override endianness bit in mode.
	* testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
	* testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
	that little_endian mode is ignored.
	* testsuite/experimental/filesystem/path/native/string.cc: New test.

From-SVN: r235216
2016-04-19 19:02:46 +01:00
Jonathan Wakely
1490525104 libstdc++/70609 fix filesystem::copy()
PR libstdc++/70609
	* src/filesystem/ops.cc (close_fd): New function.
	(do_copy_file): Set permissions before copying file contents. Check
	result of closing file descriptors. Don't copy streambuf when file
	is empty.
	(copy(const path&, const path&, copy_options, error_code&)): Use
	lstat for source file when copy_symlinks is set.
	* testsuite/experimental/filesystem/operations/copy.cc: Test copy().

From-SVN: r235215
2016-04-19 19:02:39 +01:00
Jonathan Wakely
9c476ad426 Add noexcept to Filesystem TS operators
* include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
	operator~ operator&=, operator|=, operator^=): Add noexcept to
	overloaded operators for copy_options, perms and directory_options.
	* src/filesystem/ops.cc (make_file_type, make_file_status,
	is_not_found_errno, file_time): Add noexcept.

From-SVN: r235214
2016-04-19 19:02:32 +01:00
Edward Smith-Rowland
d855ad89cb c++14_warning.h: Do not refer C++14 as experimental.
2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/c++14_warning.h: Do not refer C++14 as experimental.

From-SVN: r235210
2016-04-19 16:29:05 +00:00