4317778a9b
239 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Jonathan Wakely
|
4317778a9b |
PR libstdc++/81092 add std::wstring symbols and bump library version
PR libstdc++/81092 * acinclude.m4: Bump libtool_VERSION. * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. * config/abi/pre/gnu.ver: Add wstring constructor symbols to GLIBCXX_3.4.24 version and move random_device::_M_get_entropy() symbol to new GLIBCXX_3.4.25 version. * doc/xml/manual/abi.xml: Document new versions. * doc/html/*: Regenerate. * testsuite/21_strings/basic_string/cons/char/8.cc: Use base object constructors to ensure required symbols are exported. * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise. * testsuite/util/testsuite_abi.cc: Add new version. From-SVN: r249246 |
||
Jonathan Wakely
|
6ec3c9c841 |
Fix missing returns in libstdc++ header and tests
* include/bits/locale_conv.h (wbuffer_convert::_M_put): Add missing return statement. * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc: Return void. * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc: Likewise. * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: Add missing return statements. * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc: Return void. * testsuite/special_functions/14_expint/pr68397.cc: Likewise. From-SVN: r249238 |
||
Rainer Orth
|
d12366802a |
Use pthread effective-target in testsuite
* testsuite: Add dg-require-effective-target pthread to -pthread tests. Remove explicit target lists from dg-do and dg-options. * testsuite/30_threads/async/forced_unwind.cc: Remove explit target list from dg-options. * testsuite/30_threads/packaged_task/forced_unwind.cc: Likewise. * 30_threads/shared_mutex/cons/1.cc: Likewise. Pass -pthread for all targets. * 30_threads/shared_mutex/try_lock/1.cc: Likewise. * 30_threads/shared_mutex/try_lock/2.cc: Likewise. * 30_threads/shared_mutex/unlock/1.cc: Likewise. * testsuite/30_threads/this_thread/57060.cc: Require c++11 via dg-require-effective-target. From-SVN: r249217 |
||
Jonathan Wakely
|
cdd17d6e99 |
Fix libstdc++ testsuite failures with -D_GLIBCXX_USE_CXX11_ABI=0
* doc/xml/manual/test.xml: Correct instructions on running tests. * testsuite/21_strings/basic_string/cons/char/deduction.cc: Adjust to pass when -D_GLIBCXX_USE_CXX11_ABI=0 added to RUNTESTFLAGS. * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: Likewise. * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise. * 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: r249206 |
||
Pedro Alves
|
b51483f48f |
Finish implementing P0426R1 "Constexpr for std::char_traits" for C++17
As discussed in PR c++/80265 ("__builtin_{memcmp,memchr,strlen} are not usable in constexpr functions"), use __builtin_constant_p to tell whether we can defer to a constexpr algorithm. I used __always_inline__ just to be thorough. It isn't really really necessary as far as I could determine. Changes like these: if (__n == 0) return 0; - return wmemcmp(__s1, __s2, __n); + else + return wmemcmp(__s1, __s2, __n); are necessary otherwise G++ complains that we're calling a non-constexpr function, which looks like a a manifestation of PR67026 to me. libstdc++-v3: 2017-06-12 Pedro Alves <palves@redhat.com> * doc/xml/manual/status_cxx2017.xml: Update C++17 constexpr char_traits status. * doc/html/*: Regenerate. * include/bits/char_traits.h (_GLIBCXX_ALWAYS_INLINE): Define if not already defined. (__cpp_lib_constexpr_char_traits): Uncomment. (__constant_string_p, __constant_char_array_p): New. (std::char_traits<char>, std::char_traits<wchar_t>): Add _GLIBCXX17_CONSTEXPR on compare, length and find and use __constant_string_p, __constant_char_array_p and __builtin_constant_p to defer to __gnu_cxx::char_traits at compile time. * testsuite/21_strings/char_traits/requirements/ constexpr_functions_c++17.cc: Uncomment __cpp_lib_constexpr_char_traits tests. Uncomment test_compare<char>, test_length<char>, test_find<char>, test_compare<wchar_t>, test_length<wchar_t> and test_find<wchar_t> static_assert tests. From-SVN: r249137 |
||
Jonathan Wakely
|
6d82c56288 |
Add C++17 deduction guide for std::basic_string (P0433R2, partial)
* include/bits/alloc_traits.h (__is_allocator, _RequireAllocator): New trait and alias for detecting Allocator-like types. * include/bits/basic_string.h (basic_string): Add deduction guide from P0433. * include/ext/alloc_traits.h (__gnu_cxx::__alloc_traits): Add template parameter with default template argument that causes substitution failures for types that cannot be allocators. * testsuite/21_strings/basic_string/cons/char/deduction.cc: New. * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: New. From-SVN: r248967 |
||
Jonathan Wakely
|
4c19e432d6 |
PR libstdc++/80624 satisfy invariant for char_traits<char16_t>::eof()
PR libstdc++/80624 * doc/xml/manual/status_cxx2011.xml: Document to_int_type behaviour. * include/bits/char_traits.h (char_traits<char16_t>::to_int_type): Transform eof value to U+FFFD. * testsuite/21_strings/char_traits/requirements/char16_t/eof.cc: New. * testsuite/27_io/basic_streambuf/sgetc/char16_t/80624.cc: New. * testsuite/27_io/basic_streambuf/sputc/char16_t/80624.cc: New. From-SVN: r248843 |
||
Jonathan Wakely
|
8c3b5c719f |
Implement P0426R1 "Constexpr for std::char_traits" for C++17 (partial)
* include/bits/char_traits.h (__gnu_cxx::char_traits): Add _GLIBCXX14_CONSTEXPR on assign, compare, find, and length. (std::char_traits<char>, std::char_traits<wchar_t>): Add _GLIBCXX17_CONSTEXPR on assign. (std::char_traits<char16_t>, std::char_traits<char32_t>): Add _GLIBCXX17_CONSTEXPR on assign, compare, find, and length. * testsuite/21_strings/char_traits/requirements/ constexpr_functions_c++17.cc: New test. From-SVN: r246655 |
||
Jonathan Wakely
|
4f83482f46 |
PR libstdc++/79162 disambiguate assignment from string_view
PR libstdc++/79162 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Replace with a constrained template. [!_GLIBCXX_USE_CXX11_ABI] (basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Likewise. * testsuite/21_strings/basic_string/cons/char/79162.cc: New test. * testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: New test. From-SVN: r246128 |
||
Jonathan Wakely
|
11d10beb57 |
PR libstdc++/79254 simplify exception-safety in copy assignment
PR libstdc++/79254 * config/abi/pre/gnu.ver: Remove recently added symbols. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string::_M_copy_assign): Remove. (basic_string::operator=(const basic_string&)): Don't dispatch to _M_copy_assign. If source object is small just deallocate, otherwise perform new allocation before making any changes. * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (basic_string::_M_copy_assign(const basic_string&, true_type)): Remove. * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: Test cases where the allocators are equal or the string is small. * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: Likewise. From-SVN: r245085 |
||
Jonathan Wakely
|
a7d47f3526 |
PR libstdc++/79254 fix exception-safety in std::string::operator=
PR libstdc++/79254 * config/abi/pre/gnu.ver: Add new symbols. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string::_M_copy_assign): New overloaded functions to perform copy assignment. (basic_string::operator=(const basic_string&)): Dispatch to _M_copy_assign. * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (basic_string::_M_copy_assign(const basic_string&, true_type)): Define, performing rollback on exception. * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: Test exception-safety guarantee. * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: Likewise. * testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make std::swap visible. From-SVN: r244986 |
||
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 |
||
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 |
||
Jakub Jelinek
|
cbe34bb5ed |
Update copyright years.
From-SVN: r243994 |
||
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 |
||
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 |
||
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 |
||
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 |
||
Paolo Carlini
|
118c842441 |
testsuite_hooks.h: Rewrite VERIFY in terms of __builtin_printf and __builtin_abort.
2016-10-12 Paolo Carlini <paolo.carlini@oracle.com> * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of __builtin_printf and __builtin_abort. * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use. * scripts/testsuite_flags.in: Likewise. * testsuite/22_locale/time_get/get/char/1.cc: Likewise. * testsuite/22_locale/time_get/get/char/2.cc: Likewise. * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise. * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust. * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc: Likewise. * testsuite/27_io/objects/char/7.cc: Likewise. * testsuite/27_io/objects/char/9661-1.cc: Likewise. * testsuite/27_io/objects/wchar_t/7.cc: Likewise. * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise. * testsuite/18_support/50594.cc: Remove 'test' variable, adjust. * testsuite/18_support/bad_alloc/what.cc: Likewise. * testsuite/18_support/bad_cast/what.cc: Likewise. * testsuite/18_support/bad_exception/what.cc: Likewise. * testsuite/18_support/bad_typeid/what.cc: Likewise. * testsuite/18_support/exception/38732.cc: Likewise. * testsuite/18_support/exception/what.cc: Likewise. * testsuite/18_support/exception_ptr/64241.cc: Likewise. * testsuite/18_support/exception_ptr/current_exception.cc: Likewise. * testsuite/18_support/exception_ptr/lifespan.cc: Likewise. * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise. * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise. * testsuite/18_support/nested_exception/cons.cc: Likewise. * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise. * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise. * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise. * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise. * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise. * testsuite/18_support/numeric_limits/digits10.cc: Likewise. * testsuite/18_support/numeric_limits/dr559.cc: Likewise. * testsuite/18_support/numeric_limits/epsilon.cc: Likewise. * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise. * testsuite/18_support/numeric_limits/is_signed.cc: Likewise. * testsuite/18_support/numeric_limits/lowest.cc: Likewise. * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise. * testsuite/18_support/numeric_limits/min_max.cc: Likewise. * testsuite/18_support/numeric_limits/specialization_default_values.cc: Likewise. * testsuite/18_support/type_info/hash_code.cc: Likewise. * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise. * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise. * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise. * testsuite/19_diagnostics/error_category/operators/ not_equal.cc: Likewise. * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise. * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise. * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise. * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise. * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise. * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise. * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise. * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise. * testsuite/19_diagnostics/error_condition/modifiers/39881.cc: Likewise. * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise. * testsuite/19_diagnostics/error_condition/operators/equal.cc: Likewise. * testsuite/19_diagnostics/error_condition/operators/not_equal.cc: Likewise. * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise. * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise. * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise. * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise. * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise. * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise. * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise. * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise. * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise. * testsuite/19_diagnostics/system_error/what-1.cc: Likewise. * testsuite/19_diagnostics/system_error/what-2.cc: Likewise. * testsuite/19_diagnostics/system_error/what-3.cc: Likewise. * testsuite/19_diagnostics/system_error/what-4.cc: Likewise. * testsuite/19_diagnostics/system_error/what-big.cc: Likewise. * testsuite/20_util/addressof/1.cc: Likewise. * testsuite/20_util/align/1.cc: Likewise. * testsuite/20_util/align/2.cc: Likewise. * testsuite/20_util/allocator/1.cc: Likewise. * testsuite/20_util/allocator/10378.cc: Likewise. * testsuite/20_util/allocator/8230.cc: Likewise. * testsuite/20_util/allocator_traits/members/allocate_hint.cc: Likewise. * testsuite/20_util/allocator_traits/members/construct.cc: Likewise. * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise. * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise. * testsuite/20_util/any/assign/exception.cc: Likewise. * testsuite/20_util/auto_ptr/1.cc: Likewise. * testsuite/20_util/auto_ptr/2.cc: Likewise. * testsuite/20_util/auto_ptr/3.cc: Likewise. * testsuite/20_util/auto_ptr/4.cc: Likewise. * testsuite/20_util/auto_ptr/5.cc: Likewise. * testsuite/20_util/auto_ptr/6.cc: Likewise. * testsuite/20_util/auto_ptr/7.cc: Likewise. * testsuite/20_util/bind/all_bound.cc: Likewise. * testsuite/20_util/bind/conv_result.cc: Likewise. * testsuite/20_util/bind/cv_quals.cc: Likewise. * testsuite/20_util/bind/cv_quals_2.cc * testsuite/20_util/bind/nested.cc: Likewise. * testsuite/20_util/bind/placeholders.cc: Likewise. * testsuite/20_util/bind/ref.cc: Likewise. * testsuite/20_util/bind/ref2.cc: Likewise. * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise. * testsuite/20_util/duration/arithmetic/1.cc: Likewise. * testsuite/20_util/duration/arithmetic/2.cc: Likewise. * testsuite/20_util/duration/arithmetic/58850.cc: Likewise. * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise. * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise. * testsuite/20_util/duration/comparison_operators/1.cc: Likewise. * testsuite/20_util/duration/cons/1.cc: Likewise. * testsuite/20_util/duration/cons/2.cc: Likewise. * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise. * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/enable_shared_from_this/members/assign.cc: Likewise. * testsuite/20_util/exchange/1.cc: Likewise. * testsuite/20_util/forward/a.cc: Likewise. * testsuite/20_util/forward/b.cc: Likewise. * testsuite/20_util/forward/d.cc: Likewise. * testsuite/20_util/function/1.cc: Likewise. * testsuite/20_util/function/2.cc: Likewise. * testsuite/20_util/function/3.cc: Likewise. * testsuite/20_util/function/4.cc: Likewise. * testsuite/20_util/function/43397.cc: Likewise. * testsuite/20_util/function/5.cc: Likewise. * testsuite/20_util/function/6.cc: Likewise. * testsuite/20_util/function/7.cc: Likewise. * testsuite/20_util/function/8.cc: Likewise. * testsuite/20_util/function/9.cc: Likewise. * testsuite/20_util/function/assign/move.cc: Likewise. * testsuite/20_util/function/cons/move.cc: Likewise. * testsuite/20_util/function_objects/dr660.cc: Likewise. * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise. * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise. * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise. * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise. * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise. * testsuite/20_util/hash/operators/size_t.cc: Likewise. * testsuite/20_util/hash/quality.cc: Likewise. * testsuite/20_util/integral_constant/static_definition.cc: Likewise. * testsuite/20_util/integral_constant/true_false_value.cc: Likewise. * testsuite/20_util/is_function/24808.cc: Likewise. * testsuite/20_util/is_object/24808.cc: Likewise. * testsuite/20_util/move_if_noexcept/1.cc: Likewise. * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise. * testsuite/20_util/owner_less/cmp.cc: Likewise. * testsuite/20_util/pair/1.cc: Likewise. * testsuite/20_util/pair/2.cc: Likewise. * testsuite/20_util/pair/3.cc: Likewise. * testsuite/20_util/pair/4.cc: Likewise. * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise. * testsuite/20_util/pair/moveable.cc: Likewise. * testsuite/20_util/pair/piecewise.cc: Likewise. * testsuite/20_util/pair/swap.cc: Likewise. * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise. * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise. * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise. * testsuite/20_util/ratio/cons/cons1.cc: Likewise. * testsuite/20_util/ratio/operations/45866.cc: Likewise. * testsuite/20_util/ratio/operations/47913.cc: Likewise. * testsuite/20_util/ratio/operations/ops1.cc: Likewise. * testsuite/20_util/ratio/operations/ops2.cc: Likewise. * testsuite/20_util/ratio/operations/ops3.cc: Likewise. * testsuite/20_util/reference_wrapper/invoke.cc: Likewise. * testsuite/20_util/scoped_allocator/1.cc: Likewise. * testsuite/20_util/scoped_allocator/2.cc: Likewise. * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise. * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise. * testsuite/20_util/shared_ptr/assign/move.cc: Likewise. * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: Likewise. * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise. * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise. * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise. * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise. * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise. * testsuite/20_util/shared_ptr/cons/default.cc: Likewise. * testsuite/20_util/shared_ptr/cons/move.cc: Likewise. * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise. * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise. * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise. * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise. * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise. * testsuite/20_util/shared_ptr/creation/make.cc: Likewise. * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise. * testsuite/20_util/shared_ptr/hash/1.cc: Likewise. * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise. * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise. * testsuite/20_util/shared_ptr/misc/io.cc: Likewise. * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise. * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise. * testsuite/20_util/shared_ptr/observers/get.cc: Likewise. * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise. * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise. * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise. * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise. * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. * testsuite/20_util/specialized_algorithms/uninitialized_copy/ move_iterators/1.cc: Likewise. * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/ move_iterators/1.cc: Likewise. * testsuite/20_util/temporary_buffer.cc: Likewise. * testsuite/20_util/time_point/1.cc: Likewise. * testsuite/20_util/time_point/2.cc: Likewise. * testsuite/20_util/time_point/3.cc: Likewise. * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise. * testsuite/20_util/tuple/48476.cc: Likewise. * testsuite/20_util/tuple/comparison_operators/comparisons.cc: Likewise. * testsuite/20_util/tuple/cons/allocators.cc: Likewise. * testsuite/20_util/tuple/cons/assignment.cc: Likewise. * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise. * testsuite/20_util/tuple/cons/constructor.cc: Likewise. * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise. * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise. * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise. * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc: Likewise. * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise. * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise. * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise. * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise. * testsuite/20_util/tuple/element_access/get.cc: Likewise. * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise. * testsuite/20_util/tuple/moveable.cc: Likewise. * testsuite/20_util/tuple/swap.cc: Likewise. * testsuite/20_util/tuple/tuple_size.cc: Likewise. * testsuite/20_util/typeindex/comparison_operators.cc: Likewise. * testsuite/20_util/typeindex/hash.cc: Likewise. * testsuite/20_util/typeindex/hash_code.cc: Likewise. * testsuite/20_util/typeindex/name.cc: Likewise. * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise. * testsuite/20_util/unique_ptr/assign/move.cc: Likewise. * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise. * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise. * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise. * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise. * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise. * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise. * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise. * testsuite/20_util/unique_ptr/creation/array.cc: Likewise. * testsuite/20_util/unique_ptr/creation/single.cc: Likewise. * testsuite/20_util/unique_ptr/hash/1.cc: Likewise. * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise. * testsuite/20_util/unique_ptr/specialized_algorithms/ comparisons.cc: Likewise. * testsuite/20_util/unique_ptr/specialized_algorithms/ comparisons_array.cc: Likewise. * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc: Likewise. * testsuite/20_util/uses_allocator/construction.cc: Likewise. * testsuite/20_util/uses_allocator/value.cc: Likewise. * testsuite/20_util/variant/run.cc: Likewise. * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise. * 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/move.cc: Likewise. * testsuite/21_strings/basic_string/allocator/char/move_assign.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/move.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: Likewise. * testsuite/21_strings/basic_string/capacity/1.cc: Likewise. * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise. * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise. * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise. * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc: Likewise. * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: Likewise. * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc: Likewise. * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise. * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise. * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise. * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise. * testsuite/21_strings/basic_string/element_access/char/58163.cc: Likewise. * testsuite/21_strings/basic_string/element_access/char/empty.cc: Likewise. * testsuite/21_strings/basic_string/element_access/char/front_back.cc: Likewise. * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc: Likewise. * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc: Likewise. * testsuite/21_strings/basic_string/element_access/wchar_t/ front_back.cc: Likewise. * testsuite/21_strings/basic_string/init-list.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/ 28277.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/pod/ 10081-in.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/pod/ 10081-out.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/ 10.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/ 11.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/ 28277.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/char/2.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/char/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/char/ move_assign.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/ move_assign.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/ stoull.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/ to_string.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ dr1261.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stod.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stof.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoi.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stol.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stold.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoll.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoul.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoull.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ to_wstring.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/char/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/char/13650.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/char/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/wchar_t/ 13650.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/data/char/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/char/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/char/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/char/3.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/char/4.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/char/5.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc: Likewise. * testsuite/21_strings/basic_string/operations/rfind/char/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/rfind/char/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/rfind/char/3.cc: Likewise. * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/operations/substr/char/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/substr/wchar_t/ 1.cc: Likewise. * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise. * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise. * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise. * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise. * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise. * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise. * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/char/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/char/ empty.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/char/ front_back.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/wchar_t/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/wchar_t/ empty.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/wchar_t/ front_back.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/ char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/ wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/ char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/ wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/char/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/char/ 13650.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/ 13650.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/data/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/3.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/4.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/ 2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/ 3.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/ 4.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/char/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/char/ 2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/char/ 3.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/ 2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/ 3.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/string_conversion/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/substr/char/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc: Likewise. * testsuite/21_strings/c_strings/char/1.cc: Likewise. * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise. * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise. * testsuite/21_strings/char_traits/requirements/char/57704.cc: Likewise. * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise. * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise. * doc/xml/manual/test.xml: Fix typo. From-SVN: r241069 |
||
Ville Voutilainen
|
a38814c003 |
re PR libstdc++/77717 (testsuite/21_strings/basic_string_view/operations/compare/char/1.cc makes undefined memcmp call)
PR libstdc++/77717 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc: Fix an out-of-bounds access. From-SVN: r240486 |
||
Jonathan Wakely
|
1319041924 |
Avoid reallocation for basic_string::clear()
PR libstdc++/56166 PR libstdc++/77582 * include/bits/basic_string.h (basic_string::clear()): Drop reference and use empty rep. * include/ext/rc_string_base.h (__rc_string_base::_M_clear()): Likewise. * testsuite/21_strings/basic_string/56166.cc: New. * testsuite/ext/vstring/modifiers/clear/56166.cc: New. From-SVN: r240447 |
||
Christophe Lyon
|
13cddbc115 |
Fix dg-require before dg-run directives in testsuite.
libstdc++-v3/ChangeLog: 2016-09-14 Christophe Lyon <christophe.lyon@linaro.org> * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Move dg-do directive before dg-skip. * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc: Move dg-do directive before dg-require. * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise. * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise. * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise. * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise. * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise. * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise. * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise. * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc: Likewise. * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise. * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise. * testsuite/27_io/objects/char/12048-5.cc: Likewise. * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise. * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise. gcc/testsuite/ChangeLog: 2016-09-14 Christophe Lyon <christophe.lyon@linaro.org> * g++.dg/cpp0x/lambda/lambda-mangle.C: Move dg-do directive before dg-require. * g++.dg/ext/builtin_alloca.C: Likewise. * g++.dg/template/spec35.C: Likewise. * gcc.dg/builtins-68.c: Likewise. * gcc.misc-tests/gcov-13.c: Likewise. * gcc.misc-tests/gcov-14.c: Likewise. From-SVN: r240135 |
||
Jonathan Wakely
|
52066eae5d |
Use effective-target instead of -std options
* testsuite/*: Use { target c++11 } or { target c++14 } instead of using -std in dg-options. From-SVN: r239777 |
||
Jonathan Wakely
|
86bbf15b6b |
Add new std::basic_string constructor (LWG 2583)
* config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more precise patterns for basic_string constructors. (GLIBCXX_3.4.23): Export new constructors. * doc/xml/manual/intro.xml: Document LWG 2583 status. * doc/html/*: Regenerate. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string(const basic_string&, size_type, const Alloc&)): Add new constructor for LWG 2583. (basic_string(const basic_string&, size_type, size_type)): Remove default argument. [!_GLIBCXX_USE_CXX11_ABI]: Likewise. * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it. * testsuite/21_strings/basic_string/cons/char/8.cc: New test. * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test. From-SVN: r239773 |
||
Jonathan Wakely
|
71c54f8ea2 |
Simplify dg-options for tests using pthreads
* testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for *-*-solaris* instead of -pthreads. * testsuite/21_strings/basic_string/pthread4.cc : Likewise. * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise. * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise. * testsuite/23_containers/list/pthread1.cc: Likewise. * testsuite/23_containers/list/pthread5.cc: Likewise. * testsuite/23_containers/map/pthread6.cc: Likewise. * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise. * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise. * testsuite/30_threads/shared_mutex/*: Likewise. * testsuite/ext/rope/pthread7-rope.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/thread/ default_weaktoshared.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/thread/ mutex_weaktoshared.cc: Likewise. * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use dg-require-effective-target instead of using -std option. * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise. * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise. * testsuite/30_threads/async/*: Likewise. * testsuite/30_threads/call_once/*: Likewise. * testsuite/30_threads/condition_variable/*: Likewise. * testsuite/30_threads/condition_variable_any/*: Likewise. * testsuite/30_threads/future/*: Likewise. * testsuite/30_threads/lock/*: Likewise. * testsuite/30_threads/mutex/*: Likewise. * testsuite/30_threads/packaged_task/*: Likewise. * testsuite/30_threads/promise/*: Likewise. * testsuite/30_threads/recursive_mutex/*: Likewise. * testsuite/30_threads/recursive_timed_mutex/*: Likewise. * testsuite/30_threads/shared_future/*: Likewise. * testsuite/30_threads/shared_lock/*: Likewise. * testsuite/30_threads/shared_timed_mutex/*: Likewise. * testsuite/30_threads/this_thread/*: Likewise. * testsuite/30_threads/thread/*: Likewise. * testsuite/30_threads/timed_mutex/*: Likewise. * testsuite/30_threads/try_lock/*: Likewise. * testsuite/30_threads/unique_lock/*: Likewise. From-SVN: r239624 |
||
Jonathan Wakely
|
e07f4b008d |
Remove duplicate dg-options directive
* testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc: Remove duplicate dg-options directive. From-SVN: r239538 |
||
Jonathan Wakely
|
657213f736 |
PR 77264 constrain new std::basic_string overloads
PR libstdc++/77264 * include/bits/basic_string.h (operator=(__sv_type) (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type)) (replace(size_type, size_type, __sv_type)) (replace(const_iterator, const_iterator, __sv_type)) (find(__sv_type, size_type), rfind(__sv_type, size_type)) (compare(size_type, size_type, __sv_type)): Reformat. (_If_sv): Define helper for SFINAE constaints. (append(const _Tp&, size_type, size_type)) (assign(const _Tp&, size_type, size_type)) (insert(size_type, const _Tp&, size_type, size_type)) (replace(size_type, size_type, const _Tp&, size_type, size_type)): Use _If_sv. * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test SFINAE constraints. * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/char/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: Likewise. From-SVN: r239532 |
||
Ville Voutilainen
|
68a51b68bd |
Implement LWG 2758.
* include/bits/basic_string.h (append(__sv_type, size_type, size_type)): Turn into a template, change parameter type, constrain, add a conversion to __sv_type from the dependent parameter type. (assign(__sv_type, size_type, size_type)): Likewise. (insert(size_type, __sv_type, size_type, size_type)): Likewise. (replace(size_type, size_type, __sv_type, size_type, size_type)): Likewise. (compare(size_type, size_type,__sv_type, size_type, size_type)): Likewise. * testsuite/21_strings/basic_string/lwg2758.cc: New. From-SVN: r239370 |
||
Jonathan Wakely
|
589a30d1a4 |
Fix std::wstring allocator tests
* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type. * 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. From-SVN: r238996 |
||
Jonathan Wakely
|
92d58deefa |
Add non-const std::basic_string::data() for C++17
* include/bits/basic_string.h (data() const): Update comment. (data()): Add non-const overload for C++17. * testsuite/21_strings/basic_string/operations/data/char/2.cc: New. * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New. From-SVN: r238963 |
||
Ville Voutilainen
|
ca8f2cb137 |
Implement std::string_view and P0254r2,
Integrating std::string_view and std::string. * include/Makefile.am: Add string_view and string_view.tcc to the exported headers. * include/Makefile.in: Likewise. * include/bits/basic_string.h: Include <string_view> in C++17 mode. (__sv_type): New. (basic_string(__sv_type, const _Alloc&)): Likewise. (operator=(__sv_type)): Likewise. (operator __sv_type()): Likewise. (operator+=(__sv_type)): Likewise. (append(__sv_type __sv)): Likewise. (append(__sv_type, size_type, size_type)): Likewise. (assign(__sv_type)): Likewise. (assign(__sv_type, size_type, size_type)): Likewise. (insert(size_type, __sv_type)): Likewise. (insert(size_type, __sv_type, size_type, size_type)): Likewise. (replace(size_type, size_type, __sv_type)): Likewise. (replace(size_type, size_type, __sv_type, size_type, size_type)): Likewise. (replace(const_iterator, const_iterator, __sv_type)): Likewise. (find(__sv_type, size_type)): Likewise. (rfind(__sv_type, size_type)): Likewise. (find_first_of(__sv_type, size_type)): Likewise. (find_last_of(__sv_type, size_type)): Likewise. (find_first_not_of(__sv_type, size_type)): Likewise. (find_last_not_of(__sv_type, size_type)): Likewise. (compare(__sv_type)): Likewise. (compare(size_type, size_type, __sv_type)): Likewise. (compare(size_type, size_type, __sv_type, size_type, size_type)): Likewise. * include/bits/string_view.tcc: New. * include/std/string_view: Likewise. * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/char/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/char/5.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc: Likewise. * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise. * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise. * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/char/empty.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc: Likewise. * testsuite/21_strings/basic_string_view/include.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/data/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/3.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/4.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/range_access/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc: Likewise. * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/requirements/typedefs.cc: Likewise. * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise. * testsuite/21_strings/basic_string_view/types/1.cc: Likewise. From-SVN: r238823 |
||
Jonathan Wakely
|
8cab3d18f0 |
Move allocator in std::string and RB tree move constructors
PR libstdc++/71964 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor. * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator. * testsuite/21_strings/basic_string/allocator/71964.cc: New test. * testsuite/23_containers/set/allocator/71964.cc: New test. From-SVN: r238647 |
||
Jonathan Wakely
|
e93a101f83 |
Fix out-of-bound array accesses in libstdc++ testsuite
* testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix reads past the end of strings. * testsuite/21_strings/basic_string/operations/compare/char/1.cc: Likewise. * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix invalid array accesses. * testsuite/experimental/string_view/operations/compare/char/1.cc: Fix read past the end of string. * testsuite/util/testsuite_character.cc: Fix out-of-bounds write. From-SVN: r238609 |
||
Jonathan Wakely
|
2d60da1031 |
Revert "Add non-const overload of std::string::data()"
This reverts r238291 aka 4300aa2087d90cd2d55852fa38f082a89bc7e72d. From-SVN: r238303 |
||
Jonathan Wakely
|
ceea48fc64 |
Add non-const overload of std::string::data()
Also fix confusion between pointer and _CharT*, so that allocators with fancy pointers work correctly. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str): New function. (_M_disjunct, basic_string(const basic_string&, size_t)): Use data() instead of _M_data(). (basic_string(const basic_string&, size_t, size_t, const _Alloc&)): Likewise. (append(const basic_string&)): Likewise. (append(const basic_string&, size_type, size_type)): Likewise. (assign(const basic_string&, size_type, size_type)): Likewise. (insert(size_type, const basic_string&)): Likewise. (insert(size_type, const basic_string&, size_type, size_type)): Likewise. (replace(size_type, size_type, const basic_string&, size_type, size_type)): Likewise. (replace(__const_iterator, __const_iterator, const basic_string&)): Likewise. (c_str(), data()): Use c_str() instead of _M_data(). (data()): Add non-const overload as per LWG 2391 and P0272R1. (compare(const basic_string&)): Use data() instead of _M_data(). [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload. * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate): Pass raw pointers to _S_copy. (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and _S_assign. (find(const _CharT*, size_type, size_type)): Use data instead of _M_data(). * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New. * testsuite/21_strings/basic_string/operations/data/char/2.cc: New. * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New. From-SVN: r238291 |
||
Jonathan Wakely
|
3555173fb9 |
Test for C99 stdlib.h functions with -std=c++98
PR libstdc++/69626 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB. * config.h.in: Regenerate. * configure: Regenerate. * testsuite/21_strings/c_strings/char/69626.cc: New. From-SVN: r233161 |
||
Jonathan Wakely
|
373a75fb2a |
Remove noexcept from function template that can throw
PR libstdc++/69092 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>): Remove _GLIBCXX_NOEXCEPT. testsuite/21_strings/basic_string/cons/char/69092.cc: New. From-SVN: r232112 |
||
Jakub Jelinek
|
818ab71a41 |
Update copyright years.
From-SVN: r232055 |
||
Jonathan Wakely
|
230b4edeee |
Fix std::wstring capacity test for short wchar_t
* testsuite/21_strings/basic_string/capacity/char/18654.cc: Use real minimum capacity. * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: Likewise. From-SVN: r230378 |
||
Jennifer Yao
|
23c64853c8 |
More fine-grained autoconf checks for C99 library
2015-11-13 Jennifer Yao <jenny.hyphen.fa@gmail.com> Jonathan Wakely <jwakely@redhat.com> PR libstdc++/58393 PR libstdc++/61580 * acinclude.m4 (GLIBCXX_ENABLE_C99): Perform tests twice, with -std=c++11 as well as -std=c++98, and define separate macros for each. Cache the results of checking for complex math and wide character functions. Reformat for readability. * config.h.in: Regenerate. * include/bits/c++config: Define _GLIBCXX_USE_C99_XXX macros to either _GLIBCXX98_USE_C99_XXX or _GLIBCXX11_USE_C99_XXX according to language standard in use. * config/locale/dragonfly/c_locale.h (std::__convert_from_v): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * config/locale/generic/c_locale.h (std::__convert_from_v): Likewise. * config/locale/gnu/c_locale.h (std::__convert_from_v): Likewise. * config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, and _GLIBCXX_USE_C99_WCHAR. * configure: Regenerate. * include/bits/basic_string.h: Make numeric conversion functions depend on _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, or _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99. * include/ext/vstring.h: Likewise. * include/bits/locale_facets.tcc (std::num_put::_M_insert_float): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * include/bits/locale_facets_nonio.tcc (std::money_put::do_put): Likewise. * include/c_compatibility/math.h: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_MATH. * include/c_compatibility/wchar.h: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. * include/c_global/cstdio: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * include/c_global/cstdlib: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * include/c_global/cwchar: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. * include/c_std/cstdio: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * include/c_std/cstdlib: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * include/c_std/cwchar: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. * include/tr1/cstdio: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * include/tr1/cstdlib: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * include/tr1/cwchar: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. * include/tr1/stdlib.h: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * src/c++98/locale_facets.cc (std::__num_base::_S_format_float): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * testsuite/18_support/exception_ptr/60612-terminate.cc: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc (test01): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stof.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoi.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stol.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stold.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoll.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoul.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoull.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ to_wstring.cc: Likewise. * testsuite/26_numerics/headers/cstdlib/13943.cc: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Likewise. * testsuite/lib/libstdc++.exp (check_v3_target_string_conversions): Change preprocessor #if conditional so that it uses _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, and _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99. * testsuite/tr1/8_c_compatibility/cmath/templates.cc: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_MATH. * testsuite/tr1/8_c_compatibility/cstdio/functions.cc: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Likewise. * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. * testsuite/util/testsuite_fs.h: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. Co-Authored-By: Jonathan Wakely <jwakely@redhat.com> From-SVN: r230324 |
||
Jonathan Wakely
|
1ca9de5126 |
Fix testsuite failures with --disable-wchar_t
* testsuite/21_strings/basic_string/literals/types.cc: Guard use of wchar_t with _GLIBCXX_USE_WCHAR_T. * testsuite/21_strings/basic_string/literals/values.cc: Likewise. * testsuite/21_strings/basic_string/requirements/citerators.cc: Likewise. * testsuite/22_locale/messages/13631.cc: Likewise. * testsuite/experimental/string_view/literals/types.cc: Likewise. * testsuite/experimental/string_view/literals/values.cc: Likewise. From-SVN: r228439 |
||
Jonathan Wakely
|
ee216d80a5 |
minimal.cc: Minor tweaks to match narrow char version.
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: Minor tweaks to match narrow char version. From-SVN: r228436 |
||
Jonathan Wakely
|
c980d0b4b7 |
Fix tests that fail with old std::string
* testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard explicit instantiation with check for new ABI. * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: Likewise. Use wchar_t as char_type. From-SVN: r228435 |
||
Jonathan Wakely
|
6d60110654 |
Leave errno unchanged by successful std::stoi etc
* include/ext/string_conversions.h (__stoa): Save and restore errno. * testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc: New. From-SVN: r228249 |
||
Jonathan Wakely
|
5caff414f1 |
Implement N4258 noexcept for std::basic_string.
PR libstdc++/58265 * doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions. * doc/html/manual/bugs.html: Regenerate. * include/bits/basic_string.h (basic_string): Implement N4258. Add correct exception-specifications and propagate allocators correctly. * include/bits/basic_string.tcc (basic_string::swap): Propagate allocators correctly. * include/debug/string (__gnu_debug::basic_string): Add correct exceptions-specifications and allcoator-extended constructors. * testsuite/21_strings/basic_string/allocator/char/copy.cc: New. * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: New. * testsuite/21_strings/basic_string/allocator/char/minimal.cc: New. * testsuite/21_strings/basic_string/allocator/char/move.cc: New. * testsuite/21_strings/basic_string/allocator/char/move_assign.cc: New. * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New. * testsuite/21_strings/basic_string/allocator/char/swap.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New. * testsuite/util/testsuite_allocator.h (tracker_allocator): Define defaulted assignment operators. From-SVN: r227681 |
||
Jonathan Wakely
|
94eb2ddbf0 |
1.cc: Verify the string contents.
* testsuite/21_strings/basic_string/operators/char/1.cc: Verify the string contents. From-SVN: r227660 |
||
Sebastian Huber
|
37d13ae648 |
libstdc++: Run tests on RTEMS
libstdc++-v3/ChangeLog * testsuite/18_support/pthread_guard.cc: Add *-*-rtems* target selector to all lines which contain a *-*-cygwin target selector. * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise. * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. * testsuite/21_strings/basic_string/pthread18185.cc: Likewise. * testsuite/21_strings/basic_string/pthread33394.cc: Likewise. * testsuite/21_strings/basic_string/pthread4.cc: Likewise. * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise. * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise. * testsuite/23_containers/list/pthread1.cc: Likewise. * testsuite/23_containers/list/pthread5.cc: Likewise. * testsuite/23_containers/map/pthread6.cc: Likewise. * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise. * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise. * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise. * testsuite/30_threads/async/42819.cc: Likewise. * testsuite/30_threads/async/49668.cc: Likewise. * testsuite/30_threads/async/54297.cc: Likewise. * testsuite/30_threads/async/any.cc: Likewise. * testsuite/30_threads/async/async.cc: Likewise. * testsuite/30_threads/async/launch.cc: Likewise. * testsuite/30_threads/async/lwg2021.cc: Likewise. * testsuite/30_threads/async/sync.cc: Likewise. * testsuite/30_threads/call_once/39909.cc: Likewise. * testsuite/30_threads/call_once/49668.cc: Likewise. * testsuite/30_threads/call_once/60497.cc: Likewise. * testsuite/30_threads/call_once/call_once1.cc: Likewise. * testsuite/30_threads/condition_variable/54185.cc: Likewise. * testsuite/30_threads/condition_variable/cons/1.cc: Likewise. * testsuite/30_threads/condition_variable/members/1.cc: Likewise. * testsuite/30_threads/condition_variable/members/2.cc: Likewise. * testsuite/30_threads/condition_variable/members/3.cc: Likewise. * testsuite/30_threads/condition_variable/members/53841.cc: Likewise. * testsuite/30_threads/condition_variable/native_handle/typesizes.cc: Likewise. * testsuite/30_threads/condition_variable_any/50862.cc: Likewise. * testsuite/30_threads/condition_variable_any/53830.cc: Likewise. * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise. * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise. * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise. * testsuite/30_threads/future/cons/move.cc: Likewise. * testsuite/30_threads/future/members/45133.cc: Likewise. * testsuite/30_threads/future/members/get.cc: Likewise. * testsuite/30_threads/future/members/get2.cc: Likewise. * testsuite/30_threads/future/members/share.cc: Likewise. * testsuite/30_threads/future/members/valid.cc: Likewise. * testsuite/30_threads/future/members/wait.cc: Likewise. * testsuite/30_threads/future/members/wait_for.cc: Likewise. * testsuite/30_threads/future/members/wait_until.cc: Likewise. * testsuite/30_threads/lock/1.cc: Likewise. * testsuite/30_threads/lock/2.cc: Likewise. * testsuite/30_threads/lock/3.cc: Likewise. * testsuite/30_threads/lock/4.cc: Likewise. * testsuite/30_threads/mutex/cons/1.cc: Likewise. * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise. * testsuite/30_threads/mutex/lock/1.cc: Likewise. * testsuite/30_threads/mutex/native_handle/1.cc: Likewise. * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise. * testsuite/30_threads/mutex/try_lock/1.cc: Likewise. * testsuite/30_threads/mutex/try_lock/2.cc: Likewise. * testsuite/30_threads/mutex/unlock/1.cc: Likewise. * testsuite/30_threads/mutex/unlock/2.cc: Likewise. * testsuite/30_threads/packaged_task/49668.cc: Likewise. * testsuite/30_threads/packaged_task/60564.cc: Likewise. * testsuite/30_threads/packaged_task/cons/1.cc: Likewise. * testsuite/30_threads/packaged_task/cons/2.cc: Likewise. * testsuite/30_threads/packaged_task/cons/3.cc: Likewise. * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise. * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise. * testsuite/30_threads/packaged_task/cons/move.cc: Likewise. * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise. * testsuite/30_threads/packaged_task/members/at_thread_exit.cc: Likewise. * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise. * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise. * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise. * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise. * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise. * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise. * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise. * testsuite/30_threads/packaged_task/members/reset.cc: Likewise. * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise. * testsuite/30_threads/packaged_task/members/swap.cc: Likewise. * testsuite/30_threads/packaged_task/members/valid.cc: Likewise. * testsuite/30_threads/promise/60966.cc: Likewise. * testsuite/30_threads/promise/cons/1.cc: Likewise. * testsuite/30_threads/promise/cons/alloc.cc: Likewise. * testsuite/30_threads/promise/cons/move.cc: Likewise. * testsuite/30_threads/promise/cons/move_assign.cc: Likewise. * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise. * testsuite/30_threads/promise/members/get_future.cc: Likewise. * testsuite/30_threads/promise/members/get_future2.cc: Likewise. * testsuite/30_threads/promise/members/set_exception.cc: Likewise. * testsuite/30_threads/promise/members/set_exception2.cc: Likewise. * testsuite/30_threads/promise/members/set_value.cc: Likewise. * testsuite/30_threads/promise/members/set_value2.cc: Likewise. * testsuite/30_threads/promise/members/set_value3.cc: Likewise. * testsuite/30_threads/promise/members/swap.cc: Likewise. * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise. * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: Likewise. * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise. * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise. * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Likewise. * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise. * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise. * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise. * testsuite/30_threads/recursive_mutex/unlock/2.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Likewise. * testsuite/30_threads/shared_future/cons/move.cc: Likewise. * testsuite/30_threads/shared_future/members/45133.cc: Likewise. * testsuite/30_threads/shared_future/members/get.cc: Likewise. * testsuite/30_threads/shared_future/members/get2.cc: Likewise. * testsuite/30_threads/shared_future/members/valid.cc: Likewise. * testsuite/30_threads/shared_future/members/wait.cc: Likewise. * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise. * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise. * testsuite/30_threads/shared_lock/cons/1.cc: Likewise. * testsuite/30_threads/shared_lock/cons/2.cc: Likewise. * testsuite/30_threads/shared_lock/cons/3.cc: Likewise. * testsuite/30_threads/shared_lock/cons/4.cc: Likewise. * testsuite/30_threads/shared_lock/cons/5.cc: Likewise. * testsuite/30_threads/shared_lock/cons/6.cc: Likewise. * testsuite/30_threads/shared_lock/locking/1.cc: Likewise. * testsuite/30_threads/shared_lock/locking/2.cc: Likewise. * testsuite/30_threads/shared_lock/locking/3.cc: Likewise. * testsuite/30_threads/shared_lock/locking/4.cc: Likewise. * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise. * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise. * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise. * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise. * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise. * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise. * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise. * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise. * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise. * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: Likewise. * testsuite/30_threads/this_thread/1.cc: Likewise. * testsuite/30_threads/this_thread/2.cc: Likewise. * testsuite/30_threads/this_thread/3.cc: Likewise. * testsuite/30_threads/this_thread/4.cc: Likewise. * testsuite/30_threads/thread/cons/1.cc: Likewise. * testsuite/30_threads/thread/cons/2.cc: Likewise. * testsuite/30_threads/thread/cons/3.cc: Likewise. * testsuite/30_threads/thread/cons/4.cc: Likewise. * testsuite/30_threads/thread/cons/49668.cc: Likewise. * testsuite/30_threads/thread/cons/5.cc: Likewise. * testsuite/30_threads/thread/cons/6.cc: Likewise. * testsuite/30_threads/thread/cons/7.cc: Likewise. * testsuite/30_threads/thread/cons/8.cc: Likewise. * testsuite/30_threads/thread/cons/9.cc: Likewise. * testsuite/30_threads/thread/cons/moveable.cc: Likewise. * testsuite/30_threads/thread/members/1.cc: Likewise. * testsuite/30_threads/thread/members/2.cc: Likewise. * testsuite/30_threads/thread/members/3.cc: Likewise. * testsuite/30_threads/thread/members/4.cc: Likewise. * testsuite/30_threads/thread/members/5.cc: Likewise. * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise. * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise. * testsuite/30_threads/thread/swap/1.cc: Likewise. * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise. * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise. * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise. * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise. * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise. * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise. * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise. * testsuite/30_threads/try_lock/1.cc: Likewise. * testsuite/30_threads/try_lock/2.cc: Likewise. * testsuite/30_threads/try_lock/3.cc: Likewise. * testsuite/30_threads/try_lock/4.cc: Likewise. * testsuite/30_threads/unique_lock/cons/1.cc: Likewise. * testsuite/30_threads/unique_lock/cons/2.cc: Likewise. * testsuite/30_threads/unique_lock/cons/3.cc: Likewise. * testsuite/30_threads/unique_lock/cons/4.cc: Likewise. * testsuite/30_threads/unique_lock/cons/5.cc: Likewise. * testsuite/30_threads/unique_lock/cons/6.cc: Likewise. * testsuite/30_threads/unique_lock/locking/1.cc: Likewise. * testsuite/30_threads/unique_lock/locking/2.cc: Likewise. * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. * testsuite/30_threads/unique_lock/locking/4.cc: Likewise. * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise. * testsuite/ext/rope/pthread7-rope.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. From-SVN: r227429 |
||
Jonathan Wakely
|
4a88769c96 |
re PR libstdc++/65049 (Undefined behaviour with std::char_traits<char>)
PR libstdc++/65049 * include/bits/char_traits.h (char_traits<char>::compare, char_traits<char>::find, char_traits<char>::move, char_traits<char>::copy, char_traits<char>::assign): Check for zero length. (char_traits<wchar_t>::compare, char_traits<wchar_t>::find, char_traits<wchar_t>::move, char_traits<wchar_t>::copy, char_traits<wchar_t>::assign): Likewise. (char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise. (char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise. * include/ext/pod_char_traits.h (char_traits<character<>>::move, char_traits<character<>>::copy): Likewise. * testsuite/21_strings/char_traits/requirements/char/65049.cc: New. * testsuite/21_strings/char_traits/requirements/char16_t/65049.cc: New. * testsuite/21_strings/char_traits/requirements/char32_t/65049.cc: New. * testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc: New. From-SVN: r227127 |
||
Jonathan Wakely
|
f970a17d6f |
re PR libstdc++/64657 (Support iterators with overloaded operator-comma)
PR libstdc++/64657 * include/bits/basic_string (basic_string::_S_copy_chars): Cast expression to void. * include/bits/locale_facets_nonio.tcc (money_get::_M_extract, time_get::_M_extract_num, time_get::_M_extract_name, time_get::_M_extract_wday_or_month): Likewise. * include/bits/stl_algo.h (__includes, __replace_copy_if, __is_sorted_until, __is_permutation, transform): Likewise. * include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m, __equal::equal, __lexicographical_compare_impl, equal): Likewise. * include/bits/stl_numeric.h (inner_product): Likewise. * include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise. * testsuite/util/testsuite_iterators.h (output_iterator_wrapper, input_iterator_wrapper): Declare unusable comma operator. * testsuite/21_strings/basic_string/cons/char/64657.cc: New. * testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc: New. From-SVN: r222579 |
||
Jonathan Wakely
|
744e26e71e |
re PR libstdc++/65630 (operator+ for new std::string not exported)
PR libstdc++/65630 * config/abi/pre/gnu.ver: Export operator+ for new strings. * testsuite/21_strings/basic_string/operators/char/65630.cc: New. * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New. From-SVN: r221775 |