summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite
Commit message (Collapse)AuthorAgeFilesLines
...
* * acinclude.m4: Fix typo in comment.redi2015-01-162-0/+86
| | | | | | | | | | | | | | | | | | | | | * configure: Regenerate. * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>, codecvt<char16_t, char, mbstate_t>): Declare specializations. * include/bits/locale_facets.h: Reserve space for new specializations. * src/c++11/Makefile.am: Add codecvt.cc. * src/c++11/Makefile.in: Regenerate. * src/c++11/codecvt.cc: New. * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc with -std=gnu++11. * src/c++98/Makefile.in: Regenerate. * src/c++98/locale_init.cc: Initialize new codecvt specializations. * src/c++98/localename.cc: Likewise. * config/abi/pre/gnu.ver: Exports for new codecvt specializations. * testsuite/22_locale/codecvt/utf8.cc: New. * testsuite/22_locale/locale/cons/unicode.cc: Check that new specializations are installed in locale objects. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219747 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/64356jason2015-01-133-9/+0
| | | | | | | | | PR libstdc++/58777 * constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT pointer expressions. (cxx_eval_increment_expression): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219559 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/64476redi2015-01-091-0/+65
| | | | | | | | | * include/bits/stl_uninitialized.h (uninitialized_copy): Fix is_assignable arguments. * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219398 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/64239timshen2015-01-091-0/+43
| | | | | | | | | | | * include/bits/regex.h (match_results<>::swap): Use std::swap instead of swap. * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier): Likewise. * testsuite/28_regex/match_results/swap.cc: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219373 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/60132redi2015-01-0812-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/std/type_traits (has_trivial_default_constructor, has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated attribute. * testsuite/20_util/has_trivial_copy_assign/requirements/ explicit_instantiation.cc: Use -Wno-deprecated. * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc: Likewise. * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/requirements/ typedefs.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. * testsuite/20_util/has_trivial_default_constructor/requirements/ explicit_instantiation.c: Likewise. * testsuite/20_util/has_trivial_default_constructor/requirements/ typedefs.cc: Likewise. * testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise. * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated trait. * testsuite/20_util/tuple/requirements/dr801.cc: Likewise. * testsuite/util/testsuite_common_types.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219350 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright years.jakub2015-01-056370-6371/+6371
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219188 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/64483redi2015-01-041-0/+1
| | | | | | | * testsuite/18_support/exception_ptr/64241.cc: Use dg-require-atomic-builtins. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219174 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyrightredi2015-01-021-1/+1
| | | | | | date. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219153 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>edlinger2015-01-021-0/+49
| | | | | | | | | | | | | | PR libstdc++/64422 * src/c++98/misc-inst.cc (string::erase): Add missing overloads. (string::insert): Likewise. (string::replace): Likewise. (wstring::erase): Likewise. (wstring::insert): Likewise. (wstring::replace): Likewise. * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219149 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/64438redi2015-01-0210-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc: Revert removal of dg-require-string-conversions. * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219146 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:dje2014-12-291-2/+2
| | | | | | | Add *-*-aix* to dg-xfail-if, dg-excess-errors. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219097 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/37522redi2014-12-2210-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/basic_string.h (stod, stof, stoi, stol, stold, stoll, stoul, stoull, to_string): Only use _GLIBCXX_HAVE_BROKEN_VSWPRINTF to guard definition of to_wstring. * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc: Do not use dg-require-string-conversions. * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219019 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-12-22 Ville Voutilainen <ville.voutilainen@gmail.com>redi2014-12-228-1/+257
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/60271 C++14 constexpr min, max, minmax, min_element, max_element and minmax_element. Also constexpr for 20.9.5-20.9.9, aka various library functors. * include/bits/c++config: Add _GLIBCXX14_CONSTEXPR. * include/bits/algorithmfwd.h (min, max, minmax, min_element, max_element): Use it. * include/bits/predefined_ops.h (_Iter_less_iter, __iter_less_iter, _Iter_comp_iter, __iter_comp_iter): Likewise. * include/bits/stl_algo.h (minmax, __minmax_element, minmax_element, min, max, __min_element, min_element, __max_element, max_element) Likewise. * include/bits/stl_algobase.h (min, max): Likewise. * include/bits/stl_function.h (plus, minus, multiplies, divides, modulus, negate, equal_to, not_equal_to, greater, less, greater_equal, less_equal, logical_and, logical_or, logical_not, bit_and, bit_or, bit_xor, bit_not, unary_negate, not1, binary_negate, not2): Likewise. * testsuite/20_util/function_objects/constexpr.cc: New. * testsuite/25_algorithms/max/constexpr.cc: Likewise. * testsuite/25_algorithms/max_element/constexpr.cc: Likewise. * testsuite/25_algorithms/min/constexpr.cc: Likewise. * testsuite/25_algorithms/min_element/constexpr.cc: Likewise. * testsuite/25_algorithms/minmax/constexpr.cc: Likewise. * testsuite/25_algorithms/minmax_element/constexpr.cc: Likewise. * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219015 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-12-22 Rüdiger Sonderfeld <ruediger@c-plusplus.de>redi2014-12-224-0/+197
| | | | | | | | | | | | | PR libstdc++/54354 * include/std/iomanip (_Get_time): New struct. (get_time): New manipulator. (operator<<): New overloaded function. * testsuite/27_io/manipulators/extended/get_time/char/1.cc: New. * testsuite/27_io/manipulators/extended/get_time/char/2.cc: New. * testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: New. * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219013 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-12-22 Rüdiger Sonderfeld <ruediger@c-plusplus.de>redi2014-12-224-0/+472
| | | | | | | | | | | | | | | | | | | Jonathan Wakely <jwakely@redhat.com> PR libstdc++/60396 * config/abi/pre/gnu.ver: Add new exports. * include/bits/locale_facets_nonio.h (time_get::get): New overloads. (time_get::do_get): New virtual function. * include/bits/locale_facets_nonio.tcc (time_get::get): Define. (time_get::do_get): Define. * src/c++11/string-inst.cc (time_get::get, time_get::do_get): Add C++11-only instantiations. * testsuite/22_locale/time_get/get/char/1.cc: New. * testsuite/22_locale/time_get/get/char/2.cc: New. * testsuite/22_locale/time_get/get/wchar_t/1.cc: New. * testsuite/22_locale/time_get/get/wchar_t/2.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219012 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-12-20 François Dumont <fdumont@gcc.gnu.org>fdumont2014-12-201-15/+18
| | | | | | | | | | | * include/debug/vector (std::__debug::vector<>::clear()): Do not reset guaranteed capacity. * testsuite/23_containers/vector/bool/allocator/swap.cc: Move propagating_allocator equality and inequality operators to __gnu_test namespace. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218991 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-12-20 François Dumont <fdumont@gcc.gnu.org>fdumont2014-12-201-1/+1
| | | | | | | * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218990 138bc75d-0d04-0410-961f-82ee72b054a4
* New std::string implementation.redi2014-12-1930-10/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI): Remove. (GLIBCXX_ENABLE_LIBSTDCXX_DUAL_ABI, GLIBCXX_DEFAULT_ABI): Add. * configure.ac: Use new macros. * configure: Regenerate. * Makefile.in: Regenerate. * doc/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. * include/Makefile.am: Set _GLIBCXX_USE_DUAL_ABI. * include/Makefile.in: Regenerate. * config/abi/pre/gnu.ver: Export symbols related to new std::string. Tighten old patterns to not match new symbols. * config/locale/generic/monetary_members.cc: Guard some definitions to not compile with new ABI. * config/locale/gnu/monetary_members.cc: Likewise. * config/locale/gnu/numeric_members.cc: Prevent double-free. * config/os/gnu-linux/ldbl-extra.ver: Add new __gnu_cxx_ldbl128 exports. Tighten old patterns. * doc/xml/manual/configure.xml: Document new configure options. * doc/html/*: Regenerate. * include/bits/basic_string.h (__cxx11::basic_string): Define new non-reference-counted implementation in inline namespace __cxx11. (stoi, stol, stoll, stof, stod, stold, to_string): Conditionally use inline namespace. (literals::string_literals::operator"): Conditionally use abi-tag. * include/bits/basic_string.tcc (__cxx11::basic_string): Define. * include/bits/c++config: Define _GLIBCXX_USE_DUAL_ABI and LDBL_CXX11_ABI namespace macros. * include/bits/locale_classes.h (locale::name()): Use abi_tag when new ABI is in use. (locale::_S_twinned_facets): New static member. (locale::facet::__shim): Declare new type. (locale::_facet::_M_sso_shim, locale::_facet::_M_cow_shim): New functions for creating shims. (locale::_Impl::_M_facet_unchecked): New member function for use during construction. (locale::_Impl::_M_init_extra): New member functions to create second version of some facets. (collate, collate_byname): Use abi_tag when new ABI is in use. * include/bits/locale_facets.h: Add _GLIBCXX_NUM_CXX11_FACETS macro. (numpunct, numpunct_byname): Use __cxx11 namespace. (num_get::_M_extract_float, num_get::_M_extract_int): Use abi_tag when new ABI is in use. (num_get::__do_get, num_put::__do_put): Do not declare long double compat functions for new ABI. * include/bits/locale_facets.tcc (num_get, num_put): Use abi_tag on definitions. (numpunct, numpunct_byname): Qualify explicit instantiations. * include/bits/locale_facets_nonio.h (time_get, time_get_byname, moneypunct, moneypunct_byname, money_get, money_put, messages, messages_byname): Use new inline namespace macros. (money_get::__do_get, money_put::__do_put): Do not declare long double compat functions for new ABI. * include/bits/locale_facets_nonio.tcc (money_get, money_put): Use new namespace macros. (money_get::__do_get, money_put::__do_put): Do not define for new ABI. * include/bits/localefwd.h (numpunct, numpunct_byname, collate, collate_byname, time_get, time_get_byname, moneypunct, moneypunct_byname, money_get, money_put, messages, messages_byname): Use new namespace macros. * include/bits/regex.h: Use inline namespace macros. * include/bits/stl_list.h (_List_base, list): Use inline namespace instead of abi-tag. * include/bits/stringfwd.h (basic_string): Use namespace macros. * include/std/iosfwd (basic_stringbuf, basic_istringstream, basic_ostringstream, basic_stringstream): Likewise. * include/std/sstream: Likewise. (basic_stringbuf::__xfer_bufptrs): Update streambuf pointers on move. * include/std/stdexcept (__cow_string, __sso_string): New types for indirectly using std::string with either ABI. (logic_error, runtime_error): Replace std::string member with __cow_string when new ABI is in use. Declare non-inline copy constructor and assignment operator. Declare const char* constructors. (domain_error, invalid_argument, length_error, out_of_range, range_error, overflow_error, underflow_error): Declare const char* constructors. * include/std/system_error (error_category): Replace with new definition in inline namespace _V2. (error_code::message, error_condition::message): Use abi_tag on functions returning std::string. * python/libstdcxx/v6/printers.py (StdStringPrinter): Handle new ABI. * src/c++11/Makefile.am: Add new files. * src/c++11/Makefile.in: Regenerate. * src/c++11/compatibility-c++0x.cc: Compile with old std::string ABI. Define old error_category symbols. * src/c++11/cow-fstream-inst.cc: New. Instantiate fstream members using old std::string ABI. * src/c++11/cow-locale_init.cc (locale::_Impl::_M_init_extra): Define. * src/c++11/cow-shim_facets.cc: Define shim facets using old ABI. * src/c++11/cow-sstream-inst.cc: Instantiate stringstreams using old std::string ABI. * src/c++11/cow-stdexcept.cc: Define new constructors and assignment operators. (__cow_string, error_category::_M_message): Define. * src/c++11/cow-string-inst.cc: Explicit instantiations using old std::string. Include src/c++98/istream-string.cc. * src/c++11/cow-wstring-inst.cc: Explicit instantiations using old std::wstring. * src/c++11/cxx11-hash_tr1.cc: Explicit instantiations using new string. * src/c++11/cxx11-ios_failure.cc: Add sanity check. * src/c++11/cxx11-locale-inst.cc: Instantiate facets using new std::string. * src/c++11/cxx11-shim_facets.cc: Define shim facets using new ABI. * src/c++11/cxx11-stdexcept.cc: Define constructors taking new std::string. * src/c++11/cxx11-wlocale-inst.cc: Instantiate facets using new std::wstring. * src/c++11/fstream-inst.cc: Compile with new ABI. * src/c++11/functexcept.cc: Compile with old ABI. * src/c++11/random.cc: Compile with new ABI. * src/c++11/sstream-inst.cc: Compile with new ABI. * src/c++11/string-inst.cc: Explicit instantiations for new string. * src/c++11/system_error.cc (__sso_string, error_category::_M_message): Define. * src/c++11/wstring-inst.cc: Compile with new ABI. * src/c++98/Makefile.am: Compile some host files twice for old and new std::string. Add new files. * src/c++98/Makefile.in: Regenerate. * src/c++98/compatibility-ldbl.cc: Compile with old ABI. * src/c++98/compatibility.cc: Likewise. * src/c++98/concept-inst.cc: Likewise. * src/c++98/hash_tr1.cc: Likewise. * src/c++98/istream-string.cc: New file defining functions that work with istream and std::string moved from ... * src/c++98/istream.cc: ... here. * src/c++98/cow-istream-string.cc: Recompile istream-string.cc with old ABI. * src/c++98/locale-inst.cc: Adjust facet instantiations to work for either ABI. * src/c++98/locale.cc (locale::_M_install_facet, locale::_M_install_cache): Handle twinned facets. * src/c++98/locale-facets.cc: Compile with old std::string ABI. (__verify_grouping): Define new overload and old std::string version. * src/c++98/locale_init.cc: Initialize twinned facets. * src/c++98/localename.cc: Likewise. * src/c++98/misc-inst.cc: Instantiate C++98-only std::string members. (__verify_grouping): Define new std::string version. * src/c++98/stdexcept.cc: Compile with old std::string ABI. * src/c++98/wlocale-inst.cc: Likewise. * testsuite/18_support/50594.cc: Adjust to work with SSO strings. * 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/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: Likewise. * testsuite/21_strings/headers/string/synopsis.cc: Use inline namespace macros. * testsuite/23_containers/headers/list/synopsis.cc: Likewise. * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Set dg-options so correct exception type can be caught. * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/ exceptions_failbit.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ exceptions_failbit.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/char/ exceptions_null.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/wchar_t/ exceptions_null.cc: Likewise. * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ exceptions_null.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ exceptions_null.cc: Likewise. * testsuite/27_io/ios_base/storage/2.cc: Likewise. * testsuite/27_io/ios_base/failure/cxx11.cc: Disable for old ABI. * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error. * testsuite/libstdc++-prettyprinters/libfundts.cc: Use old ABI. * testsuite/libstdc++-prettyprinters/simple.cc: Likewise. * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise. * testsuite/util/exception/safety.h: Adjust member function types for new std::string. * testsuite/util/testsuite_abi.cc: Add new version and ignore __float128 symbols in __cxx11 namespace. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218964 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/64302timshen2014-12-171-0/+49
| | | | | | | | | | | | | PR libstdc++/64303 * include/bits/regex.h (match_results::cbegin, match_results::cend, regex_token_iterator::regex_token_iterator, regex_token_iterator::_M_normalize_result): Fix match_results cbegin and cend and regex_token_iterator::_M_result invariant. * include/bits/regex.tcc: Fix regex_token_iterator::_M_result invariant. * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218810 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/64239timshen2014-12-131-0/+45
| | | | | | | | | | | | | | | | * include/bits/regex.h (match_results<>::match_results, match_results<>::operator=, match_results<>::position, match_results<>::swap): Remove match_results::_M_in_iterator. Fix ctor/assign/swap. * include/bits/regex.tcc: (__regex_algo_impl<>, regex_iterator<>::operator++): Set match_results::_M_begin as "start position". * testsuite/28_regex/iterators/regex_iterator/char/ string_position_01.cc: Test cases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218710 138bc75d-0d04-0410-961f-82ee72b054a4
* Post-Urbana updates to Library Fundamentals v1.redi2014-12-135-183/+3
| | | | | | | | | | | | | | | | | | * include/experimental/any (any): Remove allocator support and update feature-testing macro. * include/experimental/functional: Update feature-testing macro. * include/experimental/optional (optional::_M_get()): Add constexpr. (optional::operator*(), optional::value()): Overload and add ref-qualifiers. Update feature-testing macro. * include/experimental/string_view (basic_string_view::clear): Remove and update feature-testing macro. * testsuite/experimental/any/cons/3.cc: Remove. * testsuite/experimental/any/cons/4.cc: Remove. * testsuite/experimental/any/misc/any_cast.cc: Remove allocator tests. * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. * testsuite/experimental/string_view/capacity/1.cc: Don't test clear(). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218709 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/58594redi2014-12-122-2/+37
| | | | | | | | | * include/bits/shared_ptr_base.h: Cast away cv-quals. * testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc: New. * testsuite/20_util/shared_ptr/creation/private.cc: Make allocator rebindable so test passes with -fno-rtti. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218691 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/64241redi2014-12-121-0/+39
| | | | | | | | * libsupc++/exception_ptr.h: Return empty object when exceptions are disabled. * testsuite/18_support/exception_ptr/64241.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218675 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/bits/stl_iterator.h (make_reverse_iterator): LWG DR 2285.redi2014-12-121-0/+35
| | | | | | | * include/std/tuple: Add feature-test macro. * testsuite/24_iterators/reverse_iterator/make.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218670 138bc75d-0d04-0410-961f-82ee72b054a4
* [libstdc++][testsuite] Mark as UNSUPPORTED tests that don't fit into tiny ↵ktkachov2014-12-121-2/+19
| | | | | | | | | | | memory model * testsuite/lib/libstdc++.exp: Include target-utils.exp. (v3_target_compile): Check if test is unsupported. (v3_target_compile_as_c): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218661 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/30_threads/condition_variable/members/3.cc: Only useredi2014-12-111-0/+5
| | | | | | a thread_local when __cxa_thread_atexit_impl is available. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218638 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement LWG DR 2329 and DR 2332.redi2014-12-104-0/+124
| | | | | | | | | | | | | | | * include/bits/regex.h (regex_match, regex_search): LWG DR 2329, add deleted overloads for rvalue strings. (regex_iterator, regex_token_iterator): LWG DR 2332, add deleted constructors for rvalue regexes. * testsuite/28_regex/algorithms/regex_match/dr2329_neg.cc: New. * testsuite/28_regex/algorithms/regex_search/dr2329_neg.cc: New. * testsuite/28_regex/iterators/regex_iterator/ctors/char/dr2332_neg.cc: New. * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/ dr2332_neg.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218555 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/64203redi2014-12-091-4/+6
| | | | | | | * include/std/shared_mutex: Fix preprocessor conditions. * testsuite/experimental/feat-cxx14.cc: Check conditions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218511 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/64140timshen2014-12-041-0/+53
| | | | | | | | | | * include/bits/regex.tcc (regex_iterator<>::operator++): Update prefix.matched after modifying prefix.first. * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218340 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-12-03 François Dumont <fdumont@gcc.gnu.org>fdumont2014-12-032-3/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/13631 * include/bits/codecvt.h (codecvt<char, char, mbstate_t>): friend class std::messages<char>. (codecvt<wchar_t, char, mbstate_t>): friend class std::messages<wchar_t>. * config/locale/gnu/messages_member.h (messages<char>::do_open): Specialized. (messages<char>::do_close): Likewise. (messages<wchar_t>::do_open): Likewise. (messages<wchar_t>::do_close): Likewise. * config/locale/gnu/messages_member.cc: (messages<char>::do_open): Implement. Use bind_textdomain_codeset based on codecvt<char, char, mbstate_t>._M_c_locale_codecvt code set. Use internal cache to keep opened domain name with locale information. (messages<wchar_t>::do_open): Likewise with codecvt<wchar_t, char, mbstate_t>. (messages<char>::do_close): Implement. Clean cache information. (messages<wchar_t>::do_close): Likewise. (get_glibc_msg): New. Use dgettext rather than gettext using cached domain name associated to catalog id. (messages<char>::do_get): Use latter. (messages<wchar_t>::do_get): Likewise and use also cached locale codecvt<wchar_t, char, mbstate_t> facet to convert wchar_t default value to char and the result back to wchar_t. * testsuite/22_locale/messages/13631.cc: New. * testsuite/22_locale/messages/members/char/2.cc: Use also fr_FR locale for charset conversion to get the expected accented character. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218329 138bc75d-0d04-0410-961f-82ee72b054a4
* Define *_at_thread_exit() functions.redi2014-12-023-0/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/abi/pre/gnu.ver: Add new exports. * include/std/condition_variable (notify_all_at_thread_exit): Declare. (__at_thread_exit_elt): New base class. * include/std/future: Add comments documenting the implementation. (__future_base::_State_baseV2::_State_baseV2()): Use brace-or-equal initializers and define constructor as defaulted. (__future_base::_State_baseV2::_M_ready): Replace member function with member variable. (__future_base::_State_baseV2::_M_set_result): Set _M_ready. (__future_base::_State_baseV2::_M_set_delayed_result): Define. (__future_base::_State_baseV2::_M_break_promise): Set _M_ready. (__future_base::_State_baseV2::_Make_ready): New helper class. (__future_base::_Deferred_state::_M_has_deferred): Remove requirement for caller to own mutex. (__future_base::_Async_state_impl::~_Async_state_impl): Call join directly. (__future_base::_Task_state_base::_M_run): Take arguments by reference. (__future_base::_Task_state_base::_M_run_delayed): Declare new pure virtual function. (__future_base::_Task_state::_M_run_delayed): Define override. (promise::set_value_at_thread_exit): Define. (promise::set_exception_at_thread_exit): Define. (packaged_task::make_ready_at_thread_exit): Define. * src/c++11/condition_variable.cc (notify_all_at_thread_exit): Define. * src/c++11/future.cc (__future_base::_State_baseV2::_Make_ready::_M_set): Define. * testsuite/30_threads/condition_variable/members/3.cc: New. * testsuite/30_threads/packaged_task/members/at_thread_exit.cc: New. * testsuite/30_threads/promise/members/at_thread_exit.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218255 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/63840redi2014-12-012-0/+110
| | | | | | | | | | | * include/std/functional (function::function(const function&)): Set _M_manager after operations that might throw. * include/tr1/functional (function::function(const function&), function::function(_Functor, _Useless)): Likewise. * testsuite/20_util/function/63840.cc: New. * testsuite/tr1/3_function_objects/function/63840.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218215 138bc75d-0d04-0410-961f-82ee72b054a4
* XFAIL 27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc on Solaris ↵ro2014-11-261-0/+1
| | | | | | | | | | (PR libstd++/64054) PR libstdc++/64054 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc: XFAIL execution on *-*-solaris*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218081 138bc75d-0d04-0410-961f-82ee72b054a4
* Ensure single 'UNSUPPORTED: prettyprinters.exp' messagevries2014-11-251-0/+7
| | | | | | | | | 2014-11-25 Tom de Vries <tom@codesourcery.com> * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Add missing dg-finish. Only print unsupported message once. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218060 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/63920timshen2014-11-251-0/+2
| | | | | | | | | | | | * include/bits/regex_executor.h: Make _M_begin non const. * include/bits/regex_executor.tcc (_Executor<>::_M_search): Increase _M_begin in search algorithm, so that _M_begin is treated as "current start position" for each search iteration. * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218037 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/63959jason2014-11-201-0/+2
| | | | | | * tree.c (trivially_copyable_p): Check for CP_TYPE_VOLATILE_P. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217893 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-11-18 Marc Glisse <marc.glisse@inria.fr>glisse2014-11-181-3/+6
| | | | | | | | | | | | | | | | PR libstdc++/43622 gcc/cp/ * rtti.c (emit_support_tinfos): Handle __float128. libstdc++-v3/ * config/abi/pre/float128.ver: New file. * configure.ac: Use float128.ver when relevant. * configure: Regenerate. * testsuite/util/testsuite_abi.cc (check_version): Accept new CXXABI_FLOAT128 version. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217735 138bc75d-0d04-0410-961f-82ee72b054a4
* Define C++11 version of std::ios_base::failure.redi2014-11-145-1/+80
| | | | | | | | | | | | | | | | | | | | | * config/abi/pre/gnu.ver: Add new exports. * include/bits/ios_base.h (ios_base::failure): New definition using abi_tag. (io_errc, make_error_code, make_error_category, iostream_category): Define. * include/std/system_error (system_error): Add char* constructors. * src/c++11/Makefile.am: Add new file. * src/c++11/Makefile.in: Regenerate. * src/c++11/cxx11-ios_failure.cc: New file. * src/c++98/ios_failure.cc: Compile old definition without abi_tag. * testsuite/27_io/ios_base/failure/cxx11.cc: New. * testsuite/27_io/ios_base/failure/what-1.cc: Allow string returned by ios_base::failure::what() to contain additional data. * testsuite/27_io/ios_base/failure/what-2.cc: Likewise.. * testsuite/27_io/ios_base/failure/what-3.cc: Likewise.. * testsuite/27_io/ios_base/failure/what-big.cc: Likewise.. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217559 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-11-13 Daniel Kruegler <daniel.kruegler@gmail.com>timshen2014-11-141-0/+55
| | | | | | | | | | * include/bits/regex.h: Support embedded zeros in sub_match comparisons (DR 2217) * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Add test cases for embedded zeros git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217535 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/63775timshen2014-11-131-0/+51
| | | | | | | | | | | | | | * include/bits/regex_compiler.h (_Compiler<>::_M_expression_term, _BracketMatcher<>::_M_make_range): Throw regex_erorr on invalid range like [z-a]. Change _M_expression_term interface. * include/bits/regex_compiler.tcc ( _Compiler<>::_M_insert_bracket_matcher, _Compiler<>::_M_expression_term): Rewrite bracket expression parsing. * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc: Add testcases and move file out of extended. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217461 138bc75d-0d04-0410-961f-82ee72b054a4
* std::shared_ptr atomic operationsredi2014-11-123-0/+133
| | | | | | | | | | | | | | | PR libstdc++/57250 * config/abi/pre/gnu.ver: Export new symbols. * include/Makefile.am: Add new header. * include/Makefile.in: Regenerate. * include/bits/shared_ptr_atomic.h: Define atomic access functions. * include/std/memory: Include new header. * src/c++11/shared_ptr.cc (_Sp_locker): Define and use mutex pool. * testsuite/20_util/shared_ptr/atomic/1.cc: New. * testsuite/20_util/shared_ptr/atomic/2.cc: New. * testsuite/20_util/shared_ptr/atomic/3.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217452 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement resolutions of LWG 2399, 2400 and 2401.redi2014-11-122-2/+2
| | | | | | | | | | | | | | * include/bits/shared_ptr.h (shared_ptr, weak_ptr): Define _Convertible alias template to simplify constraints. (shared_ptr(unique_ptr<TD>&&)): Constrain (LWG 2399). * include/bits/shared_ptr_base.h: Likewise. (_Sp_counted_deleter::_M_get_deleter()): Use addressof (LWG 2400). * include/std/functional (function::operator=(nullptr_t)): Add noexcept (LWG 2401). * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error. * testsuite/20_util/shared_ptr/cons/void_neg.cc: Adjust dg-error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217442 138bc75d-0d04-0410-961f-82ee72b054a4
* LWG DR 2315. weak_ptr should be movableredi2014-11-122-2/+2
| | | | | | | | | | | * include/bits/shared_ptr.h (weak_ptr): Add move constructor and assignment. * include/bits/shared_ptr_base.h (__weak_count, __weak_ptr): Likewise. Use nullptr and injected class name. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error. * testsuite/20_util/shared_ptr/cons/void_neg.cc: Adjust dg-error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217413 138bc75d-0d04-0410-961f-82ee72b054a4
* Add -Wno-deprecated to dg-options.redi2014-11-128-8/+8
| | | | | | | | | | | | | | PR c++/33911 * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Use -Wno-deprecated. * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise. * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise. * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise. * testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise. * testsuite/ext/array_allocator/variadic_construct.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217412 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/experimental/optional/constexpr/observers/1.cc: Removeredi2014-11-125-5/+0
| | | | | | | | | | unused header. * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217401 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/experimental/optional (_Has_addressof): Check for non-memberredi2014-11-122-0/+4
| | | | | | | | operator&. * testsuite/experimental/optional/observers/2.cc: Add operator&. * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217397 138bc75d-0d04-0410-961f-82ee72b054a4
* Define __void_t and SFINAE-friendly iterator_traits.redi2014-11-112-6/+5
| | | | | | | | | | | | | * include/std/type_traits (__void_t): Define new alias template. (_GLIBCXX_HAS_NESTED_TYPE): Redefine using __void_t. * include/std/functional (_Maybe_get_result_type): Likewise. * include/bits/stl_iterator_base_types.h (__iterator_traits): Likewise. * include/bits/uses_allocator.h (__uses_allocator_helper): Likewise. * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error. * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adjust to changes in _GLIBCXX_HAS_NESTED_TYPE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217395 138bc75d-0d04-0410-961f-82ee72b054a4
* Make std::mem_fn work with varargs functions.redi2014-11-116-9/+54
| | | | | | | | | | | | | | | | | | * include/std/functional (_Mem_fn_traits): Add partial specializations for varargs functions. (_Mem_fn_base): Do not check arguments are convertible for varargs. (_Bind_check_arity): Add partial specializations for varargs functions. * include/std/type_traits (__bool_constant): Add alias template. * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error. * testsuite/20_util/bind/refqual.cc: New, test ref-qualifiers. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error. * testsuite/20_util/function_objects/mem_fn/refqual.cc: Test varargs. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust dg-error. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust dg-error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217393 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-11-11 Siva Chandra Reddy <sivachandra@google.com>redi2014-11-111-0/+79
| | | | | | | * testsuite/libstdc++-xmethods/associative-containers.cc: Add new file missed from earlier commit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217378 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-11-11 François Dumont <fdumont@gcc.gnu.org>fdumont2014-11-114-19/+140
| | | | | | | | | | | | | | | PR libstdc++/61107 * include/bits/stl_algo.h (__inplace_stable_partition): Delete. (__stable_partition_adaptive): Return __first if range length is 1. (__stable_partition): Adapt. * testsuite/util/testsuite_new_operators.h: New. * testsuite/25_algorithms/stable_sort/1.cc: Test algo in simulated constraint memory context. * testsuite/25_algorithms/inplace_merge/1.cc: Likewise. * testsuite/25_algorithms/stable_partition/1.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217370 138bc75d-0d04-0410-961f-82ee72b054a4