Jonathan Wakely
61ad58f3aa
PR libstdc++/79195 fix make_array type deduction
...
PR libstdc++/79195
* include/experimental/array (__make_array_elem): New class template
and partial specialization.
(__is_reference_wrapper): Move into __make_array_elem specialization.
(make_array): Use __make_array_elem to determine element type and move
static assertion into specialization. Qualify std::forward call.
(to_array): Add exception specifiation.
* testsuite/experimental/array/make_array.cc: Test argument types
without a common type.
* testsuite/experimental/array/neg.cc: Adjust expected error message.
From-SVN: r244813
2017-01-23 15:56:05 +00:00
Gerald Pfeifer
cd30831311
* doc/xml/manual/debug.xml: code.google.com uses https now.
...
From-SVN: r244770
2017-01-23 07:18:42 +00:00
Gerald Pfeifer
630f989317
* doc/xml/manual/test.xml: Fix link into gccint online manual.
...
From-SVN: r244765
2017-01-22 20:39:06 +00:00
Ville Voutilainen
509912a611
Make poisoned hashes SFINAE away the call operator of the hash.
...
* include/bits/functional_hash.h
(__poison_hash::__enable_hash_call): New.
* include/std/optional (__optional_hash_call_base): New.
(hash<optional<_Tp>>): Derive from the new base,
move the hash function into that base.
* include/std/variant (__variant_hash_call_base_impl): New.
(__variant_hash_call_base): Likewise.
(hash<variant<_Types...>>): Derive from the new base,
move the hash function into that base.
* testsuite/20_util/optional/hash.cc: Add tests for is_callable.
* testsuite/20_util/variant/hash.cc: Likewise.
From-SVN: r244748
2017-01-21 17:38:23 +02:00
Joe Seymour
f14d2c52d4
Support unsigned __int20 in checks for size_t mangling
...
2017-01-20 Joe Seymour <joe.s@somniumtech.com>
* acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t.
* configure: Regenerate.
From-SVN: r244727
2017-01-20 17:46:36 +00:00
Jonathan Wakely
12905f106c
PR69240 Define inequality operators for <random> param types
...
PR libstdc++/69240
* include/bits/random.h (uniform_real_distribution::param_type)
(normal_distribution::param_type, lognormal_distribution::param_type)
(gamma_distribution::param_type, chi_squared_distribution::param_type)
(cauchy_distribution::param_type, fisher_f_distribution::param_type)
(student_t_distribution::param_type)
(bernoulli_distribution::param_type, binomial_distribution::param_type)
(geometric_distribution::param_type)
(negative_binomial_distribution::param_type)
(poisson_distribution::param_type)
(exponential_distribution::param_type)
(weibull_distribution::param_type)
(extreme_value_distribution::param_type)
(discrete_distribution::param_type)
(piecewise_constant_distribution::param_type)
(piecewise_linear_distribution::param_type): Define operator!=.
* include/bits/uniform_int_dist.h
(uniform_int_distribution::param_type): Likewise.
* include/ext/random (beta_distribution::param_type)
(rice_distribution::param_type, nakagami_distribution::param_type)
(pareto_distribution::param_type, k_distribution::param_type)
(arcsine_distribution::param_type, hoyt_distribution::param_type)
(triangular_distribution::param_type)
(von_mises_distribution::param_type)
(hypergeometric_distribution::param_type)
(logistic_distribution::param_type)
(uniform_on_sphere_distribution::param_type)
(uniform_inside_sphere_distribution::param_type): Likewise.
* testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
Test construction with param_type.
* testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/extreme_value_distribution/cons/
parms.cc: Likewise.
* testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/negative_binomial_distribution/cons/
parms.cc: Likewise.
* testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
Likewise.
* testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
Likewise.
* testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/triangular_distribution/cons/parms.cc:
Likewise.
* testsuite/ext/random/uniform_inside_sphere_distribution/cons/
parms.cc: Likewise.
* testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
From-SVN: r244722
2017-01-20 15:28:48 +00:00
Jonathan Wakely
4dfdda108f
PR72792 detect allocator pointer types without invalid rebinding
...
PR libstdc++/72792
* include/bits/alloc_traits.h (__allocator_traits_base::__diff_type)
(__allocator_traits_base::__size_type): Remove.
(allocator_traits::_Ptr): New class template to detect const and void
pointer types without instantiating pointer_traits::rebind
unnecessarily.
(allocator_traits::_Diff): Likewise for detecting difference_type.
(allocator_traits::_Size): New class template to detect size_type
without instantiating make_unsigned unnecessarily.
* include/bits/ptr_traits.h (pointer_traits::element_type): Use
__detected_or_t instead of __detected_or_t_.
* include/std/type_traits (__detected_or_t_): Remove.
* testsuite/20_util/allocator_traits/members/pointers.cc: New test.
From-SVN: r244706
2017-01-20 12:03:36 +00:00
Jonathan Wakely
a3a1620bb8
PR72792 PR72793 relax requirements on rebind members
...
PR libstdc++/72792
PR libstdc++/72793
* include/bits/alloc_traits.h (__allocator_traits_base::__rebind):
Replace with class template using void_t.
(__alloc_rebind): Define in terms of
__allocator_traits_base::__rebind.
(allocator_traits): Remove unconditional static_assert for
rebind_alloc.
* include/bits/ptr_traits.h (__replace_first_arg): Remove type member.
(pointer_traits::__rebind): Replace with class template using void_t.
(pointer_traits::rebind): Define in terms of __rebind.
(pointer_traits): Remove unconditional static_assert for rebind.
* testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test.
* testsuite/20_util/pointer_traits/rebind.cc: New test.
From-SVN: r244680
2017-01-20 02:36:16 +00:00
Jonathan Wakely
38a9e5a6c0
PR69321 fix any_cast<T>(any*) for non-copyable T
...
PR libstdc++/69321
* include/experimental/any (__any_caster): Avoid instantiating
manager function for types that can't be stored in any.
* include/std/any (__any_caster): Likewise.
* testsuite/20_util/any/misc/any_cast.cc: Test non-copyable type.
* testsuite/experimental/any/misc/any_cast.cc: Likewise.
From-SVN: r244678
2017-01-20 01:22:54 +00:00
Jonathan Wakely
5b4ca3060a
PR64903 simplify last fix to std::is_partitioned
...
PR libstdc++/64903
* include/bits/stl_algo.h (is_partitioned): Use increment instead of
std::advance.
From-SVN: r244675
2017-01-20 00:33:25 +00:00
Jonathan Wakely
115ac9ff61
PR79156 fix std::__enable_shared_from_this extension
...
PR libstdc++/79156
* include/bits/shared_ptr_base.h (__enable_shared_from_this_base):
Fix return type.
(__enable_shared_from_this): Declare __shared_ptr as a friend.
* testsuite/ext/shared_ptr/1.cc: New test.
From-SVN: r244668
2017-01-20 00:07:14 +00:00
Jonathan Wakely
c4e5baa663
PR64903 fix number of predicate tests in std::is_partitioned
...
PR libstdc++/64903
* include/bits/stl_algo.h (is_partioned): Don't retest the partition
point.
* testsuite/25_algorithms/is_partitioned/2.cc: New test.
From-SVN: r244661
2017-01-19 23:30:18 +00:00
Jonathan Wakely
8e4160112d
Fix typo in recent doc updates
...
* doc/xml/manual/abi.xml: Fix typo.
* doc/html/manual/abi.html: Likewise.
From-SVN: r244658
2017-01-19 23:15:13 +00:00
Jonathan Wakely
437f43cc78
PR67085 pass comparison functions by reference in heap algorithms
...
PR libstdc++/67085
* include/bits/predefined_ops.h (_Iter_less_val, _Val_less_iter): Add
converting constructors from _Iter_less_iter.
(_Iter_comp_val, _Val_comp_iter): Add converting constructors from
_Iter_comp_iter.
(__iter_comp_val(_Iter_comp_iter<C>): Use converting constructor.
(__val_comp_iter(_Iter_comp_iter<C>): Likewise.
* include/bits/stl_heap.h (__is_heap_until, __push_heap, __pop_heap)
(__make_heap, __sort_heap): Change _Compare parameters to references.
(__is_heap, push_heap, __adjust_heap, __pop_heap, pop_heap)
(__make_heap, make_heap, sort_heap, is_heap_until): Pass comparison
functions as lvalues.
(is_heap): Call __is_heap_until directly to avoid copying __comp.
* testsuite/23_containers/priority_queue/67085.cc: Adjust test to
count copies during construction with empty sequence.
From-SVN: r244656
2017-01-19 23:07:52 +00:00
Jonathan Wakely
9ade9945a0
Fix unsafe moves inside loops
...
PR libstdc++/67085
* include/bits/stl_heap.h (__is_heap): Use _GLIBCXX_MOVE.
(__make_heap, __sort_heap): Don't use _GLIBCXX_MOVE inside loops.
* testsuite/23_containers/priority_queue/67085.cc: Adjust expected
number of copies.
* testsuite/25_algorithms/make_heap/movable.cc: New test.
From-SVN: r244650
2017-01-19 20:29:07 +00:00
Jonathan Wakely
45b48129d5
PR67085 move comparison functions in heap operations
...
PR libstdc++/67085
* include/bits/stl_heap.h (push_heap, __adjust_heap, __pop_heap)
(pop_heap, __make_heap, make_heap, __sort_heap, sort_heap): Use
_GLIBCXX_MOVE when passing comparison function to other functions.
(is_heap_until, is_heap): Use std::move when passing comparison
function.
* testsuite/23_containers/priority_queue/67085.cc: New test.
From-SVN: r244648
2017-01-19 18:26:41 +00:00
Jonathan Wakely
8c05647c56
PR78905 define _GLIBCXX_RELEASE macro
...
PR libstdc++/78905
* doc/xml/manual/abi.xml (abi.versioning.history): Add markup to
macro names, filenames, and literal values. Document _GLIBCXX_RELEASE.
Document that the deprecated _GLIBCXX_VERSION macro was removed for
the 4.0.0 release.
* doc/html/*: Regenerate.
* include/Makefile.am (_GLIBCXX_RELEASE): Set value.
* include/Makefile.in: Regenerate.
* include/bits/c++config (_GLIBCXX_RELEASE): Add #define.
* testsuite/ext/profile/mutex_extensions_neg.cc: Use lineno of 0 in
dg-error.
From-SVN: r244642
2017-01-19 16:40:46 +00:00
Jonathan Wakely
2ae27b7076
PR69301 don't assume atomic<T> can default construct T
...
PR libstdc++/69301
* include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use
aligned buffer instead of default-initialized variable.
* testsuite/29_atomics/atomic/69301.cc: New test.
* include/experimental/memory (observer_ptr::release): Use reserved
name.
* include/ext/pointer.h (_Pointer_adapter::operator++(int))
(_Pointer_adapter::operator--(int)): Likewise.
From-SVN: r244588
2017-01-18 18:36:45 +00:00
Jonathan Wakely
b08fdbb845
PR68925 don't use thread_local static for stateless object
...
PR libstdc++/68925
* include/experimental/random (randint): Use temporary instead of
thread_local static.
From-SVN: r244584
2017-01-18 17:18:47 +00:00
Joshua Conner
93f90f7bd5
crossconfig.m4: Add fuchsia OS.
...
2017-01-17 Joshua Conner <joshconner@google.com>
* crossconfig.m4: Add fuchsia OS.
* configure: Regenerate.
From-SVN: r244557
2017-01-17 23:36:12 +00:00
Jonathan Wakely
c6b8b5e4d3
PR69699 document why __GLIBCXX__ macro is useless
...
PR libstdc++/69699
* doc/xml/manual/abi.xml (abi.versioning.history): Explain why the
_GLIBCXX__ macro is not useful. Remove redundant date information
and link to the GCC release timeline.
(abi.versioning.active): Move partial sentence into the previous
paragraph.
* doc/html/*: Regenerate.
From-SVN: r244532
2017-01-17 15:26:11 +00:00
Jonathan Wakely
04c872aae4
PR79114 use decayed type in std::throw_with_nested assertion
...
PR libstdc++/79114
* libsupc++/nested_exception.h (throw_with_nested): Use decay instead
of remove_reference.
* testsuite/18_support/nested_exception/79114.cc: New test.
From-SVN: r244531
2017-01-17 15:26:06 +00:00
Jakub Jelinek
3c36aa6ba2
re PR other/79046 (g++ -print-file-name=plugin uses full version number in path)
...
PR other/79046
* configure: Regenerated.
config/
* acx.m4 (GCC_BASE_VER): New m4 function.
(ACX_TOOL_DIRS): Require GCC_BASE_VER, for
--with-gcc-major-version-only use just major number from BASE-VER.
gcc/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
version from BASE-VER file.
(CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s).
(gcc.o): Depend on $(BASEVER).
* common.opt (dumpfullversion): New option.
* gcc.c (driver_handle_option): Handle OPT_dumpfullversion.
* doc/invoke.texi: Document -dumpfullversion.
* doc/install.texi: Document --with-gcc-major-version-only.
* configure: Regenerated.
libatomic/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
libgomp/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
libgcc/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
version from BASE-VER file.
* configure: Regenerated.
libssp/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.
liboffloadmic/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* aclocal.m4: Include ../config/acx.m4.
* configure: Regenerated.
* Makefile.in: Regenerated.
libquadmath/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.
libmpx/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.
libada/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
version from BASE-VER file.
* configure: Regenerated.
lto-plugin/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.
libitm/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
fixincludes/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
libcilkrts/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* aclocal.m4: Include ../config/acx.m4.
* configure: Regenerated.
* Makefile.in: Regenerated.
libcc1/
* configure.ac: Add GCC_BASE_VER. For --with-gcc-major-version-only
use just major number from BASE-VER.
* configure: Regenerated.
* Makefile.in: Regenerated.
libobjc/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
libstdc++-v3/
* configure.ac: Add GCC_BASE_VER.
* fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* po/Makefile.in: Regenerated.
* libsupc++/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* src/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* doc/Makefile.in: Regenerated.
* python/Makefile.in: Regenerated.
* src/c++11/Makefile.in: Regenerated.
* src/c++98/Makefile.in: Regenerated.
* src/filesystem/Makefile.in: Regenerated.
libvtv/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
libsanitizer/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* libbacktrace/Makefile.in: Regenerated.
* interception/Makefile.in: Regenerated.
* asan/Makefile.in: Regenerated.
* ubsan/Makefile.in: Regenerated.
* configure: Regenerated.
* sanitizer_common/Makefile.in: Regenerated.
* lsan/Makefile.in: Regenerated.
* Makefile.in: Regenerated.
* tsan/Makefile.in: Regenerated.
libgfortran/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.
From-SVN: r244521
2017-01-17 10:38:48 +01:00
Jonathan Wakely
83291b8b8c
PR66145 use new ABI for std::ios::failure exceptions
...
PR libstdc++/66145
* src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure
exceptions.
* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI
for test, so new ios::failure can be caught.
* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/
exceptions_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
exceptions_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/ios_base/storage/2.cc: Likewise.
From-SVN: r244498
2017-01-16 15:58:06 +00:00
Jonathan Wakely
b497fbc10a
PR78702 fix accessibility of locale::facet::__shim
...
PR libstdc++/78702
* include/bits/locale_classes.h (locale::facet::__shim): Change from
private to protected.
* src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to
make locale::facet::__shim accessible.
From-SVN: r244491
2017-01-16 11:41:41 +00:00
Ville Voutilainen
53426b63b3
PR libstdc++/78389 fix backwards size adjustments.
...
PR libstdc++/78389
* include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments.
(merge(list&&, _StrictWeakOrdering)): Likewise.
* testsuite/23_containers/list/operations/78389.cc: Add
better test for the sizes.
From-SVN: r244490
2017-01-16 13:36:33 +02:00
Jonathan Wakely
ac4664f9da
Skip tests that are incompatible with Profile Mode
...
* testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
Skip test when -D_GLIBCXX_PROFILE mode is included in options.
* testsuite/23_containers/map/modifiers/extract.cc: Likewise.
* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
Likewise.
* testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
* testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
* testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
* testsuite/23_containers/set/modifiers/extract.cc: Likewise.
* testsuite/23_containers/unordered_map/modifiers/extract.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/modifiers/extract.cc::
Likewise.
* testsuite/23_containers/unordered_multiset/modifiers/extract.cc::
Likewise.
* testsuite/23_containers/unordered_set/modifiers/extract.cc:
Likewise.
* testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
Likewise.
* testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
* testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
* testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise.
* testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
* testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
* testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
* testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
* testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
* testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
* testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
From-SVN: r244464
2017-01-14 11:55:22 +00:00
Jonathan Wakely
0fdba3a81c
PR65411 don't retry fclose on EINTR
...
PR libstdc++/65411
* config/io/basic_file_stdio.cc (__basic_file<char>::close()): Don't
retry fclose on EINTR.
From-SVN: r244451
2017-01-13 17:52:34 +00:00
Jonathan Wakely
aa1ba96b87
Remove unused include from Profile Mode header
...
* include/profile/base.h: Remove unused header that leads to header
cycle in C++17 mode.
From-SVN: r244449
2017-01-13 17:20:23 +00:00
Jonathan Wakely
92daf2dedd
Add string_view support to COW std::string
...
PR libstdc++/79075
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string):
Make _If_sv private.
[!_GLIBCXX_USE_CXX11_ABI] (basic_string): Add member functions taking
basic_string_view arguments.
From-SVN: r244445
2017-01-13 15:53:07 +00:00
Jonathan Wakely
90aa73309e
Define cxx11-abi effective target for libstdc++ tests
...
PR libstdc++/79075
* testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove
redundant option from cxxflags.
(check_effective_target_cxx11-abi): Define.
* testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi
effective target.
* testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/char/minimal.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
* testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/char/noexcept.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
Likewise.
* testsuite/23_containers/list/61347.cc: Likewise.
* testsuite/27_io/basic_fstream/cons/base.cc: Likewise.
* testsuite/27_io/ios_base/failure/cxx11.cc: Likewise.
From-SVN: r244440
2017-01-13 14:57:33 +00:00
Ville Voutilainen
e5dcfacf43
re PR libstdc++/78389 (list::merge and list::sort are not exception safe)
...
PR libstdc++/78389
* include/bits/list.tcc (merge(list&&)):
Adjust list sizes if the comparator throws.
(merge(list&&, _StrictWeakOrdering)): Likewise.
(sort()): Splice elements back from the scratch buffers
if the comparator throws.
(sort(_StrictWeakOrdering)): Likewise.
* testsuite/23_containers/list/operations/78389.cc: New.
From-SVN: r244439
2017-01-13 16:46:25 +02:00
Jonathan Wakely
45cac8baeb
Mark test as XFAIL for C++17 mode
...
* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark
XFAIL for C++17 until node reinsertion supports fancy pointers.
From-SVN: r244436
2017-01-13 13:01:48 +00:00
Jonathan Wakely
c6ab906191
PR78361 recognise noexcept functions as referenceable
...
2017-01-13 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/78361
* testsuite/20_util/add_pointer/value.cc: Test forming function
pointers.
2017-01-13 Michael Brune <lucdanton@free.fr>
PR libstdc++/78361
* include/std/type_traits (__is_referenceable): Handle noexcept
function types.
From-SVN: r244432
2017-01-13 12:18:42 +00:00
Jonathan Wakely
a1f009a65f
PR77528 partially revert r244278 and define default constructors
...
PR libstdc++/77528
* include/bits/stl_queue.h (queue, priority_queue): Remove default
member-initializers and define default constructors as templates with
constraints.
* include/bits/stl_stack.h (stack): Likewise.
* testsuite/23_containers/priority_queue/requirements/constructible.cc:
New.
* testsuite/23_containers/priority_queue/requirements/
explicit_instantiation/1.cc: Test more instantiations.
* testsuite/23_containers/priority_queue/requirements/
explicit_instantiation/1_c++98.cc: Likewise.
* testsuite/23_containers/queue/requirements/constructible.cc: New.
* testsuite/23_containers/stack/requirements/constructible.cc: New.
From-SVN: r244374
2017-01-12 17:28:36 +00:00
Jonathan Wakely
4704f28e7a
PR66284 remove std::function special case for reference_wrapper
...
PR libstdc++/66284
* doc/xml/manual/intro.xml: Document LWG 2781 change.
* doc/html/*: Regenerate.
* include/std/functional (_Function_base::_Ref_manager): Remove.
(_Function_handler): Remove partial specializations for
reference_wrapper.
(function::target): Remove special case for const qualification.
* testsuite/20_util/function/6.cc: Adjust tests for target type.
* testsuite/20_util/function/7.cc: Likewise.
* testsuite/20_util/function/8.cc: Likewise.
From-SVN: r244364
2017-01-12 14:28:38 +00:00
Jonathan Wakely
b744bf4e18
PR78134 fix return types of heterogeneous lookup functions
...
PR libstdc++/78134
* include/bits/stl_map.h (map::lower_bound, map::upper_bound)
(map::equal_range): Fix return type of heterogeneous overloads.
* include/bits/stl_multimap.h (multimap::lower_bound)
(multimap::upper_bound, multimap::equal_range): Likewise.
* include/bits/stl_multiset.h (multiset::lower_bound)
(multiset::upper_bound, multiset::equal_range): Likewise.
* include/bits/stl_set.h (set::lower_bound, set::upper_bound)
(set::equal_range): Likewise.
* testsuite/23_containers/map/operations/2.cc
* testsuite/23_containers/multimap/operations/2.cc
* testsuite/23_containers/multiset/operations/2.cc
* testsuite/23_containers/set/operations/2.cc
From-SVN: r244318
2017-01-11 14:44:15 +00:00
Jonathan Wakely
b091b8dc0b
PR78273 fix count to work with partitioning function
...
PR libstdc++/78273
* include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume
the heterogeneous comparison can only find one match.
* include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise.
* testsuite/23_containers/map/operations/2.cc: Test count works with
comparison function that just partitions rather than sorting.
* testsuite/23_containers/set/operations/2.cc: Likewise.
From-SVN: r244317
2017-01-11 14:44:04 +00:00
Ville Voutilainen
f3df0b3cde
Reduce the size of variant, it doesn't need an index of type size_t internally.
...
Reduce the size of variant, it doesn't need an index of
type size_t internally.
* include/std/variant (parse_numbers.h): New include.
(__select_index): New.
(_Variant_storage<false, _Types...>::_M_reset_impl): Use
_index_type for comparison with variant_npos.
(_Variant_storage<false, _Types...>::__index_type): New.
(_Variant_storage<false, _Types...>::_M_index): Change the
type from size_t to __index_type.
(_Variant_storage<true, _Types...>::__index_type): New.
(_Variant_storage<true, _Types...>::_M_index): Change the
type from size_t to __index_type.
(_Variant_base::_M_valid): Use _Storage::__index_type
for comparison with variant_npos.
(variant::index): Use _Base::_Storage::__index_type
for comparison with variant_npos.
* testsuite/20_util/variant/index_type.cc: New.
From-SVN: r244309
2017-01-11 13:23:43 +02:00
Jonathan Wakely
904112f6bb
Adjust effective target selector to fix C++17 FAIL
...
* testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust
effective target selector to prevent running in C++17 mode.
From-SVN: r244280
2017-01-10 17:44:42 +00:00
Jonathan Wakely
d2e1d4b713
PR77528 add default constructors for container adaptors
...
PR libstdc++/77528
* include/bits/stl_queue.h (queue::c): Add default member initializer.
(queue::queue()): Add constructor and define as defaulted.
(queue::queue(_Sequence&&)): Remove default argument.
(priority_queue::c, priority_queue::comp): Add default member
initializers.
(priority_queue::priority_queue()): Add constructor and define as
defaulted.
(priority_queue::priority_queue(const _Compare&, _Sequence&&)):
Remove default argument for first parameter.
* include/bits/stl_stack.h (stack::c): Add default member initializer.
(stack::stack()): Add constructor and define as defaulted.
(stack::stack(const _Sequence&)): Remove default argument.
* testsuite/23_containers/priority_queue/requirements/
explicit_instantiation/1.cc: Test explicit instantiation with
non-DefaultConstructible sequence.
* testsuite/23_containers/priority_queue/77528.cc: New test.
* testsuite/23_containers/priority_queue/requirements/
explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc.
* testsuite/23_containers/queue/77528.cc: New test.
* testsuite/23_containers/queue/requirements/explicit_instantiation/
1.cc: Test explicit instantiation with non-DefaultConstructible
sequence.
* testsuite/23_containers/queue/requirements/explicit_instantiation/
1_c++0x.cc: Replace with 1_c++98.cc.
* testsuite/23_containers/stack/77528.cc: New test.
* testsuite/23_containers/stack/requirements/explicit_instantiation/
1.cc: Test explicit instantiation with non-DefaultConstructible
sequence.
* testsuite/23_containers/stack/requirements/explicit_instantiation/
1_c++0x.cc: Replace with 1_c++98.cc.
From-SVN: r244278
2017-01-10 17:30:20 +00:00
Felipe Magno de Almeida
26b67e383f
Use temporary int objects to access struct tm members
...
Call _M_extract_* functions family through temporary int objects, so
it doesn't convert from lvalue to rvalue through a temporary in AVR
because of the incompatible types used in AVR-Libc.
This fixes compilation errors with AVR-Libc while compiling libstdc++
for AVR target.
2017-01-10 Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
* include/bits/locale_facets_nonio.tcc
(time_get::_M_extract_via_format): Avoid compilation errors with
non-standard struct tm.
From-SVN: r244271
2017-01-10 14:15:59 +00:00
François Dumont
f9a27859df
Make Python printers and xmethods work with versioned namespace
...
2017-01-10 François Dumont <fdumont@gcc.gnu.org>
Jonathan Wakely <jwakely@redhat.com>
* python/libstdcxx/v6/printers.py (_versioned_namespace): Define.
(is_specialization, strip_versioned_namespace): New helpers functions
to work with symbols in the versioned namespace.
(Printer.add_version): Add second name using versioned namespace.
(add_one_template_type_printer, add_one_type_printer): Add second
type printers using versioned namespace.
(register_type_printers): Add template type printer for basic_string.
(build_libstdcxx_dictionary): Remove dead code.
* python/libstdcxx/v6/xmethods.py: Make all matchers look for
versioned namespace.
* testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
results.
* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r244262
2017-01-10 12:38:42 +00:00
Jonathan Wakely
a7765de8ef
PR79017 workaround incomplete C99 math on darwin
...
PR libstdc++/79017
* acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround
functions separately on darwin and if they're missing define
_GLIBCXX_NO_C99_ROUNDING_FUNCS.
* config.h.in: Regenerate.
* configure: Regenerate.
* include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint)
(llrintf, llrintl, llround, llroundf, llroundl): Do not define.
From-SVN: r244231
2017-01-09 17:15:58 +00:00
Jonathan Wakely
dc8bc65be3
Define testsuite macro for correct thread_local destructors
...
* testsuite/30_threads/condition_variable/members/3.cc: Use new macro
to detect correct thread_local destructors.
* testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS):
Define.
From-SVN: r244226
2017-01-09 13:06:03 +00:00
Jonathan Wakely
cb627cdf5c
PR66414 optimize std::string::find
...
2017-01-09 Jonathan Wakely <jwakely@redhat.com>
Aditya Kumar <hiraditya@msn.com>
PR libstdc++/66414
* include/bits/basic_string.tcc
(basic_string::find(const CharT*, size_type, size_type)): Optimize.
Co-Authored-By: Aditya Kumar <hiraditya@msn.com>
From-SVN: r244225
2017-01-09 13:05:58 +00:00
Jonathan Wakely
3330ac383c
Add more tests for std::basic_string::find
...
* testsuite/21_strings/basic_string/operations/find/char/6.cc: New.
* testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New.
From-SVN: r244185
2017-01-06 21:22:40 +00:00
Jonathan Wakely
3907f9e59c
Add missing <cassert> include to testcase
...
* testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
Include <cassert> header.
From-SVN: r244176
2017-01-06 17:51:24 +00:00
Jonathan Wakely
ea4ad78e2c
Check for __cxa_thread_atexit for freebsd crosses
...
PR libstdc++/78968
* crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*.
* configure: Regenerate.
From-SVN: r244169
2017-01-06 17:06:24 +00:00
Barrett Adair
258ee761eb
Use fold expressions to reduce std::variant instantiation depth
...
2017-01-06 Barrett Adair <barrettellisadair@gmail.com>
Jonathan Wakely <jwakely@redhat.com>
* include/std/variant (variant, swap): Replace __and_ usage with fold
expressions.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r244163
2017-01-06 15:27:01 +00:00
Rainer Orth
1ec62aa9e1
Build libgo with -Wa,-nH if possible (PR go/78978) [non-libgo parts]
...
libstdc++-v3:
PR go/78978
* acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
* configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
GLIBCXX_CHECK_ASSEMBLER_HWCAP.
* fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
HWCAP_FLAGS.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in, doc/Makefile.in, include/Makefile.in,
libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
config:
PR go/78978
* hwcaps.m4 (GCC_CHECK_ASSEMBLER_HWCAP): New macro.
From-SVN: r244162
2017-01-06 14:33:47 +00:00
Jonathan Wakely
8b790281d5
Don't redefine _GLIBCXX_ASSERTIONS if already defined
...
* include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition.
From-SVN: r244151
2017-01-06 12:34:11 +00:00
Jonathan Wakely
6807f08628
PR78991 make __gnu_cxx::__ops constructors explicit
...
PR libstdc++/78991
* include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
(_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
(_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
move function objects.
(__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
(__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
* testsuite/25_algorithms/sort/78991.cc: New test.
From-SVN: r244150
2017-01-06 12:33:58 +00:00
Jonathan Wakely
295ce2e534
Remove unnecessary typedef from std::function
...
* include/bits/std_function.h (function::_Signature_type): Remove.
(function::function(_Functor)): Adjust.
From-SVN: r244107
2017-01-05 17:35:49 +00:00
Tim Shen
0f9cf7ff83
re PR libstdc++/78996 (<variant> uses macro as name)
...
2017-01-05 Tim Shen <timshen@google.com>
PR libstdc++/78996
* include/std/variant (__gen_vtable_impl): rename __unused to
__dimensions to avoid naming conflict.
From-SVN: r244092
2017-01-05 03:18:17 +00:00
Jonathan Wakely
2a792efe7f
PR78968 add configure check for __cxa_thread_atexit in libc
...
PR libstdc++/78968
* config.h.in: Regenerate.
* configure: Likewise.
* configure.ac: Check for __cxa_thread_atexit.
* libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]:
Don't define __cxa_thread_atexit if libc provides it.
From-SVN: r244057
2017-01-04 15:41:19 +00:00
Ville Voutilainen
1308676957
Implement 2801, Default-constructibility of unique_ptr.
...
* include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
(unique_ptr::_DeleterConstraint): Likewise.
(unique_ptr()): Constrain.
(unique_ptr(pointer)): Likewise.
(unique_ptr(nullptr_t)): Likewise.
(unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
(unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
(unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
(unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
* testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/default.cc: New.
* testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
From-SVN: r244054
2017-01-04 15:21:02 +02:00
Pauli Nieminen
ed3cb49703
Support exception propagation without lock-free atomic int
...
2017-01-04 Pauli Nieminen <suokkos@gmail.com>
Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/64735
* acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
* config.h.in: Regenerate.
* config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
(GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
exports for exception_ptr, nested_exception, and future conditional.
[HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
exports for exception_ptr, nested_exception, and future conditional.
* configure: Regenerate.
* configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
* include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
* libsupc++/eh_atomics.h: New file for internal use only.
(__eh_atomic_inc, __eh_atomic_dec): New.
* libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
(exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
(rethrow_exception): Use eh_atomics.h reference counting helpers.
* libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
* libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
* libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
* libsupc++/exception_ptr.h: Likewise.
* libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
* libsupc++/nested_exception.cc: Remove check for
ATOMIC_INT_LOCK_FREE.
* libsupc++/nested_exception.h: Likewise.
* src/c++11/future.cc: Likewise.
* testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
* testsuite/18_support/nested_exception/*: Likewise.
* testsuite/30_threads/async/*: Likewise.
* testsuite/30_threads/future/*: Likewise.
* testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
* testsuite/30_threads/packaged_task/*: Likewise.
* testsuite/30_threads/promise/*: Likewise.
* testsuite/30_threads/shared_future/*: Likewise.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r244051
2017-01-04 10:54:59 +00:00
Gerald Pfeifer
c671a0d674
documentation_hacking.xml: sourceforge.net now defaults to https; adjust reference.
...
* doc/xml/manual/documentation_hacking.xml: sourceforge.net now
defaults to https; adjust reference.
From-SVN: r244043
2017-01-04 02:33:08 +00:00
Jonathan Wakely
80efc5073d
Add deleted std::thread(const thread&&) constructor
...
PR libstdc++/78956
* include/std/thread (thread(const thread&&)): Add deleted
constructor.
* testsuite/30_threads/thread/cons/lwg2097.cc: New test.
From-SVN: r244022
2017-01-03 13:31:26 +00:00
Jonathan Wakely
f61581f7a0
Fix typos in libstdc++ docs and update copyright years
...
* doc/xml/manual/spine.xml: Update copyright years.
* doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir.
* doc/xml/manual/test.xml: Likewise.
* doc/html/*: Regenerate.
From-SVN: r244017
2017-01-03 11:16:31 +00:00
Gerald Pfeifer
337160b8ec
faq.xml: Update address of C++ ABI link.
...
* doc/xml/faq.xml: Update address of C++ ABI link.
* doc/xml/manual/abi.xml: Ditto.
From-SVN: r244001
2017-01-02 00:33:17 +00:00
Jakub Jelinek
cbe34bb5ed
Update copyright years.
...
From-SVN: r243994
2017-01-01 13:07:43 +01:00
Ville Voutilainen
2ae2d394c1
Implement LWG 2842, in_place_t check for optional::optional(U&&) should decay U.
...
Implement LWG 2842, in_place_t check for optional::optional(U&&)
should decay U.
* include/std/optional (_Optional_base(in_place_t, _Args&&...)):
Constrain.
(_Optional_base(in_place_t, initializer_list<_Up>, _Args&&...)):
Turn the int-pack constraint hack into a saner bool.
(_Optional_base<_Tp, false>::_Optional_base(in_place_t, _Args&&...)):
Constrain.
(_Optional_base<_Tp, false>::_Optional_base(in_place_t,
initializer_list<_Up>, _Args&&...)):
Turn the int-pack constraint hack into a saner bool.
(optional(_Up&&)): Constrain against in_place_t.
(optional(in_place_t, _Args&&...)): Constrain.
(constexpr optional(in_place_t, initializer_list<_Up>, _Args&&...)):
Turn the int-pack constraint hack into a saner bool.
* testsuite/20_util/optional/cons/value_neg.cc: Add a test for
a type that is constructible from in_place.
From-SVN: r243966
2016-12-29 21:19:59 +02:00
François Dumont
284a35df5d
random.tcc: Fix usage of _OutputIteratorConcept.
...
2016-12-24 François Dumont <fdumont@gcc.gnu.org>
* include/ext/random.tcc: Fix usage of _OutputIteratorConcept.
From-SVN: r243915
2016-12-24 14:13:58 +00:00
Jason Merrill
31bfc9b9dd
Implement P0522R0, matching of template template arguments.
...
gcc/c-family/
* c.opt (-fnew-ttp-matching): New flag.
* c-opts.c (c_common_post_options): Default on if -std=c++1z.
gcc/cp/
* pt.c (coerce_template_template_parms): Allow a template argument
that's less specialized than the parameter.
(unify_bound_ttp_args): Adjust parm's args to apply to arg's
template.
(coerce_template_args_for_ttp): Split out from
lookup_template_class_1.
(coerce_ttp_args_for_tta, store_defaulted_ttp)
(lookup_defaulted_ttp, add_defaults_to_ttp): New.
(process_partial_specialization): Set DECL_CONTEXT of
template template-parameters.
(coerce_template_parms): Only inform when complain.
(expand_template_argument_pack): Handle error_mark_node.
(convert_template_argument, template_args_equal, unify): Handle
any_targ_node.
* cp-tree.h (enum cp_tree_index): Add CPTI_ANY_TARG.
(any_targ_node): New.
* decl.c (cxx_init_decl_processing): Set it.
* name-lookup.c (consider_binding_level): Ignore names with embedded
spaces.
From-SVN: r243871
2016-12-21 14:39:04 -05:00
Jason Merrill
57a6add274
Fix handling of explicit function template arguments with TTPs.
...
gcc/cp/
* pt.c (coerce_template_parms): Consider variadic_args_p before
complaining about too many template arguments.
libstdc++-v3/
* testsuite/util/testsuite_tr1.h (test_property): Don't define both
variadic and non-variadic overloads.
From-SVN: r243869
2016-12-21 14:38:44 -05:00
Jonathan Wakely
e76d309851
PR 71444 define more error constants for mingw-w64
...
PR libstdc++/71444
* config/os/mingw32-w64/error_constants.h
(address_family_not_supported, address_in_use, address_not_available)
(already_connected, connection_aborted, connection_already_in_progress)
connection_refused, connection_reset, cross_device_link)
(destination_address_required, host_unreachable, message_size)
(network_down, network_reset, network_unreachable, no_buffer_space)
(no_protocol_option, not_a_socket, not_connected, operation_canceled)
(operation_in_progress, operation_not_supported, protocol_error)
(protocol_not_supported, too_many_links, too_many_symbolic_link_levels)
(value_too_large, wrong_protocol_type): Define.
(bad_message, identifier_removed, no_link, no_message_available)
(no_message, no_stream_resources, not_a_stream, owner_dead)
(state_not_recoverable, stream_timeout, text_file_busy): Define
conditionally.
* testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
Guard test for no_message with _GLIBCXX_HAVE_ENOMSG.
From-SVN: r243853
2016-12-21 13:09:13 +00:00
Ville Voutilainen
4b21c3ea03
Make the perfect-forwarding constructor of a two-element tuple sfinae away when the first argument is an allocator_arg.
...
Make the perfect-forwarding constructor of a two-element tuple
sfinae away when the first argument is an allocator_arg.
* include/std/tuple (tuple(_U1&&, _U2&&)): Constrain.
* testsuite/20_util/tuple/cons/allocator_with_any.cc: New.
* testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
From-SVN: r243795
2016-12-19 14:55:33 +02:00
Jonathan Wakely
f23e3d74a1
Reuse Doxygen comments for map::erase overloads
...
* include/bits/stl_map.h (map::erase(iterator)): Add Doxygen markup
to reuse documentation for erase(const_iterator) overload.
* include/bits/stl_multimap.h (multimap::erase(iterator)): Likewise.
From-SVN: r243758
2016-12-16 18:13:20 +00:00
Jonathan Wakely
36b8852641
Add assertion to _Rb_tree::erase to check for end iterators
...
* include/bits/stl_tree.h (_Rb_tree::_M_erase_aux(const_iterator)):
Add assertion for undefined argument.
(_Rb_tree::_M_erase_aux(const_iterator, const_iterator)): Call
_M_erase_aux directly instead of through erase.
(_Rb_tree::_M_erase_aux(const Key&)): Likewise.
* testsuite/23_containers/map/modifiers/erase/end_neg.cc: New test.
From-SVN: r243757
2016-12-16 18:13:09 +00:00
Ville Voutilainen
6254952346
Implement LWG 2769, Redundant const in the return type of any_cast(const any&).
...
Implement LWG 2769, Redundant const in the return type of
any_cast(const any&).
* include/std/any (_AnyCast): New.
(any_cast(const any&)): Use it and add an explicit cast for return.
(any_cast(any&)): Likewise.
(any_cast(any&&)): Likewise.
* testsuite/20_util/any/misc/any_cast.cc: Add a test for a type
that has an explicit copy constructor.
*testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
From-SVN: r243739
2016-12-16 13:34:45 +02:00
Jonathan Wakely
bdfc9f5c54
PR59170 make pretty printers check for singular iterators
...
PR libstdc++/59170
* python/libstdcxx/v6/printers.py (StdListIteratorPrinter.to_string)
(StdSlistIteratorPrinter.to_string, StdVectorIteratorPrinter.to_string)
(StdRbtreeIteratorPrinter.to_string)
(StdDequeIteratorPrinter.to_string): Add check for value-initialized
iterators.
* testsuite/libstdc++-prettyprinters/simple.cc: Test them.
* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
From-SVN: r243692
2016-12-15 14:13:36 +00:00
Jonathan Wakely
50a8a9413d
PR59161 make pretty printers always return strings
...
PR libstdc++/59161
* python/libstdcxx/v6/printers.py (StdListIteratorPrinter.to_string)
(StdSlistIteratorPrinter.to_string, StdVectorIteratorPrinter.to_string)
(StdRbtreeIteratorPrinter.to_string, StdDequeIteratorPrinter.to_string)
(StdDebugIteratorPrinter.to_string): Return string instead of
gdb.Value.
* testsuite/libstdc++-prettyprinters/59161.cc: New test.
From-SVN: r243690
2016-12-15 13:25:22 +00:00
Jonathan Wakely
7224c6a997
Tweak formatting and docs for pretty printers
...
* python/libstdcxx/v6/printers.py (UniquePointerPrinter.to_string):
Remove redundant parentheses.
(RbtreeIterator, StdRbtreeIteratorPrinter): Add docstrings.
(StdForwardListPrinter.to_string): Remove redundant parentheses.
(StdExpOptionalPrinter.to_string): Use string formatting instead of
concatenation.
(StdVariantPrinter.to_string, StdNodeHandlePrinter.to_string)
(TemplateTypePrinter): Adjust whitespace.
From-SVN: r243689
2016-12-15 12:45:47 +00:00
Jonathan Wakely
0376e86bfc
Add GDB XMethods for shared_ptr and unique_ptr<T[]>
...
* python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker.__init__): Use
correct element type for unique_ptr<T[]>.
(UniquePtrGetWorker._supports, UniquePtrDerefWorker._supports): New
functions to disable unsupported operators for unique_ptr<T[]>.
(UniquePtrSubscriptWorker): New worker for operator[].
(UniquePtrMethodsMatcher.__init__): Register UniquePtrSubscriptWorker.
(UniquePtrMethodsMatcher.match): Call _supports on the chosen worker.
(SharedPtrGetWorker, SharedPtrDerefWorker, SharedPtrSubscriptWorker)
(SharedPtrUseCountWorker, SharedPtrUniqueWorker): New workers.
(SharedPtrMethodsMatcher): New matcher for shared_ptr.
(register_libstdcxx_xmethods): Register SharedPtrMethodsMatcher.
* testsuite/libstdc++-xmethods/unique_ptr.cc: Test arrays.
* testsuite/libstdc++-xmethods/shared_ptr.cc: New test.
From-SVN: r243688
2016-12-15 12:45:42 +00:00
François Dumont
b958889311
stl_tree.h (_Rb_tree_impl(const _Key_compare&, const _Node_allocator&): Restore before C++11 mode.
...
2016-12-14 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_tree.h
(_Rb_tree_impl(const _Key_compare&, const _Node_allocator&): Restore
before C++11 mode.
From-SVN: r243670
2016-12-14 20:50:07 +00:00
Jonathan Wakely
d33c00e1ce
Make printers use singular noun for a single element
...
* python/libstdcxx/v6/printers.py (num_elements): New function.
(StdMapPrinter.to_string, StdSetPrinter.to_string)
(StdDequePrinter.to_string, Tr1UnorderedSetPrinter.to_string)
(Tr1UnorderedMapPrinter.to_string): Use num_elements.
* testsuite/libstdc++-prettyprinters/cxx11.cc: Adjust expected results
to use singular noun when there is only one element.
* testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
* testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
* testsuite/libstdc++-prettyprinters/tr1.cc: Likewise.
From-SVN: r243652
2016-12-14 16:07:29 +00:00
Jonathan Wakely
3c760f4a79
Make printers detect invalid debug mode iterators
...
PR libstdc++/59170
* python/libstdcxx/v6/printers.py (StdDebugIteratorPrinter): Use
_M_sequence and _M_version to detect invalid iterators.
* testsuite/libstdc++-prettyprinters/debug.cc: Test debug mode vector
and test invalid iterators.
* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: New test.
From-SVN: r243650
2016-12-14 15:17:57 +00:00
Kyrylo Tkachov
39c429372b
[libstdc++][testsuite] XFAIL tests relying on long double-to-string conversions on broken newlib
...
* lib/target-supports.exp
(check_effective_target_newlib_broken_long_double_io): New check.
(check_effective_target_frexpl): Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
XFAIL run if newlib_broken_long_double_io.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
Likewise.
From-SVN: r243558
2016-12-12 15:47:47 +00:00
Jonathan Wakely
1c43384234
Remove stray character at end of dg-do directive
...
* testsuite/experimental/filesystem/operations/is_empty.cc:
Remove stray character at end of dg-do directive.
From-SVN: r243555
2016-12-12 14:32:23 +00:00
Jonathan Wakely
8152d6eff6
Remove stray character at end of dg-do directive
...
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
Remove stray character at end of dg-do directive.
From-SVN: r243548
2016-12-12 12:44:46 +00:00
Jonathan Wakely
9b796223a3
Fix std::variant for gnu-versioned--namespace build
...
* include/std/variant: Remove misplaced
_GLIBCXX_BEGIN_NAMESPACE_VERSION macro.
From-SVN: r243489
2016-12-09 15:22:01 +00:00
David Edelsohn
410aa8982f
parallel_algorithm_assert2.cc: Move dg-do run first.
...
* testsuite/25_algorithms/headers/algorithm/
parallel_algorithm_assert2.cc: Move dg-do run first.
From-SVN: r243468
2016-12-08 17:35:24 -05:00
Eric Botcazou
0a7577bbac
re PR libstdc++/78264 (ICE in build_noexcept_spec, at cp/except.c:1196)
...
PR libstdc++/78264
* include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM): Turn _N into _NE.
(_GLIBCXX_NOEXCEPT_QUAL): Likewise.
From-SVN: r243443
2016-12-08 15:52:11 +00:00
Jonathan Wakely
fdb0b271e8
Fix filesystem test that fails in debug mode
...
* testsuite/experimental/filesystem/path/construct/range.cc: Don't
use basic_string::front() when string might be empty.
From-SVN: r243438
2016-12-08 13:25:09 +00:00
Jonathan Wakely
1d752b4fee
Delete std::swap for debug mode array
...
* include/debug/array (swap): Add deleted overload.
* include/bits/stl_pair.h (swap): Remove redundant inline keyword
from deleted overload.
* include/bits/unique_ptr.h (swap): Likewise.
* include/std/array (swap): Likewise.
* include/std/optional (swap): Likewise.
* include/std/tuple (swap): Likewise.
* include/std/variant (swap): Likewise.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
Adjust dg-error line numbers.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/
tuple_element_debug_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.
From-SVN: r243437
2016-12-08 13:25:03 +00:00
Jonathan Wakely
eae0b895e0
PR71856 try to fix Parallel Mode assertions again
...
PR libstdc++/71856
* doc/xml/manual/using.xml: Document macro.
* include/bits/c++config [_GLIBCXX_DEBUG || _GLIBCXX_PARALLEL]
(__glibcxx_assert): Rename to __glibcxx_assert_impl.
[_GLIBCXX_DEBUG] (__glibcxx_assert): Expand to __glibcxx_assert_impl.
* include/parallel/base.h [_GLIBCXX_PARALLEL_ASSERTIONS]
(_GLIBCXX_PARALLEL_ASSERT): Expand to __glibcxx_assert_impl.
[!_GLIBCXX_PARALLEL_ASSERTIONS] (_GLIBCXX_PARALLEL_ASSERT): Define as
empty.
* testsuite/25_algorithms/headers/algorithm/
parallel_algorithm_assert2.cc: New test.
From-SVN: r243434
2016-12-08 12:08:14 +00:00
Jakub Jelinek
1d09844a1c
P0003R5 - removal of dynamic exception specification from C++17
...
P0003R5 - removal of dynamic exception specification from C++17
* parser.c (cp_parser_exception_specification_opt): For C++17
error out on throw ( type-id-list ), for C++11 and C++14 issue
-Wdeprecated warning on it. Formatting fix. Treat throw()
in C++17 as noexcept(true).
* g++.dg/compat/eh/ctor1.h: Adjust for deprecation of
throw (type-id-list) in C++11 and C++14 and removal in C++17.
* g++.dg/compat/eh/ctor1_y.C: Likewise.
* g++.dg/compat/eh/new1_x.C: Likewise.
* g++.dg/compat/eh/new1_y.C: Likewise.
* g++.dg/compat/eh/spec3_x.C: Likewise.
* g++.dg/compat/eh/spec3_y.C: Likewise.
* g++.dg/compat/eh/template1.h: Likewise.
* g++.dg/compat/eh/template1_y.C: Likewise.
* g++.dg/compat/eh/unexpected1_x.C: Likewise.
* g++.dg/compat/eh/unexpected1_y.C: Likewise.
* g++.dg/cpp0x/auto9.C: Likewise.
* g++.dg/cpp0x/defaulted23.C: Likewise.
* g++.dg/cpp0x/error5.C: Likewise.
* g++.dg/cpp0x/lambda/lambda-eh2.C: Likewise.
* g++.dg/cpp0x/noexcept02.C: Likewise.
* g++.dg/cpp0x/noexcept07.C: Likewise.
* g++.dg/cpp0x/noexcept08.C: Likewise.
* g++.dg/cpp0x/noexcept19.C: Likewise.
* g++.dg/cpp0x/variadic73.C: Likewise.
* g++.dg/cpp0x/variadic-throw.C: Likewise.
* g++.dg/cpp1z/noexcept-type1.C: Likewise.
* g++.dg/eh/async-unwind2.C: Likewise.
* g++.dg/eh/cond4.C: Likewise.
* g++.dg/eh/delete1.C: Likewise.
* g++.dg/eh/ehopt1.C: Likewise.
* g++.dg/eh/forced3.C: Likewise.
* g++.dg/eh/forced4.C: Likewise.
* g++.dg/eh/init-temp2.C: Likewise.
* g++.dg/eh/pr38662.C: Likewise.
* g++.dg/eh/pr41819.C: Likewise.
* g++.dg/eh/shadow1.C: Likewise.
* g++.dg/eh/spec2.C: Likewise.
* g++.dg/eh/spec3.C: Likewise.
* g++.dg/eh/spec5.C: Likewise.
* g++.dg/eh/spec6.C: Likewise.
* g++.dg/eh/spec7.C: Likewise.
* g++.dg/eh/spec8.C: Likewise.
* g++.dg/eh/spec9.C: Likewise.
* g++.dg/eh/template1.C: Likewise.
* g++.dg/eh/unexpected1.C: Likewise.
* g++.dg/ext/has_nothrow_assign.C: Likewise.
* g++.dg/ext/has_nothrow_constructor.C: Likewise.
* g++.dg/ext/has_nothrow_copy-1.C: Likewise.
* g++.dg/ext/has_nothrow_copy-2.C: Likewise.
* g++.dg/ext/has_nothrow_copy-4.C: Likewise.
* g++.dg/ext/has_nothrow_copy-5.C: Likewise.
* g++.dg/ext/has_nothrow_copy-6.C: Likewise.
* g++.dg/ext/has_nothrow_copy-7.C: Likewise.
* g++.dg/gcov/gcov-7.C: Likewise.
* g++.dg/init/new13.C: Likewise.
* g++.dg/init/new25.C: Likewise.
* g++.dg/lookup/exception1.C: Likewise.
* g++.dg/opt/noreturn-1.C: Likewise.
* g++.dg/other/error3.C: Likewise.
* g++.dg/rtti/crash3.C: Likewise.
* g++.dg/template/eh2.C: Likewise.
* g++.dg/template/error36.C: Likewise.
* g++.dg/tm/pr46567.C: Likewise.
* g++.dg/tm/pr47340.C: Likewise.
* g++.dg/torture/pr46364.C: Likewise.
* g++.dg/torture/pr49394.C: Likewise.
* g++.dg/torture/pr52918-1.C: Likewise.
* g++.dg/torture/pr57190.C: Likewise.
* g++.dg/torture/stackalign/eh-alloca-1.C: Likewise.
* g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise.
* g++.dg/torture/stackalign/eh-global-1.C: Likewise.
* g++.dg/torture/stackalign/eh-inline-1.C: Likewise.
* g++.dg/torture/stackalign/eh-inline-2.C: Likewise.
* g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise.
* g++.dg/torture/stackalign/eh-vararg-1.C: Likewise.
* g++.dg/torture/stackalign/eh-vararg-2.C: Likewise.
* g++.dg/tree-ssa/pr45605.C: Likewise.
* g++.dg/warn/Wreturn-type-3.C: Likewise.
* g++.old-deja/g++.eh/badalloc1.C: Likewise.
* g++.old-deja/g++.eh/cleanup2.C: Likewise.
* g++.old-deja/g++.eh/spec1.C: Likewise.
* g++.old-deja/g++.eh/spec2.C: Likewise.
* g++.old-deja/g++.eh/spec3.C: Likewise.
* g++.old-deja/g++.eh/spec4.C: Likewise.
* g++.old-deja/g++.eh/spec6.C: Likewise.
* g++.old-deja/g++.eh/throw1.C: Likewise.
* g++.old-deja/g++.eh/throw2.C: Likewise.
* g++.old-deja/g++.eh/tmpl1.C: Likewise.
* g++.old-deja/g++.eh/tmpl3.C: Likewise.
* g++.old-deja/g++.mike/eh15.C: Likewise.
* g++.old-deja/g++.mike/eh25.C: Likewise.
* g++.old-deja/g++.mike/eh33.C: Likewise.
* g++.old-deja/g++.mike/eh34.C: Likewise.
* g++.old-deja/g++.mike/eh50.C: Likewise.
* g++.old-deja/g++.mike/eh51.C: Likewise.
* g++.old-deja/g++.mike/eh55.C: Likewise.
* g++.old-deja/g++.mike/p10416.C: Likewise.
* g++.old-deja/g++.other/crash28.C: Likewise.
* g++.old-deja/g++.other/crash30.C: Likewise.
* g++.old-deja/g++.other/new7.C: Likewise.
* g++.old-deja/g++.pt/ehspec1.C: Likewise.
* g++.old-deja/g++.robertl/eb123.C: Likewise.
* testsuite/util/testsuite_new_operators.h: Include testsuite_hooks.h.
(operator new): Use THROW macro.
From-SVN: r243429
2016-12-08 09:26:06 +01:00
François Dumont
352f824f09
2016-12-07 François Dumont <fdumont@gcc.gnu.org>
...
* include/bits/stl_tree.h
(_Rb_tree<>::_M_copy(_Const_Link_type, _Base_ptr)): Delete.
(_Rb_tree<>::_M_copy(const _Rb_tree&, _NodeGen&)): New.
(_Rb_tree<>::_M_copy(const _Rb_tree&)): New, use latter.
(_Rb_tree<>(const _Rb_tree&): Use latter.
(_Rb_tree<>(const _Rb_tree&, const allocator_type&)): Likewise.
(_Rb_tree<>::_M_move_data(_Rb_tree&, false_type)): Likewise.
(_Rb_tree<>::_M_move_assign(_Rb_tree&, false_type)): Likewise.
(_Rb_tree<>::operator=(const _Rb_tree&)): Likewise.
From-SVN: r243380
2016-12-07 21:16:24 +00:00
François Dumont
a4dec0d6de
stl_map.h (map(const map&)): Make default.
...
2016-12-07 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_map.h (map(const map&)): Make default.
(map(map&&)): Likewise.
(~map()): Likewise.
(operator=(const map&)): Likewise.
* include/bits/stl_multimap.h (multimap(const multimap&)): Make default.
(multimap(multimap&&)): Likewise.
(~multimap()): Likewise.
(operator=(const multimap&)): Likewise.
* include/bits/stl_set.h (set(const set&)): Make default.
(set(set&&)): Likewise.
(~set()): Likewise.
(operator=(const set&)): Likewise.
* include/bits/stl_multiset.h (multiset(const multiset&)): Make default.
(multiset(multiset&&)): Likewise.
(~multiset()): Likewise.
(operator=(const multiset&)): Likewise.
* include/bits/stl_tree.h (_Rb_tree_key_compare<>): New.
(_Rb_tree_header): New.
(_Rb_tree_impl): Inherit from latters.
(_Rb_tree_impl()): Make default.
(_Rb_tree_impl(const _Rb_tree_impl&)): New.
(_Rb_tree<>(const _Rb_tree&): Use latter.
(_Rb_tree_impl(_Rb_tree_impl&&)): New, default.
(_Rb_tree_impl(const _Key_compare&, const _Node_allocator&)): Delete.
(_Rb_tree_impl::_M_reset): Move...
(_Rb_tree_header::_M_reset): ...here.
(_Rb_tree_impl::_M_initialize): Delete.
(_Rb_tree(_Rb_tree&&)): Make default.
(_Rb_tree_header::_M_move_data(_Rb_tree_header&)): New.
(_Rb_tree<>::_M_move_data(_Rb_tree&, true_type)): Use latter.
(_Rb_tree<>(_Rb_tree&&)): Make default.
From-SVN: r243379
2016-12-07 21:12:49 +00:00
Jonathan Wakely
435f434288
Replace uses of C++14 remove_cv_t alias in C++11 header
...
* include/experimental/bits/fs_path.h (path::_S_convert): Replace
uses of C++14 std::remove_cv_t alias template.
From-SVN: r243355
2016-12-07 15:23:01 +00:00
Jonathan Wakely
d71f5aa799
Replace use of C++14 std::exchange in C++11 testcase
...
* testsuite/28_regex/traits/char/user_defined.cc: Replace uses of
C++14 std::exchange function.
From-SVN: r243354
2016-12-07 15:22:57 +00:00
Jonathan Wakely
1f153a1d2a
Replace dynamic exception specifications in testsuite
...
* testsuite/util/testsuite_hooks.h (THROW): Define.
* testsuite/util/replacement_memory_operators.h: Include
testsuite_hooks.h and use THROW macro.
* testsuite/util/testsuite_tr1.h: Likewise.
* testsuite/20_util/allocator/1.cc: Use THROW macro.
* testsuite/22_locale/locale/cons/12352.cc: Likewise.
* testsuite/23_containers/vector/zero_sized_allocations.cc: Likewise.
* testsuite/30_threads/lock_guard/cons/1.cc: Replace dynamic exception
specification with noexcept-specifier.
* testsuite/ext/pool_allocator/allocate_chunk.cc: Include
testsuite_hooks.h and use THROW macro.
* testsuite/ext/profile/replace_new.cc: Likewise.
From-SVN: r243353
2016-12-07 15:22:51 +00:00
Jonathan Wakely
ba454dfbbe
Use _GLIBCXX_THROW macro in bitmap_allocator
...
* include/ext/bitmap_allocator.h (bitmap_allocator::_S_refill_pool)
(bitmap_allocator::_M_allocate_single_object)
(bitmap_allocator::_M_get): Use _GLIBCXX_THROW macro.
From-SVN: r243352
2016-12-07 15:22:44 +00:00
Jonathan Wakely
101ee3cc73
Disable test using std::set_unexcepted for C++17
...
* testsuite/18_support/bad_exception/59392.cc: Disable for C++17.
From-SVN: r243351
2016-12-07 15:22:37 +00:00
Jonathan Wakely
63915a91ab
Improve tests for contents of <new> header
...
* testsuite/18_support/headers/new/synopsis.cc: Add C++14 and C++17
declarations.
* testsuite/18_support/headers/new/synopsis_cxx98.cc: New test.
From-SVN: r243349
2016-12-07 15:22:24 +00:00
Felipe Magno de Almeida
f68963c092
Add #ifdef case for 16 bits in cow-stdexcept.cc
...
Added #ifdef case for when void* is 16 bits so it compiles in AVR
target.
2016-12-06 Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
* src/c++11/cow-stdexcept.cc: Add special case for 16 bit pointers.
From-SVN: r243310
2016-12-06 17:58:10 +00:00
Felipe Magno de Almeida
6649ad7efd
Enable libstdc++ compilation on AVR targets
...
Enable libstdc++ compilation in AVR targets with AVR-Libc. Most
floating point math functions are already defined in AVR-Libc, so
defines are in place to avoid multiple definition of these functions.
2016-12-06 Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
* crossconfig.m4: Add avr target for cross-compilation.
* configure: Regenerate.
From-SVN: r243309
2016-12-06 17:58:05 +00:00
Jonathan Wakely
449a432129
Fix pretty-printer for std::variant
...
* python/libstdcxx/v6/printers.py (StdVariantPrinter): Update for new
data member name.
* testsuite/libstdc++-prettyprinters/cxx17.cc: Remove redundant test.
From-SVN: r243304
2016-12-06 14:36:07 +00:00
Jonathan Wakely
55037a694f
Fix debug mode assertion for std::shared_ptr<void>
...
* include/bits/shared_ptr_base.h
(__shared_ptr_access<T, L, false, true>::operator->()): Fix assertion.
From-SVN: r243303
2016-12-06 14:36:00 +00:00
Jonathan Wakely
505326670f
Fix libstdc++-v3/ChangeLog dates
...
From-SVN: r243299
2016-12-06 12:48:54 +00:00
Ville Voutilainen
1637d42545
Constrain optional's __constexpr_addressof in its return type and use a constexpr addressof for optional, if available.
...
Constrain optional's __constexpr_addressof in its return type
and use a constexpr addressof for optional, if available.
* include/experimental/optional (__constexpr_addressof):
Constrain in the return type instead of in a template parameter.
(_Has_addressof_mem)
(_Has_addressof_free, _Has_addressof, __constexpr_addressof):
Guard with #ifndef __cpp_lib_addressof_constexpr.
(operator->()): Use std::__addressof if it's constexpr.
From-SVN: r243298
2016-12-06 14:47:54 +02:00
Tim Shen
b01af236b7
variant (visit): Make visit constexpr.
...
* include/std/variant (visit): Make visit constexpr. Also cleanup
__get_alternative and __storage, since we don't support reference/void
alternatives any more.
* testsuite/20_util/variant/compile.cc: Add tests.
From-SVN: r243295
2016-12-06 11:28:09 +00:00
Tim Shen
458ef69052
enable_special_members.h: Make _Enable_default_constructor constexpr.
...
* include/bits/enable_special_members.h: Make
_Enable_default_constructor constexpr.
* include/std/variant (variant::emplace, variant::swap, std::swap,
std::hash): Sfinae on emplace and std::swap; handle __poison_hash bases
of duplicated types.
* testsuite/20_util/variant/compile.cc: Add tests.
* testsuite/20_util/variant/hash.cc: Add tests.
From-SVN: r243294
2016-12-06 11:26:48 +00:00
Tim Shen
9189f55908
variant (std::get, operator==): Implement constexpr comparison and get<>.
...
* include/std/variant (std::get, operator==): Implement constexpr
comparison and get<>.
* testsuite/20_util/variant/compile.cc: Tests.
From-SVN: r243293
2016-12-06 11:20:13 +00:00
Tim Shen
44f4688595
variant (__erased_use_alloc_ctor, [...]): Remove uses-allocator related functions.
...
* include/std/variant (__erased_use_alloc_ctor,
_Variant_base::_Variant_base, variant::variant): Remove uses-allocator
related functions.
* testsuite/20_util/variant/compile.cc: Remove related tests.
* testsuite/20_util/variant/run.cc: Remove related tests.
From-SVN: r243292
2016-12-06 11:17:56 +00:00
Aditya Kumar
b6f684ae25
Add missing noexcept on std::_Sp_locker constructors
...
2016-12-06 Aditya Kumar <hiraditya@msn.com>
* src/c++11/shared_ptr.cc (_Sp_locker::_Sp_locker(const void* p)): Add
noexcept on constructor.
(_Sp_locker::_Sp_locker(const void* p1, const void* p2)): Same.
From-SVN: r243291
2016-12-06 10:43:49 +00:00
Jonathan Wakely
39a0325104
Add noexcept to various basic_string string operations
...
* include/bits/basic_string.h (basic_string::find, basic_string::rfind)
(basic_string::find_first_of, basic_string::find_last_of)
(basic_string::find_first_not_of, basic_string::find_last_not_of):
Make all overloads noexcept.
(basic_string::compare(const _CharT*)): Make noexcept.
From-SVN: r243290
2016-12-06 10:43:42 +00:00
John David Anglin
f9b6b9291d
baseline_symbols.txt: Regenerate.
...
* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Regenerate.
From-SVN: r243220
2016-12-03 16:10:43 +00:00
David Edelsohn
0269650d4a
* testsuite/26_numerics/headers/cmath/hypot.cc: XFAIL on AIX.
...
From-SVN: r243127
2016-12-01 14:02:34 -05:00
Ville Voutilainen
a2863bde75
Implement LWG 2766,
...
Swapping non-swappable types and LWG 2749,
swappable traits for variants.
* include/bits/move.h (swap(_Tp&, _Tp&)): Constrain
with __is_tuple_like.
* include/bits/stl_pair.h (swap(pair<_T1, _T2>&, pair<_T1, _T2>&)):
Add a deleted overload.
* include/bits/unique_ptr.h
(swap(unique_ptr<_Tp, _Dp>&, unique_ptr<_Tp, _Dp>&)): Likewise.
* include/std/array
(swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&)): Likewise.
* include/std/optional
(swap(optional<_Tp>&, optional<_Tp>&)): Likewise.
* include/std/tuple (__is_tuple_like_impl, __is_tuple_like):
Move to type_traits.
(swap(tuple<_Elements...>&, tuple<_Elements...>&)): Add a deleted
overload.
* include/std/type_traits (__is_tuple_like_impl, __is_tuple_like):
New.
(swap(_Tp&, _Tp&)): Constrain with __is_tuple_like.
* include/std/utility (__is_tuple_like_impl): Move to type_traits.
* include/std/variant
(swap(variant<_Types...>&, variant<_Types...>&)):
Add a deleted overload.
* testsuite/20_util/optional/swap/2.cc: Add tests for disabled
swaps.
* testsuite/20_util/pair/swap_cxx17.cc: New.
* testsuite/20_util/tuple/swap_cxx17.cc: Likewise.
* testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc:
Likewise.
* testsuite/20_util/variant/compile.cc: Add tests for disabled
swaps.
* testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
New.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.
From-SVN: r243120
2016-12-01 18:23:21 +02:00
Ville Voutilainen
d9b2d86c74
The convertible_to traits need to use a variadic catch-all for the false-cases.
...
The convertible_to traits need to use a variadic catch-all for the
false-cases.
* include/std/istream (__is_convertible_to_basic_istream):
Change the parameter of the false-case of __check to a variadic.
* include/std/ostream (__is_convertible_to_basic_ostream):
Likewise.
From-SVN: r243098
2016-12-01 09:14:19 +02:00
Bernd Edlinger
77e6870d7f
crossconfig.m4 (*-linux*): Add link-check for memalign.
...
2016-12-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
* crossconfig.m4 (*-linux*): Add link-check for memalign.
* configure: Regenerated.
From-SVN: r243095
2016-12-01 06:06:04 +00:00
Tim Shen
974afa584b
re PR libstdc++/71500 (regex::icase only works on first character in a range)
...
PR libstdc++/71500
* include/bits/regex.h (basic_regex::basic_regex): Use ECMAScript
when the syntax is not specified.
* include/bits/regex_compiler.h (_RegexTranslator,
_RegexTranslatorBase): Partially support icase in ranges.
* include/bits/regex_compiler.tcc (_BracketMatcher::_M_apply):
Refactor _M_apply to make the control flow easier to follow, and
call _M_translator._M_match_range as added previously.
* testsuite/28_regex/traits/char/icase.cc: Add new tests.
* testsuite/28_regex/traits/char/user_defined.cc: Add new tests.
From-SVN: r243093
2016-12-01 03:03:55 +00:00
Ville Voutilainen
3ba9051e44
Fix testsuite failures caused by the patch implementing LWG 2534.
...
* include/std/istream (__is_convertible_to_basic_istream):
Change the return types of __check, introduce istream_type.
(operator>>(_Istream&&, _Tp&&)):
Use __is_convertible_to_basic_istream::istream_type as the return type.
* include/std/ostream (__is_convertible_to_basic_ostream):
Change the return types of __check, introduce ostream_type.
(operator>>(_Ostream&&, _Tp&&)):
Use __is_convertible_to_basic_ostream::ostream_type as the return type.
From-SVN: r243036
2016-11-30 18:32:24 +02:00
Tim Shen
88811a9753
Fix condition in shared_ptr assertion
...
2016-11-30 Tim Shen <timshen@google.com>
* include/bits/shared_ptr_base.h
(__shared_ptr_access<T, L, true, false>::operator*()): Fix assertion.
From-SVN: r243027
2016-11-30 14:46:15 +00:00
David Edelsohn
6d0e8a552f
50594.cc: XFAIL on AIX.
...
* testsuite/18_support/50594.cc: XFAIL on AIX.
* testsuite/ext/mt_allocator/check_new.cc: Same.
* testsuite/ext/pool_allocator/check_new.cc: Same.
* testsuite/27_io/ios_base/storage/11584.cc: Same.
From-SVN: r243023
2016-11-30 09:33:02 -05:00
Ville Voutilainen
a7da488130
Implement LWG 2534, Constrain rvalue stream operators.
...
* include/std/istream (__is_convertible_to_basic_istream): New.
(__is_extractable): Likewise.
(operator>>(basic_istream<_CharT, _Traits>&&, _Tp&&)):
Turn the stream parameter into a template parameter
and constrain.
* include/std/ostream (__is_convertible_to_basic_ostream): New.
(__is_insertable): Likewise.
(operator<<(basic_ostream<_CharT, _Traits>&&, const _Tp&)):
Turn the stream parameter into a template parameter
and constrain.
* testsuite/27_io/basic_istream/extractors_other/char/4.cc: New.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/6.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: Likewise.
From-SVN: r243006
2016-11-30 11:59:50 +02:00
Christophe Lyon
dfad822a61
[libstdc++, testsuite] Add dg-require-thread-fence
...
2016-11-30 Christophe Lyon <christophe.lyon@linaro.org>
* testsuite/experimental/type_erased_allocator/2.cc: Add
dg-require-thread-fence.
From-SVN: r243001
2016-11-30 09:49:01 +01:00
David Edelsohn
57e27acf28
re PR libstdc++/68838 (AIX 32 bit wchar_t testsuite failures)
...
PR libstdc++/68838
* testsuite/lib/libstdc++.exp (DEFAULT_CXXFLAGS): Add -Wl,-bmaxdata on AIX.
* testsuite/23_containers/vector/profile/vector.cc: Remove
dg-additional-options.
From-SVN: r242967
2016-11-29 12:50:27 -05:00
Tim Shen
3203ed5f01
re PR libstdc++/78441 ([variant] variant_alternative doesn't allow cv qualifiers)
...
PR libstdc++/78441
* include/std/variant: Propagate cv qualifications to types returned
by variant_alternative.
* testsuite/20_util/variant/compile.cc: Tests.
From-SVN: r242892
2016-11-27 00:32:04 +00:00
Jonathan Wakely
756316926e
Fix PR number in ChangeLog
...
From-SVN: r242765
2016-11-23 15:32:37 +00:00
Felix Morgner
f6cdfe8264
PR78494 add missing returns to propagate_const
...
2016-11-23 Felix Morgner <felix.morgner@gmail.com>
Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/78494
* include/experimental/propagate_const (propagate_const::operator=):
Add missing return statements.
* testsuite/experimental/propagate_const/assignment/move_neg.cc:
Adjust dg-error line numbers.
* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r242760
2016-11-23 14:45:29 +00:00
Uros Bizjak
b2b0acbe2b
Makefile.in ($(lang_checks_parallelized)): Fix detection of -j argument.
...
gcc/ChangeLog
* Makefile.in ($(lang_checks_parallelized)): Fix detection
of -j argument.
gcc/ada/ChangeLog
* gcc-interface/Make-lang.in (check-acats): Fix detection
of -j argument.
libstdc++-v3/ChangeLog
* testsuite/Makefile.am
(check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection
of -j argument.
* testsuite/Makefile.in: Regenereate.
From-SVN: r242705
2016-11-22 17:33:43 +01:00
Jonathan Wakely
dba814afda
PR78465 Remove runtime tests for <atomic> macros
...
PR libstdc++/78465
* testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests
with preprocessor conditions.
From-SVN: r242704
2016-11-22 16:31:19 +00:00
Rainer Orth
3115f94f7f
Don't define libstdc++-internal macros in Solaris 10+ <math.h>
...
libstdc++-v3:
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Update comments.
(__CORRECT_ISO_CPP11_MATH_H_PROTO): Rename to ...
(__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): ... this.
Add test for C++11 <math.h> integral overloads.
* configure: Regenerate.
* config.h.in: Regenerate.
* include/c_global/cmath [__cplusplus >= 201103L]: Reflect
__CORRECT_ISO_CPP11_MATH_H_PROTO to
__CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
* include/c_global/cmath [_GLIBCXX_USE_C99_MATH &&
!_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC && __cplusplus >= 201103L]
(std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO_INT.
(std::isfinite): Likewise.
(std::isinf): Likewise.
(std::isnan): Likewise.
(std::isnormal): Likewise.
(std::signbit): Likewise.
(std::isgreater): Likewise.
(std::isgreaterequal): Likewise.
(std::isless): Likewise.
(std::islessequal): Likewise.
(std::islessgreater): Likewise.
(std::isunordered): Likewise.
[__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]
(std::acosh): Likewise.
(std::asinh): Likewise.
(std::atanh): Likewise.
(std::cbrt): Likewise.
(std::copysign): Likewise.
(std::erf): Likewise.
(std::erfc): Likewise.
(std::exp2): Likewise.
(std::expm1): Likewise.
(std::fdim): Likewise.
(std::fma): Likewise.
(std::fmax): Likewise.
(std::fmin): Likewise.
(std::hypot): Likewise.
(std::ilogb): Likewise.
(std::lgamma): Likewise.
(std::llrint): Likewise.
(std::llround): Likewise.
(std::log1p): Likewise.
(std::log2): Likewise.
(std::logb): Likewise.
(std::lrint): Likewise.
(std::lround): Likewise.
(std::nearbyint): Likewise.
(std::nextafter): Likewise.
(std::nexttoward): Likewise.
(std::remainder): Likewise.
(std::remquo): Likewise.
(std::rint): Likewise.
(std::round): Likewise.
(std::scalbln): Likewise.
(std::scalbn): Likewise.
(std::tgamma): Likewise.
(std::trunc): Likewise.
* include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1 && __cplusplus >=
201103L]: Reflect __CORRECT_ISO_CPP11_MATH_H_PROTO to
__CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
fixincludes:
* inclhack.def (solaris_math_12): New fix.
(hpux11_fabsf): Replace bypass by *-hp-hpux11* mach selector.
* fixincl.x: Regenerate.
* tests/base/math.h [SOLARIS_MATH_12_CHECK]: New test.
From-SVN: r242671
2016-11-21 16:09:47 +00:00
Jonathan Wakely
27b3b3f4e6
PR 59406 note that FNV hash functions are incorrect
...
PR libstdc++/59406
* include/bits/functional_hash.h: Add comment noting difference from
FNV-1a.
* include/tr1/functional_hash.h: Likewise.
* libsupc++/hash_bytes.cc: Likewise.
From-SVN: r242454
2016-11-15 20:17:39 +00:00
Jonathan Wakely
3663671a13
Use existing helper for new std::string constructor
...
* include/bits/basic_string.h: Reuse _If_sv alias template for new
constructor.
From-SVN: r242453
2016-11-15 19:32:52 +00:00
Jonathan Wakely
6ae2ae3b84
Make std::tuple_size<cv T> SFINAE-friendly (LWG 2770)
...
* doc/xml/manual/intro.xml: Document LWG 2770 status. Remove entries
for 2742 and 2748.
* doc/html/*: Regenerate.
* include/std/utility (__tuple_size_cv_impl): New helper to safely
detect tuple_size<T>::value, as per LWG 2770.
(tuple_size<cv T>): Adjust partial specializations to derive from
__tuple_size_cv_impl.
* testsuite/20_util/tuple/cv_tuple_size.cc: Test SFINAE-friendliness.
From-SVN: r242452
2016-11-15 19:32:44 +00:00
Jonathan Wakely
6f959acccb
Adjust pretty printer test for variant<T&>
...
* testsuite/libstdc++-prettyprinters/cxx17.cc: Adjust test for
variant<T&>.
From-SVN: r242449
2016-11-15 19:29:07 +00:00
Tim Shen
7b277e8b46
variant: Remove variant<T&>...
...
* include/std/variant: Remove variant<T&>, variant<void>, variant<> support
to rebase on the post-Issaquah design.
* testsuite/20_util/variant/compile.cc: Likewise.
From-SVN: r242437
2016-11-15 17:26:59 +00:00
Matthias Klose
84c1b9d3d4
config-ml.in: Remove references to GCJ.
...
<toplevel>
2016-11-15 Matthias Klose <doko@ubuntu.com>
* config-ml.in: Remove references to GCJ.
* configure.ac: Likewise.
* configure: Regenerate.
config/
2016-11-15 Matthias Klose <doko@ubuntu.com>
multi.m4: Don't set GCJ.
gcc/
2016-11-15 Matthias Klose <doko@ubuntu.com>
* doc/install.texi: Remove references to gcj/libjava.
* doc/invoke.texi: Likewise.
*/ (where necessary)
2016-11-15 Matthias Klose <doko@ubuntu.com>
* configure: Regenerate.
From-SVN: r242433
2016-11-15 16:34:02 +00:00
Jonathan Wakely
c7cbb4dafb
Fix find&replace error in license boilerplate
...
* testsuite/19_diagnostics/error_code/is_error_code_v.cc: Fix license
text.
* testsuite/20_util/any/assign/emplace.cc: Likewise.
* testsuite/20_util/any/cons/in_place.cc: Likewise.
* testsuite/20_util/any/make_any.cc: Likewise.
* testsuite/20_util/any/requirements.cc: Likewise.
* testsuite/20_util/any/typedefs.cc: Likewise.
* testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
* testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
Likewise.
* testsuite/20_util/in_place/requirements.cc: Likewise.
* testsuite/20_util/optional/77288.cc: Likewise.
* testsuite/20_util/optional/assignment/1.cc: Likewise.
* testsuite/20_util/optional/assignment/2.cc: Likewise.
* testsuite/20_util/optional/assignment/3.cc: Likewise.
* testsuite/20_util/optional/assignment/4.cc: Likewise.
* testsuite/20_util/optional/assignment/5.cc: Likewise.
* testsuite/20_util/optional/assignment/6.cc: Likewise.
* testsuite/20_util/optional/assignment/7.cc: Likewise.
* testsuite/20_util/optional/cons/77727.cc: Likewise.
* testsuite/20_util/optional/cons/move.cc: Likewise.
* testsuite/20_util/optional/cons/value.cc: Likewise.
* testsuite/20_util/optional/cons/value_neg.cc: Likewise.
* testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
* testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
* testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
* testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
* testsuite/20_util/optional/hash.cc: Likewise.
* testsuite/20_util/optional/make_optional.cc: Likewise.
* testsuite/20_util/optional/observers/1.cc: Likewise.
* testsuite/20_util/optional/observers/2.cc: Likewise.
* testsuite/20_util/optional/observers/3.cc: Likewise.
* testsuite/20_util/optional/observers/4.cc: Likewise.
* testsuite/20_util/optional/observers/5.cc: Likewise.
* testsuite/20_util/optional/observers/6.cc: Likewise.
* testsuite/20_util/optional/relops/1.cc: Likewise.
* testsuite/20_util/optional/relops/2.cc: Likewise.
* testsuite/20_util/optional/relops/3.cc: Likewise.
* testsuite/20_util/optional/relops/4.cc: Likewise.
* testsuite/20_util/optional/relops/5.cc: Likewise.
* testsuite/20_util/optional/relops/6.cc: Likewise.
* testsuite/20_util/optional/requirements.cc: Likewise.
* testsuite/20_util/optional/swap/1.cc: Likewise.
* testsuite/20_util/optional/typedefs.cc: Likewise.
* testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
* testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
* testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
Likewise.
* testsuite/20_util/variable_templates_for_traits.cc: Likewise.
* testsuite/20_util/variant/hash.cc: Likewise.
* testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
* testsuite/experimental/any/typedefs.cc: Likewise.
* testsuite/experimental/array/make_array.cc: Likewise.
* testsuite/experimental/array/neg.cc: Likewise.
* testsuite/experimental/chrono/value.cc: Likewise.
* testsuite/experimental/deque/erasure.cc: Likewise.
* testsuite/experimental/forward_list/erasure.cc: Likewise.
* testsuite/experimental/list/erasure.cc: Likewise.
* testsuite/experimental/map/erasure.cc: Likewise.
* testsuite/experimental/memory/observer_ptr/assignment/assign.cc:
Likewise.
* testsuite/experimental/memory/observer_ptr/cons/cons.cc: Likewise.
* testsuite/experimental/memory/observer_ptr/hash/hash.cc: Likewise.
* testsuite/experimental/memory/observer_ptr/make_observer.cc:
Likewise.
* testsuite/experimental/memory/observer_ptr/relops/relops.cc:
Likewise.
* testsuite/experimental/memory/observer_ptr/requirements.cc: Likewise.
* testsuite/experimental/memory/observer_ptr/swap/swap.cc: Likewise.
* testsuite/experimental/memory/observer_ptr/typedefs.cc: Likewise.
* testsuite/experimental/optional/77288.cc: Likewise.
* testsuite/experimental/optional/assignment/1.cc: Likewise.
* testsuite/experimental/optional/assignment/2.cc: Likewise.
* testsuite/experimental/optional/assignment/3.cc: Likewise.
* testsuite/experimental/optional/assignment/4.cc: Likewise.
* testsuite/experimental/optional/assignment/5.cc: Likewise.
* testsuite/experimental/optional/assignment/6.cc: Likewise.
* testsuite/experimental/optional/cons/77727.cc: Likewise.
* testsuite/experimental/optional/cons/move.cc: Likewise.
* testsuite/experimental/optional/cons/value.cc: Likewise.
* testsuite/experimental/optional/cons/value_neg.cc: Likewise.
* testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
* testsuite/experimental/optional/constexpr/make_optional.cc: Likewise.
* testsuite/experimental/optional/constexpr/observers/1.cc: Likewise.
* testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
* testsuite/experimental/optional/constexpr/observers/3.cc: Likewise.
* testsuite/experimental/optional/constexpr/observers/4.cc: Likewise.
* testsuite/experimental/optional/constexpr/observers/5.cc: Likewise.
* testsuite/experimental/optional/constexpr/relops/1.cc: Likewise.
* testsuite/experimental/optional/constexpr/relops/2.cc: Likewise.
* testsuite/experimental/optional/constexpr/relops/3.cc: Likewise.
* testsuite/experimental/optional/constexpr/relops/4.cc: Likewise.
* testsuite/experimental/optional/constexpr/relops/5.cc: Likewise.
* testsuite/experimental/optional/constexpr/relops/6.cc: Likewise.
* testsuite/experimental/optional/make_optional.cc: Likewise.
* testsuite/experimental/optional/observers/1.cc: Likewise.
* testsuite/experimental/optional/observers/2.cc: Likewise.
* testsuite/experimental/optional/observers/3.cc: Likewise.
* testsuite/experimental/optional/observers/4.cc: Likewise.
* testsuite/experimental/optional/observers/5.cc: Likewise.
* testsuite/experimental/optional/relops/1.cc: Likewise.
* testsuite/experimental/optional/relops/2.cc: Likewise.
* testsuite/experimental/optional/relops/3.cc: Likewise.
* testsuite/experimental/optional/relops/4.cc: Likewise.
* testsuite/experimental/optional/relops/5.cc: Likewise.
* testsuite/experimental/optional/relops/6.cc: Likewise.
* testsuite/experimental/optional/requirements.cc: Likewise.
* testsuite/experimental/optional/swap/1.cc: Likewise.
* testsuite/experimental/optional/typedefs.cc: Likewise.
* testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
* testsuite/experimental/propagate_const/assignment/move_neg.cc:
Likewise.
* testsuite/experimental/propagate_const/cons/move.cc: Likewise.
* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
* testsuite/experimental/propagate_const/hash/1.cc: Likewise.
* testsuite/experimental/propagate_const/observers/1.cc: Likewise.
* testsuite/experimental/propagate_const/relops/1.cc: Likewise.
* testsuite/experimental/propagate_const/requirements1.cc: Likewise.
* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
* testsuite/experimental/propagate_const/swap/1.cc: Likewise.
* testsuite/experimental/propagate_const/typedefs.cc: Likewise.
* testsuite/experimental/random/randint.cc: Likewise.
* testsuite/experimental/ratio/value.cc: Likewise.
* testsuite/experimental/set/erasure.cc: Likewise.
* testsuite/experimental/string/erasure.cc: Likewise.
* testsuite/experimental/string_view/typedefs.cc: Likewise.
* testsuite/experimental/system_error/value.cc: Likewise.
* testsuite/experimental/tuple/tuple_size.cc: Likewise.
* testsuite/experimental/type_traits/value.cc: Likewise.
* testsuite/experimental/unordered_map/erasure.cc: Likewise.
* testsuite/experimental/unordered_set/erasure.cc: Likewise.
* testsuite/experimental/vector/erasure.cc: Likewise.
From-SVN: r242417
2016-11-15 14:33:41 +00:00
Jonathan Wakely
bf56b0b838
Add std::string constructor for substring of string_view (LWG 2742)
...
* doc/xml/manual/intro.xml: Document LWG 2742 status.
* doc/html/*: Regenerate.
* include/bits/basic_string.h
(basic_string(const T&, size_type, size_type, const Allocator&)): Add
constructor for substring of basic_string_view, as per LWG 2742 but
with additional constraint to fix ambiguity.
* testsuite/21_strings/basic_string/cons/char/9.cc: New test.
* testsuite/21_strings/basic_string/cons/wchar_t/9.cc: New test.
From-SVN: r242416
2016-11-15 14:33:20 +00:00
Jonathan Wakely
8b99f005cb
Constrain swap overload for std::optional (LWG 2748)
...
* doc/xml/manual/intro.xml: Document LWG 2748 status.
* include/std/optional (optional<T>::swap): Use is_nothrow_swappable_v
for exception specification.
(swap(optional<T>&, optional<T>&)): Disable when T is not swappable.
* testsuite/20_util/optional/swap/2.cc: New test.
From-SVN: r242415
2016-11-15 14:33:09 +00:00
Ville Voutilainen
6964bb3ed9
Implement P0513R0, Poisoning the Hash.
...
* include/bits/functional_hash.h (__poison_hash): New.
* include/bits/unique_ptr.h
(hash<unique_ptr<_Tp, _Dp>>): Derive from __poison_hash.
* include/std/optional (hash<optional<_Tp>>): Likewise.
* include/std/variant (hash<variant<_Types...>>): Likewise.
* testsuite/20_util/default_delete/48631_neg.cc: Adjust.
* testsuite/20_util/default_delete/void_neg.cc: Likewise.
* testsuite/20_util/optional/hash.cc: New.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
* testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Adjust.
* testsuite/20_util/unique_ptr/hash/1.cc: Add tests for
poisoned fancy pointer hashes.
* testsuite/20_util/variant/hash.cc: New.
From-SVN: r242402
2016-11-14 23:22:53 +02:00
Ville Voutilainen
627a2f5923
Implement P0504R0 (Revisiting in-place tag types for any/optional/variant).
...
Implement P0504R0 (Revisiting in-place tag types for
any/optional/variant).
* include/std/any (any(_ValueType&& __value)): Constrain
the __is_in_place_type with the decayed type.
(make_any): Adjust to use the new tag type.
* include/std/utility (in_place_tag): Remove.
(in_place_t): Turn into a non-reference tag type.
(__in_place, __in_place_type, __in_place_index): Remove.
(in_place): Turn into an inline variable of non-reference
tag type.
(in_place<_Tp>): Remove.
(in_place_index<_Idx>): Remove.
(in_place_type_t): New.
(in_place_type): Turn into a variable template of non-reference
type.
(in_place_index_t): New.
(in_place_index): Turn into a variable template of non-reference
type.
* include/std/variant
(_Variant_storage(in_place_index_t<_Np>, _Args&&...)): Adjust to
use the new tag type.
(_Union(in_place_index_t<0>, _Args&&...)): Likewise.
(_Union(in_place_index_t<_Np>, _Args&&...)): Likewise.
(_Variant_base()): Likewise.
(variant(_Tp&&)): Likewise.
(variant(in_place_type_t<_Tp>, _Args&&...)): Likewise.
(variant(in_place_type_t<_Tp>, initializer_list<_Up>,
_Args&&...)): Likewise.
(variant(in_place_index_t<_Np>, _Args&&...)): Likewise.
(variant(in_place_index_t<_Np>, initializer_list<_Up>,
_Args&&...)): Likewise
(variant(allocator_arg_t, const _Alloc&)): Likewise.
(variant(allocator_arg_t, const _Alloc&, _Tp&&)): Likewise.
(variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
_Args&&...)): Likewise.
(variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
initializer_list<_Up>, _Args&&...)): Likewise.
(variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
_Args&&...)): Likewise.
(variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
initializer_list<_Up>, _Args&&...)): Likewise.
(emplace(_Args&&...)): Likewise.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
* testsuite/20_util/any/cons/explicit.cc: Likewise.
* testsuite/20_util/any/cons/in_place.cc: Likewise.
* testsuite/20_util/any/requirements.cc: Add tests to
check that any is not constructible from the new in_place_type_t
of any value category.
* testsuite/20_util/in_place/requirements.cc: Adjust to
use the new tag type.
* testsuite/20_util/variant/compile.cc: Likewise.
* testsuite/20_util/variant/run.cc: Likewise.
From-SVN: r242401
2016-11-14 22:47:44 +02:00
Ville Voutilainen
ca9e949f2e
Use constexpr addressof in optional, SFINAE housekeeping for any, optional and tuple.
...
Use constexpr addressof in optional, SFINAE housekeeping
for any, optional and tuple.
* include/std/any (__do_emplace(_Args&&...)): New.
(__do_emplace(initializer_list<_Up>, _Args&&...)): Likewise.
(__any_constructible): Likewise.
(__any_constructible_t): Use __any_constructible.
(operator=(_ValueType&&)): SFINAE in the return type.
(emplace(_Args&&...)): Likewise.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
* include/std/optional (_Has_addressof_mem): Remove.
(_Has_addressof_free): Likewise.
(_Has_addressof): Likewise.
(__constexpr_addressof(_Tp&)): Likewise.
(operator->): Use std::__addressof.
* include/std/tuple (operator=(const tuple<_UElements...>&)):
SFINAE in return type.
(operator=(tuple<_UElements...>&&)): Likewise.
* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
From-SVN: r242390
2016-11-14 17:30:37 +02:00
Jonathan Wakely
3ce968519a
Delete addressof for temporaries (LWG 2598)
...
* include/bits/move.h (addressof(const _Tp&&)): Add deleted overload,
as per LWG 2598.
From-SVN: r242375
2016-11-14 03:44:56 +00:00
Jonathan Wakely
9c52cc0189
Make std::future::share() noexcept (LWG 2556)
...
* include/std/future (future::share(), future<R&>::share())
(future<void>::share()): Add noexcept, as per LWG 2556.
From-SVN: r242374
2016-11-14 03:44:53 +00:00
Jonathan Wakely
881ca4c9de
PR78326 fix incorrect access of data member in base class
...
PR libstdc++/78326
* include/experimental/memory_resource (memory_resource::_S_max_align):
Change access to protected.
From-SVN: r242373
2016-11-14 02:00:26 +00:00
Jonathan Wakely
b2343559f2
Add array support to std::shared_ptr for C++17
...
* doc/xml/manual/status_cxx2017.xml: Update status.
* doc/html/manual/status.html: Regenerate.
* include/bits/shared_ptr.h (shared_ptr(unique_ptr<_Yp, _Del>)): Add
extension constructor to maintain C++14 behaviour.
* include/bits/shared_ptr_base.h (__sp_array_delete): Add new struct.
(__shared_count(_Ptr, false_type), __shared_count(_Ptr, true_type)):
New constructors.
(__sp_compatible_with, __sp_is_constructible): Add specializations
for array support.
(__sp_is_constructible_arr, __sp_is_constructible_arrN): New helpers.
(__shared_ptr_access): New base class for observer member functions.
(__shared_ptr::element_type): Use remove_extent.
(__shared_ptr::_UniqCompatible): Add __sp_compatible_with check.
(__shared_ptr(_Yp*)): Use tag dispatching to call new __shared_count
constructor.
(__shared_ptr(unique_ptr<_Yp, _Del>)): Add extension constructor.
(__shared_ptr::operator*, __shared_ptr::operator->): Remove and
inherit from __shared_ptr_access base class.
(__shared_ptr::__has_esft_base): Return false for array types.
(__weak_ptr::element_type): Use remove_extent.
* include/experimental/bits/shared_ptr.h (__libfund_v1): Remove.
(__shared_ptr<__libfund_v1<_Tp>>): Remove specializations.
(__wak_ptr<__libfund_v1<_Tp>>): Likewise.
(experimental::__sp_compatible_v): Redefine using
__sp_compatible_with.
(experimental::__sp_is_constructible_v): Redefine using
__sp_is_constructible.
(get_deleter, operator<<): Change argument from __shared_ptr to
shared_ptr.
* testsuite/20_util/shared_ptr/cons/array.cc: New test.
* testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Adjust for
new behaviour.
* testsuite/20_util/shared_ptr/observers/array.cc: Test observers for
arrays.
* testsuite/20_util/shared_ptr/observers/array_neg.cc: New test.
From-SVN: r242369
2016-11-13 22:57:45 +00:00
Ville Voutilainen
1701800580
Implement P0403R1, Literal suffixes for basic_string_view.
...
* include/std/string_view
(operator""sv(const char*, size_t)): New.
(operator""sv(const wchar_t*, size_t)): Likewise.
(operator""sv(const char16_t*, size_t)): Likewise.
(operator""sv(const char32_t*, size_t)): Likewise.
* testsuite/21_strings/basic_string_view/literals/types.cc: New.
* testsuite/21_strings/basic_string_view/literals/values.cc: Likewise.
* testsuite/experimental/string_view/literals/values.cc: Add
tests for literals with embedded NULs.
From-SVN: r242367
2016-11-13 22:54:27 +02:00
Jonathan Wakely
5485c81829
* src/filesystem/ops.cc (is_empty): Fix typo in exception message.
...
From-SVN: r242341
2016-11-12 20:28:55 +00:00
Jonathan Wakely
13908b4404
* include/std/future (future_error): Fix public typo to private.
...
From-SVN: r242340
2016-11-12 20:28:50 +00:00
Jonathan Wakely
330cc73d98
Add std::future_error constructor from future_errc
...
* include/std/future (future_error): Make existing constructor
private and add constructor from future_errc.
From-SVN: r242334
2016-11-12 03:40:24 +00:00
Jonathan Wakely
0f88f1f2ab
Use shared_ptr<T>::element_type in hash specializations
...
* include/bits/shared_ptr.h (hash<shared_ptr<T>>): Use element_type.
* include/bits/shared_ptr_base.h (hash<__shared_ptr<T, L>>): Likewise.
From-SVN: r242333
2016-11-12 03:24:34 +00:00
François Dumont
28d1bf4464
debug.cc (format_word): Delete.
...
2016-11-10 François Dumont <fdumont@gcc.gnu.org>
* src/c++11/debug.cc (format_word): Delete.
(print_literal): New. Replace call to print_word for literals.
From-SVN: r242055
2016-11-10 21:29:43 +00:00
Tim Shen
7ce69e5a71
regex.h (regex_iterator::regex_iterator()): Define end() as _M_pregex == nullptr.
...
* libstdc++-v3/include/bits/regex.h (regex_iterator::regex_iterator()):
Define end() as _M_pregex == nullptr.
* libstdc++-v3/include/bits/regex.tcc (regex_iterator::operator==(),
regex_iterator::operator++()): Fix operator==() and operator++() to
look at null-ness of _M_pregex on both sides.
* testsuite/28_regex/regression.cc: New testcase.
From-SVN: r242025
2016-11-09 22:11:32 +00:00
Jason Merrill
51dc660315
Implement P0012R1, Make exception specifications part of the type system.
...
gcc/cp/
* cp-tree.h (enum tsubst_flags): Add tf_fndecl_type.
(flag_noexcept_type, ce_type): New.
* call.c (build_conv): Add ck_fnptr.
(enum conversion_kind): Change ck_tsafe to ck_fnptr.
(convert_like_real): Likewise.
(standard_conversion): Likewise. Allow function pointer
conversions for pointers to member functions.
(reference_compatible_p): Allow function pointer conversions.
(direct_reference_binding): Likewise.
(reference_binding): Reference-compatible is no longer a subset of
reference-related.
(is_subseq): Also strip ck_lvalue after next_conversion.
* class.c (instantiate_type): Check fnptr_conv_p.
(resolve_address_of_overloaded_function): Likewise.
* cvt.c (can_convert_tx_safety): Now static.
(noexcept_conv_p, fnptr_conv_p, strip_fnptr_conv): New.
* decl.c (flag_noexcept_type): Define.
(cxx_init_decl_processing): Set it.
(bad_specifiers): Check it.
(grokdeclarator) [cdk_function]: Add exception-spec to type here.
* lambda.c (maybe_add_lambda_conv_op): Add exception-spec to
returned pointer.
* mangle.c (struct globals): Add need_cxx1z_warning.
(mangle_decl): Check it.
(write_exception_spec): New.
(write_function_type): Call it.
(canonicalize_for_substitution): Handle exception spec.
(write_type): Likewise.
(write_encoding): Set processing_template_decl across mangling of
partially-instantiated type.
* pt.c (determine_specialization): Pass tf_fndecl_type.
(tsubst_decl, fn_type_unification): Likewise.
(tsubst): Strip tf_fndecl_type, pass it to
tsubst_exception_specification.
(convert_nontype_argument_function): Handle function pointer
conversion.
(convert_nontype_argument): Likewise.
(unify, for_each_template_parm_r): Walk into noexcept-specifier.
* rtti.c (ptr_initializer): Encode noexcept.
* tree.c (canonical_eh_spec): New.
(build_exception_variant): Use it.
* typeck.c (composite_pointer_type): Handle fnptr conversion.
(comp_except_specs): Compare canonical EH specs.
(structural_comptypes): Call it.
gcc/c-family/
* c.opt (Wc++1z-compat): New.
* c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
libstdc++-v3/
* include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM)
(_GLIBCXX_NOEXCEPT_QUAL): New.
* include/std/type_traits (is_function): Use them.
* libsubc++/new (launder): Likewise.
* libsupc++/cxxabi.h (__pbase_type_info::__masks): Add
__noexcept_mask.
* libsupc++/pbase_type_info.cc (__do_catch): Handle function
pointer conversion.
libiberty/
* cp-demangle.c (is_fnqual_component_type): New.
(d_encoding, d_print_comp_inner, d_print_mod_list): Use it.
(FNQUAL_COMPONENT_CASE): New.
(d_make_comp, has_return_type, d_print_comp_inner)
(d_print_function_type): Use it.
(next_is_type_qual): New.
(d_cv_qualifiers, d_print_mod): Handle noexcept and throw-spec.
include/
* demangle.h (enum demangle_component_type): Add
DEMANGLE_COMPONENT_NOEXCEPT, DEMANGLE_COMPONENT_THROW_SPEC.
From-SVN: r241944
2016-11-07 18:09:29 -05:00
François Dumont
76d3fd72f1
gnu-versioned-namespace.ver: Export C++17 new of over-aligned types symbols.
...
2016-11-07 François Dumont <fdumont@gcc.gnu.org>
* config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of
over-aligned types symbols.
From-SVN: r241936
2016-11-07 21:12:36 +00:00
Jonathan Wakely
f0414b973f
Make filesystem::path work with basic_string_view (P0392R0)
...
* include/experimental/bits/fs_path.h (__is_path_src)
(_S_range_begin, _S_range_end): Overload to treat string_view as a
Source object.
(path::operator+=, path::compare): Overload for basic_string_view.
* testsuite/experimental/filesystem/path/construct/string_view.cc:
New test.
* testsuite/experimental/filesystem/path/construct/
string_view_cxx17.cc: New test.
From-SVN: r241658
2016-10-28 19:48:43 +01:00
Jonathan Wakely
fcfceb1afb
Fix filesystem::path for iterators with const value_type
...
* include/experimental/bits/fs_path.h
(path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from
iterator's value_type.
(path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise.
Do not use operation not supported by input iterators.
(path::__is_path_iter_src): Add partial specialization for const
encoded character types.
* testsuite/experimental/filesystem/path/construct/range.cc: Test
construction from input iterators with const value types.
From-SVN: r241654
2016-10-28 18:47:57 +01:00
Jonathan Wakely
1f5700e952
Implement std::launder for C++17
...
* doc/xml/manual/status_cxx2017.xml: Update status.
* doc/html/*: Regenerate.
* include/std/type_traits (has_unique_object_representations): Guard
with __has_builtin check.
* libsupc++/new (launder): Define for C++17.
* testsuite/18_support/launder/1.cc: New test.
* testsuite/18_support/launder/requirements.cc: New test.
* testsuite/18_support/launder/requirements_neg.cc: New test.
From-SVN: r241648
2016-10-28 15:09:33 +01:00
Uros Bizjak
47ffb5d95e
PR70975 Pass valid offset argument to sendfile
...
PR libstdc++/70975
* src/filesystem/ops.cc (do_copy_file) [_GLIBCXX_USE_SENDFILE]:
Pass non-null pointer to sendfile for offset argument.
From-SVN: r241629
2016-10-27 20:55:55 +02:00
Jonathan Wakely
e63d7e71a1
Fix target selectors in uniform_inside_sphere_distribution tests
...
* testsuite/ext/random/uniform_inside_sphere_distribution/cons/
default.cc: Fix effective target selector.
* testsuite/ext/random/uniform_inside_sphere_distribution/cons/
parms.cc: Likewise.
* testsuite/ext/random/uniform_inside_sphere_distribution/operators/
equal.cc: Likewise.
* testsuite/ext/random/uniform_inside_sphere_distribution/operators/
generate.cc: Likewise.
* testsuite/ext/random/uniform_inside_sphere_distribution/operators/
inequal.cc: Likewise.
* testsuite/ext/random/uniform_inside_sphere_distribution/operators/
serialize.cc: Likewise.
From-SVN: r241621
2016-10-27 14:55:36 +01:00
Jonathan Wakely
69af1c04e0
Adjust precision of filesystem::last_write_time tests
...
* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
Use end() function to get end iterator.
* testsuite/experimental/filesystem/iterators/pop.cc: Remove printf
statements that were present for debugging.
* testsuite/experimental/filesystem/iterators/
recursive_directory_iterator.cc: Use end() function to get end
iterator.
* testsuite/experimental/filesystem/operations/last_write_time.cc:
Only require file timestamps to be accurate to one second.
From-SVN: r241616
2016-10-27 12:01:49 +01:00
François Dumont
d72c3f0a36
stl_map.h (map()): Make default.
...
2016-10-26 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_map.h (map()): Make default.
* include/bits/stl_multimap.h (multimap()): Likewise.
* include/bits/stl_multiset.h (multiset()): Likewise.
* include/bits/stl_set.h (set()): Likewise.
* include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept.
(_Rb_tree()): Make default.
From-SVN: r241601
2016-10-26 20:52:21 +00:00
Bernd Edlinger
a0019047b8
re PR libstdc++/78110 (freestanding libstdc++ fails to compile)
...
2016-10-26 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR libstdc++/78110
* libsupc++/new_opa.cc: Don't include <malloc.h> in a free standing
environment. Declare memalign directly in that case.
From-SVN: r241591
2016-10-26 17:26:00 +00:00
Jonathan Wakely
790207d645
Fix test for recursive_directory_iterator::pop
...
* testsuite/experimental/filesystem/iterators/pop.cc: Remove
unreliable dependency on directory order.
From-SVN: r241583
2016-10-26 17:25:44 +01:00
Edward Smith-Rowland
10da5b7cbc
Implement uniform_inside_sphere_distribution extension.
...
2016-10-26 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement uniform_inside_sphere_distribution extension.
* include/ext/random: Implement uniform_inside_sphere_distribution.
* include/ext/random.tcc: Ditto.
* testsuite/ext/random/uniform_inside_sphere_distribution/
cons/default.cc: New.
* testsuite/ext/random/uniform_inside_sphere_distribution/
cons/parms.cc: New.
* testsuite/ext/random/uniform_inside_sphere_distribution/
operators/equal.cc: New.
* testsuite/ext/random/uniform_inside_sphere_distribution/
operators/generate.cc: New.
* testsuite/ext/random/uniform_inside_sphere_distribution/
operators/inequal.cc: New.
* testsuite/ext/random/uniform_inside_sphere_distribution/
operators/serialize.cc: New.
From-SVN: r241562
2016-10-26 15:34:18 +00:00
Jonathan Wakely
ec0b1056a7
Add recursive_directory_iterator::pop(error_code&)
...
* include/experimental/bits/fs_dir.h (recursive_directory_iterator):
Overload pop (LWG 2706).
* src/filesystem/dir.cc (recursive_directory_iterator::pop): Define
new overload.
* testsuite/experimental/filesystem/iterators/pop.cc: New test.
From-SVN: r241559
2016-10-26 16:20:04 +01:00
Jonathan Wakely
b4e7e6bf22
Fix error handling in recursive_directory_iterator::increment
...
* src/filesystem/dir.cc (recursive_directory_iterator::increment):
Reset state on error.
* testsuite/experimental/filesystem/iterators/
recursive_directory_iterator.cc: Check state after increment error.
From-SVN: r241552
2016-10-26 14:34:34 +01:00
Jonathan Wakely
9dbe100a41
PR78111 fix fallback code for filesystem::canonical
...
PR libstdc++/78111
* src/filesystem/ops.cc (canonical): Set error for non-existent path.
From-SVN: r241549
2016-10-26 12:29:36 +01:00
Uros Bizjak
d955ae42cc
Add missing header in Filesystem TS configure tests
...
2016-10-26 Uros Bizjak <ubizjak@gmail.com>
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
for PATH_MAX in realpath test.
* configure: Regenerate.
From-SVN: r241548
2016-10-26 12:29:31 +01:00
Jonathan Wakely
7195dfe9b6
Handle negative times in filesystem::last_write_time
...
* src/filesystem/ops.cc
(last_write_time(const path&, file_time_type, error_code&)): Handle
negative times correctly.
* testsuite/experimental/filesystem/operations/last_write_time.cc:
Test writing file times.
From-SVN: r241522
2016-10-25 16:32:52 +01:00
Jonathan Wakely
ec04aad76d
Fix error handling in copy_file and equivalent
...
* src/filesystem/ops.cc (do_copy_file): Report an error if source or
destination is not a regular file (LWG 2712).
(equivalent): Fix error handling and result when only one file exists.
* testsuite/experimental/filesystem/operations/copy.cc: Remove files
created by tests. Test copying directories.
* testsuite/experimental/filesystem/operations/copy_file.cc: Remove
files created by tests.
* testsuite/experimental/filesystem/operations/equivalent.cc: New.
* testsuite/experimental/filesystem/operations/is_empty.cc: New.
* testsuite/experimental/filesystem/operations/read_symlink.cc: Remove
file created by test.
* testsuite/experimental/filesystem/operations/remove_all.cc: New.
* testsuite/util/testsuite_fs.h (~scoped_file): Only try to remove
file if path is non-empty, to support removal by other means.
From-SVN: r241521
2016-10-25 16:32:37 +01:00
Jonathan Wakely
94caf86019
Fix error handling in filesystem::is_empty
...
* src/filesystem/ops.cc (is_empty): Fix error handling.
* testsuite/experimental/filesystem/operations/is_empty.cc: New test.
From-SVN: r241488
2016-10-24 17:45:55 +01:00
Jonathan Wakely
6daff2d946
PR71337 fix filesystem::temp_directory_path error handling
...
PR libstdc++/71337
* src/filesystem/ops.cc (temp_directory_path): Pass error_code
argument to other filesystem operations.
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
Add testcase for inaccessible directory.
From-SVN: r241487
2016-10-24 17:45:51 +01:00
Jonathan Wakely
bb52a7e324
Make directory iterators become end iterator on error
...
* src/filesystem/dir.cc (open_dir): Return same value for errors
whether ignored or not.
(_Dir::advance(error_code*, directory_options)): Return false on
error.
(directory_iterator(const path&, directory_options, error_code*)):
Create end iterator on error (LWG 2723).
(recursive_directory_iterator(const path&, directory_options,
error_code*)): Likewise.
* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
Update expected behaviour on error.
* testsuite/experimental/filesystem/iterators/
recursive_directory_iterator.cc: Likewise.
From-SVN: r241486
2016-10-24 17:45:45 +01:00
Jonathan Wakely
cfef9c1ea7
Do not retry failed close(3) in filesystem::copy
...
* src/filesystem/ops.cc (close_fd): Remove.
(do_copy_file): Just use close(3) instead of close_fd, to prevent
retrying on error.
From-SVN: r241485
2016-10-24 17:45:40 +01:00
Jonathan Wakely
b3dec9e57e
Implement DR resolutions for filesystem::copy
...
* src/filesystem/ops.cc (do_copy_file): Return an error if either
source or destination is not a regular file.
(copy): Update comment to refer to LWG 2681. Implement 2682 and 2683
resolutions.
(read_symlink): Add missing ec.clear().
* testsuite/experimental/filesystem/operations/copy.cc: Update
expected behaviour for copying directories with create_symlinks.
Verify that error_code arguments are cleared if there's no error.
* testsuite/experimental/filesystem/operations/read_symlink.cc: New.
From-SVN: r241484
2016-10-24 17:45:31 +01:00
Ville Voutilainen
a3f6007cbc
Cross-port exception-safety and move fixes of std::any to std::experimental::any.
...
Cross-port exception-safety and move fixes of std::any to
std::experimental::any.
* include/experimental/any (operator=(const any&)):
Make strongly exception-safe.
(operator=(any&&)): clear() unconditionally in the case where
rhs has a value.
(_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
* testsuite/experimental/any/assign/2.cc: Adjust.
* testsuite/experimental/any/assign/exception.cc: New.
* testsuite/experimental/any/cons/2.cc: Adjust.
* testsuite/experimental/any/misc/any_cast_neg.cc: Ajust.
From-SVN: r241479
2016-10-24 16:22:11 +03:00
Ville Voutilainen
f11cc05023
Cross-port the latest resolution of LWG2756 and some bug-fixes to experimental::optional.
...
Cross-port the latest resolution of LWG2756 and some
bug-fixes to experimental::optional.
PR libstdc++/77288
PR libstdc++/77727
* include/experimental/optional (_Optional_base):
Remove constructors that take a _Tp.
(__is_optional_impl, __is_optional): Remove.
(__converts_from_optional): New.
(optional(_Up&&)): Fix constraints, call base with in_place.
(optional(const optional<_Up>&)): Fix constraints, use emplace.
(optional(optional<_Up>&&)): Likewise.
(operator=(_Up&&)): Fix constraints.
(operator=(const optional<_Up>&)): Likewise.
(operator=(optional<_Up>&&)): Likewise.
(emplace(_Args&&...)): Constrain.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
* testsuite/experimental/optional/77288.cc: New.
* testsuite/experimental/optional/assignment/5.cc: Adjust.
* testsuite/experimental/optional/cons/77727.cc: New.
* testsuite/experimental/optional/cons/value.cc: Adjust.
From-SVN: r241476
2016-10-24 15:46:44 +03:00
Jonathan Wakely
405def8d46
Make vector::data() return type consistent in C++98
...
* include/bits/stl_vector.h (vector::_M_data_ptr, vector::data):
Change return type of non-standard C++98 extension to match C++11.
From-SVN: r241475
2016-10-24 13:25:28 +01:00
François Dumont
35518d76b9
2016-10-22 François Dumont <fdumont@gcc.gnu.org>
...
* include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_ALGO)
(_GLIBCXX_END_NAMESPACE_ALGO): Default to respectively
_GLIBCXX_BEGIN_NAMESPACE_VERSION and _GLIBCXX_END_NAMESPACE_VERSION.
(_GLIBCXX_BEGIN_NAMESPACE_CONTAINER, _GLIBCXX_END_NAMESPACE_CONTAINER):
Likewise.
From-SVN: r241445
2016-10-23 10:26:59 +00:00
Jonathan Wakely
4e04812da2
Ignore perms::symlink_nofollow on non-symlinks
...
* src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
Ignore symlink_nofollow flag if file is not a symlink.
* testsuite/experimental/filesystem/operations/permissions.cc: Test
symlink_nofollow on non-symlinks.
From-SVN: r241438
2016-10-22 12:42:16 +01:00
Jonathan Wakely
d17f7088fb
LWG2720 implement filesystem::perms::symlink_nofollow
...
* include/experimental/bits/fs_fwd.h (perms::resolve_symlinks):
Replace with symlink_nofollow (LWG 2720).
* src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
Handle symlink_nofollow.
* testsuite/experimental/filesystem/operations/create_symlink.cc: New
test.
* testsuite/experimental/filesystem/operations/permissions.cc: Test
overload taking error_code.
From-SVN: r241418
2016-10-21 18:01:05 +01:00
Jonathan Wakely
2be9212713
LWG2725 Fix error reporting for filesystem::exists
...
* include/experimental/bits/fs_ops.h
(exists(const path&, error_code&)): Clear error if status is known
(LWG 2725).
(status(const path&, error_code&)): Handle EOVERFLOW.
* testsuite/experimental/filesystem/operations/exists.cc: Test
overload taking an error_code.
From-SVN: r241417
2016-10-21 18:00:59 +01:00
Jonathan Wakely
e59e183f69
LWG2707 init filesystem::path from string_type&&
...
* include/experimental/bits/fs_path.h (path::path(string_type&&))
(path::operator=(string&&), path::assign(string_type&&)): Define
construction and assignment from string_type rvalues (LWG 2707).
From-SVN: r241416
2016-10-21 18:00:53 +01:00
Eelis van der Weegen
9d8ff2f63b
Optimize RNG use in std::sample selection sampling
...
2016-10-21 Eelis van der Weegen <eelis@eelis.net>
* include/bits/stl_algo.h (__gen_two_uniform_ints): Move logic out
of shuffle into new function.
(shuffle): Call __gen_two_uniform_ints.
(__sample<ForwardIterator, OutputIterator, Cat, Size, URBG>): Use
__gen_two_uniform_ints and perform two samples at a time.
From-SVN: r241414
2016-10-21 16:55:07 +01:00
Jonathan Wakely
c05986b936
Split <functional> into smaller pieces
...
* include/Makefile.am: Add <bits/refwrap.h> and <bits/std_function.h>.
Order alphabetically.
* include/Makefile.in: Regenerate.
* include/bits/refwrap.h: New header.
(_Maybe_get_result_type,_Weak_result_type_impl, _Weak_result_type)
(_Reference_wrapper_base_impl, _Reference_wrapper_base)
(reference_wrapper, ref, cref): Move here from <functional>.
* include/bits/shared_ptr_base.h: Include <bits/refwrap.h> and
<bits/stl_function.h> instead of <functional>.
* include/bits/std_function.h: New header.
(_Maybe_unary_or_binary_function, bad_function_call)
(__is_location_invariant, _Nocopy_types, _Any_data)
(_Simple_type_wrapper, _Function_base, _Function_handler, function):
Move here from <functional>.
* include/bits/unique_ptr.h: Include <bits/stl_function.h>.
* include/std/functional: Include new headers and move components to
them.
* include/std/future: Include <bits/std_function.h> instead of
<functional>.
* include/std/mutex: Likewise.
* include/std/regex: Likewise.
* src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
* testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
* testsuite/20_util/default_delete/void_neg.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
lines.
* testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
* testsuite/30_threads/packaged_task/49668.cc: Include <functional>.
From-SVN: r241410
2016-10-21 16:32:25 +01:00
Jonathan Wakely
6652a944dc
Use global operator new in std::make_exception_ptr
...
* libsupc++/exception_ptr.h (make_exception_ptr): Qualify new.
* testsuite/18_support/exception_ptr/make_exception_ptr_2.cc: New
test.
From-SVN: r241404
2016-10-21 14:21:09 +01:00
Jonathan Wakely
a2e0054e1d
Prepare shared_ptr for array support
...
* include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&))
(shared_ptr(auto_ptr&&)): Adjust template parameter lists.
* include/bits/shared_ptr.h (__sp_compatible_with)
(__sp_is_constructible): New helper traits for shared_ptr.
(shared_ptr::_Convertible): Replace with _Constructible.
(shared_ptr::_Constructible, shared_ptr::_Assignable): Forward checks
to base class.
(shared_ptr::shared_ptr, shared_ptr::operator=): Constrain template
with _Constructible and _Assignable.
(shared_ptr::shared_ptr(shared_ptr<_Tp1>, _Tp*)): Use element_type
instead of _Tp.
(operator<): Likewise.
(operator>): Define in terms of operator<.
(static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
element_type instead of _Tp.
(reinterpret_pointer_cast): Define for C++17.
(weak_ptr::_Convertible): Replace with _Constructible.
(weak_ptr::_Constructible, weak_ptr::_Assignable): Forward checks
to base class.
(weak_ptr::weak_ptr, weak_ptr::operator=): Constrain templates
with _Constructible and _Assignable.
* include/bits/shared_ptr_base.h (__shared_ptr::_Convertible): Replace
with _Compatible.
(__shared_ptr::_SafeConv): New constraint for incoming raw pointers.
(__shared_ptr::_Compatible): New constraint for converting from
other types of shared_ptr and weak_ptr.
(__shared_ptr::_Assignable): Define in terms of _Compatible.
(__shared_ptr::_UniqCompatible, __shared_ptr::_UniqAssignable): New
constraints for converting from unique_ptr.
(__shared_ptr::__shared_ptr, __shared_ptr::operator=): Constrain
template with _SaveConf, _Compatible and _Assignable. Remove
__glibcxx_function_requires concept checks. Add static assertion for
deleter expression being well-formed.
(__shared_ptr::__shared_ptr(__shared_ptr<_Tp1>, _Tp*))
(__shared_ptr::operator*, __shared_ptr::operator->)
(__shared_ptr::get, __shared_ptr::_M_ptr): Use element_type instead
of _Tp.
(operator<): Likewise.
(operator>): Define in terms of operator<.
(static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
element_type instead of _Tp.
(reinterpret_pointer_cast): Define for C++17.
(weak_ptr::_Convertible): Replace with _Compatible.
(weak_ptr::_Compatible, weak_ptr::_Assignable): New constraints for
conversions from other types of weak_ptr and shared_ptr.
(__weak_ptr::__weak_ptr, __weak_ptr::operator=): Constrain templates
with _Constructible and _Assignable.
(__weak_ptr::_M_ptr): Use element_type instead of _Tp.
* testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Adjust
dg-error pattern.
* testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Test conversions.
* testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/casts/reinterpret.cc: New test.
From-SVN: r241373
2016-10-20 13:07:45 +01:00
Ville Voutilainen
f320e6a091
Do the operator= SFINAE in the return type for optional,
...
not in the template parameters.
* include/std/optional (operator=(_Up&&)): Move SFINAE
from template parameters to the return type.
(operator=(const optional<_Up>&)): Likewise.
(operator=(optional<_Up>&&)): Likewise.
From-SVN: r241372
2016-10-20 14:54:52 +03:00
Jonathan Wakely
88b3e63150
Tweak whitespace in std::allocator files
...
* include/bits/allocator.h: Remove trailing whitespace, tab-indent.
* include/ext/new_allocator.h: Likewise.
From-SVN: r241371
2016-10-20 12:37:19 +01:00
Jonathan Wakely
1d6360c85b
PR78052 Define std::allocator<void>::{construct,destroy}
...
PR libstdc++/78052
* include/bits/allocator.h (allocator<void>::construct)
(allocator<void>::destroy): Define.
* testsuite/20_util/allocator/void.cc: New test.
From-SVN: r241365
2016-10-20 11:13:10 +01:00
Jonathan Wakely
4f63d614fa
Add more tests for enable_shared_from_this ambiguities
...
* testsuite/20_util/enable_shared_from_this/56383.cc: Add tests for
additional ambiguous cases.
From-SVN: r241364
2016-10-20 11:13:04 +01:00
Jonathan Wakely
f3070dab7a
Make std::enable_shared_from_this cope with ambiguity
...
* include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&)): Call
_M_enable_shared_from_this_with instead of
__enable_shared_from_this_helper.
* include/bits/shared_ptr.h (__enable_shared_from_this_helper):
Remove overload for std::enable_shared_from_this..
(__enable_shared_from_this_base): Define friend function to select a
std::enable_shared_from_this base class.
* include/bits/shared_ptr_base.h (__enable_shared_from_this_helper):
Remove all overloads.
(__shared_ptr): Change all relevant constructors to call
_M_enable_shared_from_this_with instead of
__enable_shared_from_this_helper.
(__shared_ptr::__efst_base_t, __shared_ptr::__has_efst_base): Helpers
to detect accessible and unambiguous enable_shared_from_this bases.
(__shared_ptr::_M_enable_shared_from_this_with): New function to
replace __enable_shared_from_this_helper overloads.
(__enable_shared_from_this_helper): Remove overload for
std::__enable_shared_from_this.
(__enable_shared_from_this_base): Define friend function to select a
std::__enable_shared_from_this base class.
* include/experimental/bits/shared_ptr.h (experimental::shared_ptr):
Change relevant constructors to call _M_enable_shared_from_this_with.
(experimental::shared_ptr::__efst_base_t)
(experimental::shared_ptr::__has_efst_base): Helpers to detect
accessible and unambiguous enable_shared_from_this bases.
(experimental::shared_ptr::_M_enable_shared_from_this_with): Define.
(experimental::__enable_shared_from_this_helper): Remove overload for
std::experimental::enable_shared_from_this.
(experimental::__expt_enable_shared_from_this_base): Define friend
function to select a std::experimental::enable_shared_from_this base.
* testsuite/experimental/memory/shared_ptr/cons/
enable_shared_from_this.cc: New test.
* testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
Adjust expected behaviour for shared_ptr<A[]>.
From-SVN: r241353
2016-10-19 21:13:14 +01:00
Jonathan Wakely
36e2520b47
Fix copy&paste error in __gnu_debug::vector
...
* include/debug/vector (__gnu_debug::vector::emplace_back): Fix return
type.
From-SVN: r241350
2016-10-19 19:33:47 +01:00
Jonathan Wakely
181f50b626
Fix incorrect comment about std::auto_ptr
...
* include/backward/auto_ptr.h (dauto_ptr): Correct comment about
conversions from auto_ptr<Derived> rvalues to auto_ptr<Base>.
* testsuite/20_util/auto_ptr/assign_neg.cc: Remove redundant dg-error
directives that only match notes, not errors.
From-SVN: r241349
2016-10-19 19:18:43 +01:00
Jonathan Wakely
a04df2babb
Test experimental::shared_ptr construction from other smart pointers
...
* testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
Add tests for valid and invalid conversions.
* testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
Likewise.
From-SVN: r241340
2016-10-19 12:57:22 +01:00
Jonathan Wakely
d40627f933
Move negative unique_ptr tests to new file
...
* testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests
to new file.
* testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file. Fix
test for incompatible deleters to not also use incompatible types.
Add tests for incompatible array types.
From-SVN: r241332
2016-10-19 11:10:54 +01:00
Jonathan Wakely
84870b6bb2
Fix std::experimental::shared_ptr SFINAE constraints
...
* include/experimental/bits/shared_ptr.h
(__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_Compatible): Just use
is_convertible for non-array specialization.
(__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_UniqCompatible): New
constraint for conversions from unique_ptr.
(__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::__shared_ptr): Constrain.
(__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::reset): Likewise.
(__sp_compatible_v): New variable template for trait.
(__sp_is_constructible): New trait to check shared_ptr constraints.
(__sp_is_constructible_v): New variable template for trait.
(__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_SafeConv): New
constraint for construction/reset, using __sp_is_constructible_v.
(__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_UniqCompatible): New
constraint for conversions from unique_ptr.
(__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::__shared_ptr): Constrain.
(__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::reset): Likewise.
(shared_ptr::_SafeConv): Constraint for checking constructors.
(shared_ptr(Tp1*), shared_ptr(_Tp1, _Deleter))
(shared_ptr(_Tp1, _Deleter, _Alloc)): Constrain with _SafeConv.
(shared_ptr(const weak_ptr<_Tp1>&)): Constrain with _Compatible.
(shared_ptr(auto_ptr<_Tp1>&&)): Fix, remove TODO.
* testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
Remove tests using invalid conversions.
* testsuite/experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc:
New test.
* testsuite/experimental/memory/shared_ptr/cons/torture.cc: New test.
* testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Remove
tests using invalid conversions.
* testsuite/experimental/memory/shared_ptr/modifiers/reset_neg.cc: New
test.
* testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
Remove tests using invalid conversions.
From-SVN: r241331
2016-10-19 10:35:03 +01:00
Jonathan Wakely
e182393e31
PR77990 refactor unique_ptr to encapsulate tuple
...
PR libstdc++/77990
* include/bits/unique_ptr.h (__uniq_ptr_impl): New type to
encapsulate implementation details.
(unique_ptr::unique_ptr(_Up)): Don't copy deleter object.
(unique_ptr::get, unique_ptr::get_deleter, unique_ptr::release):
Call member functions of implementation object.
(unique_ptr<T[], D>): Likewise.
* python/libstdcxx/v6/printers.py (UniquePointerPrinter): Adjust for
new implementation.
* python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Likewise.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
lines.
* testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/77990.cc: New test.
From-SVN: r241330
2016-10-19 10:34:57 +01:00
Jonathan Wakely
6dddab0845
Fix indentation of experimental::shared_ptr code
...
* include/experimental/bits/shared_ptr.h: Fix indentation.
From-SVN: r241311
2016-10-18 19:41:43 +01:00
Jonathan Wakely
8a9ff71f5b
Fix typos in experimental::shared_ptr
...
* include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)):
Remove const from parameter.
(operator<(const shared_ptr<T>&, nullptr_t)): Use correct
specialization of std::less.
* testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
Test comparison with nullptr and actually call test functions.
From-SVN: r241310
2016-10-18 19:30:38 +01:00
Jonathan Wakely
0aeb81f86f
Don't define uses-allocator variable templates in C++11
...
* include/bits/uses_allocator.h (__is_uses_allocator_constructible_v)
(__is_nothrow_uses_allocator_constructible_v): Only define for C++14
and later.
From-SVN: r241301
2016-10-18 12:42:18 +01:00
Paolo Carlini
fd0bf20c72
12790-1.cc: Remove 'test' variables.
...
2016-10-17 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/27_io/basic_filebuf/close/12790-1.cc: Remove 'test'
variables.
* testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/char/3.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc: Likewise.
* testsuite/27_io/basic_filebuf/cons/2020.cc: Likewise.
* testsuite/27_io/basic_filebuf/cons/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/12206.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
* testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/open/12790-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise.
* testsuite/27_io/basic_filebuf/open/char/4.cc: Likewise.
* testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
* testsuite/27_io/basic_filebuf/overflow/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Likewise.
* testsuite/27_io/basic_filebuf/overflow/char/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/overflow/char/3599.cc: Likewise.
* testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Likewise.
* testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Likewise.
* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
* testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Likewise.
* testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/45628-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
Likewise.
* testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
Likewise.
* testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
* testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
* testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise.
* testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputc/char/59427.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/sync/char/1057.cc: Likewise.
* testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/char/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/char/3.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/char/45841.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/char/9027.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
* testsuite/27_io/basic_fstream/cons/1.cc: Likewise.
* testsuite/27_io/basic_fstream/rdbuf/char/2832.cc: Likewise.
* testsuite/27_io/basic_ifstream/cons/2020.cc: Likewise.
* testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise.
* testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise.
* testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise.
* testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
* testsuite/27_io/basic_ios/cons/2020.cc: Likewise.
* testsuite/27_io/basic_ios/cons/char/1.cc: Likewise.
* testsuite/27_io/basic_ios/cons/char/2.cc: Likewise.
* testsuite/27_io/basic_ios/cons/char/3.cc: Likewise.
* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
* testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
* testsuite/27_io/basic_ios/imbue/14072.cc: Likewise.
* testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
* testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
* testsuite/27_io/basic_istream/cons/3.cc: Likewise.
* testsuite/27_io/basic_istream/exceptions/char/9561.cc: Likewise.
* testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/
exceptions_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/
exceptions_failbit_throw.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/
wchar_t/9555-ia.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
dr696.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
exceptions_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
exceptions_failbit_throw.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_character/char/1.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_character/char/2.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_character/char/3.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_character/char/4.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_character/wchar_t/
11095-i.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_character/wchar_t/
9555-ic.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/2.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/26181.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/3.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/
error_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/
exceptions_failbit_throw.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc:
Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/
error_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/
exceptions_failbit_throw.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
* testsuite/27_io/basic_istream/get/char/3.cc: Likewise.
* testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
* testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
* testsuite/27_io/basic_istream/getline/char/4.cc: Likewise.
* testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
* testsuite/27_io/basic_istream/getline/char/6.cc: Likewise.
* testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istream/getline/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise.
* testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Likewise.
* testsuite/27_io/basic_istream/getline/wchar_t/6.cc: Likewise.
* testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/ignore/char/2.cc: Likewise.
* testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise.
* testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
* testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
* testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise.
* testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise.
* testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/peek/char/12296.cc: Likewise.
* testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
* testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
* testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
* testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
* testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
* testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_istream/readsome/char/6746-1.cc: Likewise.
* testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Likewise.
* testsuite/27_io/basic_istream/readsome/char/8258.cc: Likewise.
* testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
* testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
* testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/2.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/26211.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/char/2.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/char/3.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/2.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
* testsuite/27_io/basic_istream/ws/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istringstream/cons/2020.cc: Likewise.
* testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Likewise.
* testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: Likewise.
* testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
* testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_ofstream/cons/2020.cc: Likewise.
* testsuite/27_io/basic_ofstream/cons/char/1.cc: Likewise.
* testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
* testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Likewise.
* testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
* testsuite/27_io/basic_ostream/cons/char/9827.cc: Likewise.
* testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: Likewise.
* testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
* testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
* testsuite/27_io/basic_ostream/ends/char/2.cc: Likewise.
* testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise.
* testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
* testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
* testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
* testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
Likewise.
* testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_ostream/flush/wchar_t/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/
exceptions_failbit_throw.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
9555-oa.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
exceptions_failbit_throw.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_character/char/2.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_character/char/3.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/char/4.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/char/5.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/char/6.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/char/8.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
11095-od.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
11095-oe.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
11095-of.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
28277-1.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
28277-2.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
28277-3.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
28277-4.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
9555-oc.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/5.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/
error_failbit.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/
exceptions_failbit_throw.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
9318-out.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
9424-out.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
9555-oo.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
error_code.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
error_failbit.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
exceptions_failbit_throw.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
* testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Likewise.
* testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc: Likewise.
* testsuite/27_io/basic_ostream/seekp/char/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc: Likewise.
* testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc: Likewise.
* testsuite/27_io/basic_ostream/seekp/wchar_t/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_ostream/sentry/char/1.cc: Likewise.
* testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
* testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
* testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
* testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
* testsuite/27_io/basic_ostream/tellp/char/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_ostream/tellp/wchar_t/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
* testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise.
* testsuite/27_io/basic_ostringstream/cons/char/3.cc: Likewise.
* testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: Likewise.
* testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
* testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise.
* testsuite/27_io/basic_ostringstream/str/char/2.cc: Likewise.
* testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_streambuf/cons/2020.cc: Likewise.
* testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
* testsuite/27_io/basic_streambuf/cons/char/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise.
* testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
* testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
* testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise.
* testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
* testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
* testsuite/27_io/basic_streambuf/in_avail/char/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/overflow/char/2.cc: Likewise.
* testsuite/27_io/basic_streambuf/overflow/char/3599.cc: Likewise.
* testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc: Likewise.
* testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc: Likewise.
* testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
* testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
* testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
* testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise.
* testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
* testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
* testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/overflow/char/2.cc: Likewise.
* testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: Likewise.
* testsuite/27_io/basic_stringbuf/overflow/char/3599.cc: Likewise.
* testsuite/27_io/basic_stringbuf/overflow/char/9988.cc: Likewise.
* testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Likewise.
* testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc: Likewise.
* testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc: Likewise.
* testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
* testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekoff/char/2.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekpos/char/2.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/setbuf/char/2.cc: Likewise.
* testsuite/27_io/basic_stringbuf/setbuf/char/3.cc: Likewise.
* testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: Likewise.
* testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc: Likewise.
* testsuite/27_io/basic_stringbuf/str/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/str/char/2.cc: Likewise.
* testsuite/27_io/basic_stringbuf/str/char/3.cc: Likewise.
* testsuite/27_io/basic_stringbuf/str/char/3955.cc: Likewise.
* testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sync/char/1057.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
* testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise.
* testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Likewise.
* testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: Likewise.
* testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
* testsuite/27_io/basic_stringstream/str/char/2.cc: Likewise.
* testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
* testsuite/27_io/basic_stringstream/str/char/4.cc: Likewise.
* testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
* testsuite/27_io/fpos/11450.cc: Likewise.
* testsuite/27_io/fpos/14252.cc: Likewise.
* testsuite/27_io/fpos/14320-1.cc: Likewise.
* testsuite/27_io/fpos/14320-2.cc: Likewise.
* testsuite/27_io/fpos/14320-3.cc: Likewise.
* testsuite/27_io/fpos/14320-4.cc: Likewise.
* testsuite/27_io/fpos/14320-5.cc: Likewise.
* testsuite/27_io/fpos/14775.cc: Likewise.
* testsuite/27_io/fpos/mbstate_t/1.cc: Likewise.
* testsuite/27_io/fpos/mbstate_t/12065.cc: Likewise.
* testsuite/27_io/fpos/mbstate_t/2.cc: Likewise.
* testsuite/27_io/fpos/mbstate_t/3.cc: Likewise.
* testsuite/27_io/ios_base/callbacks/1.cc: Likewise.
* testsuite/27_io/ios_base/failure/what-1.cc: Likewise.
* testsuite/27_io/ios_base/failure/what-2.cc: Likewise.
* testsuite/27_io/ios_base/failure/what-3.cc: Likewise.
* testsuite/27_io/ios_base/failure/what-big.cc: Likewise.
* testsuite/27_io/ios_base/state/1.cc: Likewise.
* testsuite/27_io/ios_base/storage/1.cc: Likewise.
* testsuite/27_io/ios_base/storage/11584.cc: Likewise.
* testsuite/27_io/ios_base/storage/2.cc: Likewise.
* testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise.
* testsuite/27_io/manipulators/adjustfield/char/1.cc: Likewise.
* testsuite/27_io/manipulators/adjustfield/char/2.cc
* testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: Likewise.
* testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
* testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
* testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
* testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
* testsuite/27_io/manipulators/extended/get_money/char/51288.cc:
Likewise.
* testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
Likewise.
* testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
Likewise.
* testsuite/27_io/manipulators/extended/get_time/char/1.cc
* testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
* testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: Likewise.
* testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Likewise.
* testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
* testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
Likewise.
* testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
Likewise.
* testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
Likewise.
* testsuite/27_io/manipulators/extended/put_time/char/1.cc: Likewise.
* testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
* testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: Likewise.
* testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Likewise.
* testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
* testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
* testsuite/27_io/manipulators/standard/char/dr2344.cc: Likewise.
* testsuite/27_io/manipulators/standard/char/quoted.cc: Likewise.
* testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
* testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
* testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: Likewise.
* testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Likewise.
* testsuite/27_io/objects/char/1.cc: Likewise.
* testsuite/27_io/objects/char/10.cc: Likewise.
* testsuite/27_io/objects/char/3045.cc: Likewise.
* testsuite/27_io/objects/char/41037.cc: Likewise.
* testsuite/27_io/objects/char/5.cc: Likewise.
* testsuite/27_io/objects/char/6.cc: Likewise.
* testsuite/27_io/objects/char/6548_xin.cc: Likewise.
* testsuite/27_io/objects/char/6648-1_xin.cc: Likewise.
* testsuite/27_io/objects/char/6648-2_xin.cc: Likewise.
* testsuite/27_io/objects/char/7744_xin.cc: Likewise.
* testsuite/27_io/objects/char/8.cc: Likewise.
* testsuite/27_io/objects/char/9.cc: Likewise.
* testsuite/27_io/objects/char/9661-2_xin.cc: Likewise.
* testsuite/27_io/objects/char/dr455.cc: Likewise.
* testsuite/27_io/objects/wchar_t/1.cc: Likewise.
* testsuite/27_io/objects/wchar_t/10.cc: Likewise.
* testsuite/27_io/objects/wchar_t/11.cc: Likewise.
* testsuite/27_io/objects/wchar_t/12.cc: Likewise.
* testsuite/27_io/objects/wchar_t/13.cc: Likewise.
* testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
* testsuite/27_io/objects/wchar_t/3045.cc: Likewise.
* testsuite/27_io/objects/wchar_t/41037.cc: Likewise.
* testsuite/27_io/objects/wchar_t/5.cc: Likewise.
* testsuite/27_io/objects/wchar_t/6548_xin.cc: Likewise.
* testsuite/27_io/objects/wchar_t/6648-1_xin.cc: Likewise.
* testsuite/27_io/objects/wchar_t/6648-2_xin.cc: Likewise.
* testsuite/27_io/objects/wchar_t/7744_xin.cc: Likewise.
* testsuite/27_io/objects/wchar_t/8.cc: Likewise.
* testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
* testsuite/27_io/objects/wchar_t/9661-2_xin.cc: Likewise.
* testsuite/27_io/objects/wchar_t/9662.cc: Likewise.
* testsuite/27_io/objects/wchar_t/dr455.cc: Likewise.
* testsuite/27_io/types/3.cc: Likewise.
From-SVN: r241283
2016-10-17 22:24:50 +00:00