aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
AgeCommit message (Collapse)AuthorFilesLines
2015-01-04re PR libstdc++/64483 (FAIL: 18_support/exception_ptr/64241.cc (test for ↵Jonathan Wakely2-0/+7
excess errors)) PR libstdc++/64483 * testsuite/18_support/exception_ptr/64241.cc: Use dg-require-atomic-builtins. From-SVN: r219174
2015-01-0264422.cc: Fix copyright date.Jonathan Wakely2-1/+6
* testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright date. From-SVN: r219153
2015-01-02re PR libstdc++/64475 (FAIL: ↵Tim Shen2-1/+7
28_regex/algorithms/regex_match/ecma/char/backref.cc) PR libstdc++/64475 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the iterator, since the original one shouldn't be mutated. From-SVN: r219151
2015-01-02re PR c++/64422 (basic_string::erase is unresloved)Bernd Edlinger3-0/+76
2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de> 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. From-SVN: r219149
2015-01-02re PR web/64468 (Incorrect indentation in Doxygen-generated sources of ↵Jonathan Wakely2-1/+6
libstdc++) PR libstdc++/64468 * doc/doxygen/user.cfg.in: Set correct TAB_SIZE. From-SVN: r219147
2015-01-02re PR libstdc++/64438 (Removing string-conversion requirement causes ↵Jonathan Wakely11-0/+39
libstdc++-v3 fails on AArch64.) PR libstdc++/64438 * 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. From-SVN: r219146
2015-01-02Rotate libstdc++-v3/ChangeLogJonathan Wakely1-0/+0
From-SVN: r219145
2014-12-31re PR libstdc++/64441 (A match_results returns an incorrect sub_match if the ↵Tim Shen3-2/+8
sub_match::matched is false) PR libstdc++/64441 * include/bits/regex.tcc (__regex_algo_impl): s/auto/auto&/. * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise. From-SVN: r219121
2014-12-28c99_classification_macros_c.cc: Add *-*-aix* to dg-xfail-if, dg-excess-errors.David Edelsohn2-2/+7
* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: Add *-*-aix* to dg-xfail-if, dg-excess-errors. From-SVN: r219097
2014-12-23Compile locale-inst.cc and wlocale-inst.cc as C++11.Jonathan Wakely9-25/+26
PR libstdc++/64389 * src/c++11/Makefile.am: Add locale-inst.cc and wlocale-inst.cc. * src/c++11/Makefile.in: Regenerate. * src/c++11/locale-inst.cc: Move from src/c++98/. * src/c++11/wlocale-inst.cc: Likewise. * src/c++11/cxx11-locale-inst.cc: Adjust path to locale-inst.cc. * src/c++11/string-inst.cc: Remove time_get instantiations. * src/c++98/Makefile.am: Remove locale-inst.cc and wlocale-inst.cc. * src/c++98/Makefile.in: Regenerate. * src/c++98/locale-inst.cc: Move to src/c++11/. * src/c++98/wlocale-inst.cc: Likewise. From-SVN: r219050
2014-12-22basic_string.h: Fix _S_local_capacity for large sizeof(_CharT).Paolo Carlini2-1/+6
2014-12-22 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/basic_string.h: Fix _S_local_capacity for large sizeof(_CharT). From-SVN: r219031
2014-12-22re PR libstdc++/37522 (Incorrect vswprintf prototype breaks __to_xstring)Jonathan Wakely12-12/+30
PR libstdc++/37522 * 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. From-SVN: r219019
2014-12-22re PR libstdc++/60271 ([DR2369] [C++1y] std::max(initializer_list<T>) cannot ↵Ville Voutilainen15-4/+382
use std::max_element) 2014-12-22 Ville Voutilainen <ville.voutilainen@gmail.com> 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. From-SVN: r219015
2014-12-22status_cxx2011.xml: Update.Jonathan Wakely3-38/+25
* doc/xml/manual/status_cxx2011.xml: Update. * doc/html/manual/status.html: Regenerate. From-SVN: r219014
2014-12-22re PR libstdc++/54354 (TODO extended iomanip manipulators std::get_time and ↵Rüdiger Sonderfeld6-0/+262
std::put_time (C++11, section 27.7.5)) 2014-12-22 Rüdiger Sonderfeld <ruediger@c-plusplus.de> 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. From-SVN: r219013
2014-12-22re PR libstdc++/60396 (Missing time_get<>::get() functions)Rüdiger Sonderfeld9-0/+687
2014-12-22 Rüdiger Sonderfeld <ruediger@c-plusplus.de> 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. Co-Authored-By: Jonathan Wakely <jwakely@redhat.com> From-SVN: r219012
2014-12-21re PR libstdc++/64367 (g++-v5/stdexcept:52:28: error: invalid use of ↵Jonathan Wakely2-1/+6
non-static data member '_M_p') PR libstdc++/64367 * include/std/stdexcept: Don't use non-static member in sizeof. From-SVN: r218997
2014-12-20vector (std::__debug::vector<>::clear()): Do not reset guaranteed capacity.François Dumont3-16/+24
2014-12-20 François Dumont <fdumont@gcc.gnu.org> * 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. From-SVN: r218991
2014-12-20mutex_extensions_neg.cc: Adjust dg-error.François Dumont2-1/+3
2014-12-20 François Dumont <fdumont@gcc.gnu.org> * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error. From-SVN: r218990
2014-12-20c++config: inline __cxx11 namespace within namespace __cxx1998.François Dumont2-3/+12
2014-12-20 François Dumont <fdumont@gcc.gnu.org> * include/bits/c++config: inline __cxx11 namespace within namespace __cxx1998. From-SVN: r218988
2014-12-20Fix duplicate symbol errors in Darwin bootstrap.Jonathan Wakely2-0/+7
* src/c++98/locale-inst.cc (__add_grouping, __pad, __int_to_char): Only compile for old ABI. From-SVN: r218984
2014-12-19New std::string implementation.Jonathan Wakely107-446/+6685
* 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. From-SVN: r218964
2014-12-17re PR libstdc++/64302 (The match_results::cbegin()/cend() return incorrect ↵Tim Shen4-12/+78
results) PR libstdc++/64302 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. From-SVN: r218810
2014-12-16gnu.ver (CXXABI_1.3.9): Export not just _Zd[la]Pvm...Jakub Jelinek2-2/+8
* config/abi/pre/gnu.ver (CXXABI_1.3.9): Export not just _Zd[la]Pvm, but also _Zd[la]Pv[jy] to cover other std::size_t manglings. From-SVN: r218785
2014-12-16gnu-versioned-namespace.ver: And other size_t manglings.Jason Merrill2-2/+5
* config/abi/pre/gnu-versioned-namespace.ver: And other size_t manglings. From-SVN: r218784
2014-12-16gnu-versioned-namespace.ver: Export _ZdlPvm and _ZdaPvm.Jason Merrill2-0/+9
* config/abi/pre/gnu-versioned-namespace.ver: Export _ZdlPvm and _ZdaPvm. From-SVN: r218781
2014-12-15N3778: Sized DeallocationJason Merrill6-11/+95
N3778: Sized Deallocation gcc/c-family/ * c.opt (-fsized-deallocation, -Wc++14-compat): New. (-Wsized-deallocation): New. * c-opts.c (c_common_post_options): -fsized-deallocation defaults to on in C++14 and up. gcc/cp/ * call.c (non_placement_deallocation_fn_p): A global sized operator delete is not a usual deallocation function until C++14. (build_op_delete_call): Choose the global sized op delete if we know the size. * cp-tree.h: Declare non_placement_deallocation_fn_p. (enum cp_tree_index): Remove CPTI_GLOBAL_DELETE_FNDECL. (global_delete_fndecl): Remove. * decl.c (cxx_init_decl_processing): Also declare sized op deletes. (grok_op_properties): Warn about sized dealloc without the flag. * init.c (build_builtin_delete_call): Remove. (build_vec_delete_1, build_delete): Don't call it. * decl2.c (maybe_warn_sized_delete): New. (cp_write_global_declarations): Call it. libstdc++-v3/ * libsupc++/del_ops.cc: New. * libsupc++/del_opvs.cc: New. * libsupc++/Makefile.am: Add them. * libsupc++/Makefile.in: Regenerate. * config/abi/pre/gnu.ver: Export _ZdlPvm and _ZdaPvm. From-SVN: r218755
2014-12-13re PR libstdc++/64239 (regex_iterator::operator= should copy ↵Tim Shen4-28/+72
match_results::position) PR libstdc++/64239 * 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. From-SVN: r218710
2014-12-13Post-Urbana updates to Library Fundamentals v1.Jonathan Wakely10-376/+64
* 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(). From-SVN: r218709
2014-12-13re PR libstdc++/58594 (std::make_shared does not accept const types as ↵Jonathan Wakely2-4/+10
parameters) PR libstdc++/58594 * include/bits/shared_ptr_base.h: Real fix for cv-qualified types. From-SVN: r218698
2014-12-12re PR libstdc++/58594 (std::make_shared does not accept const types as ↵Jonathan Wakely4-3/+44
parameters) PR libstdc++/58594 * 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. From-SVN: r218691
2014-12-12re PR libstdc++/64276 (would be better to use __cpp_exceptions rather than ↵Jonathan Wakely24-57/+84
__EXCEPTIONS to determine whether exceptions are available) PR libstdc++/64276 * doc/doxygen/user.cfg.in: Define __cpp_exceptions and __cpp_rtti. * doc/html/manual/using_exceptions.html: Regenerate. * doc/xml/manual/using_exceptions.xml: Use SD-6 feature-testing macros, __cpp_exceptions and __cpp_rtti, instead of __EXCEPTIONS and __GXX_RTTI. * include/bits/c++config: Likewise. * include/bits/locale_classes.tcc: Likewise. * include/bits/shared_ptr.h: Likewise. * include/bits/shared_ptr_base.h: Likewise. * include/debug/formatter.h: Likewise. * include/experimental/any: Likewise. * include/ext/rope: Likewise. * include/ext/ropeimpl.h: Likewise. * include/std/functional: Likewise. * include/tr1/functional: Likewise. * include/tr1/shared_ptr.h: Likewise. * libsupc++/eh_call.cc: Likewise. * libsupc++/eh_personality.cc: Likewise. * libsupc++/exception_defines.h: Likewise. * libsupc++/exception_ptr.h: Likewise. * libsupc++/guard.cc: Likewise. * libsupc++/pbase_type_info.cc: Likewise. * libsupc++/pointer_type_info.cc: Likewise. * libsupc++/vterminate.cc: Likewise. * src/c++11/thread.cc: Likewise. From-SVN: r218679
2014-12-12re PR libstdc++/64241 (make_exception_ptr returns garbage with -fno-exceptions)Jonathan Wakely3-4/+52
PR libstdc++/64241 * libsupc++/exception_ptr.h: Return empty object when exceptions are disabled. * testsuite/18_support/exception_ptr/64241.cc: New. From-SVN: r218675
2014-12-12stl_iterator.h (make_reverse_iterator): LWG DR 2285.Jonathan Wakely4-0/+55
* include/bits/stl_iterator.h (make_reverse_iterator): LWG DR 2285. * include/std/tuple: Add feature-test macro. * testsuite/24_iterators/reverse_iterator/make.cc: New. From-SVN: r218670
2014-12-12[libstdc++][testsuite] Mark as UNSUPPORTED tests that don't fit into tiny ↵Kyrylo Tkachov2-2/+25
memory model * testsuite/lib/libstdc++.exp: Include target-utils.exp. (v3_target_compile): Check if test is unsupported. (v3_target_compile_as_c): Likewise. From-SVN: r218661
2014-12-11Remove N3639 "array of runtime length" from -std=c++14.Jason Merrill5-24/+29
gcc/cp/ * decl.c (compute_array_index_type): VLAs are not part of C++14. (create_array_type_for_decl, grokdeclarator): Likewise. * lambda.c (add_capture): Likewise. * pt.c (tsubst): Likewise. * rtti.c (get_tinfo_decl): Likewise. * semantics.c (finish_decltype_type): Likewise. * typeck.c (cxx_sizeof_or_alignof_type): Likewise. (cp_build_addr_expr_1): Likewise. * init.c (build_vec_init): Don't throw bad_array_length. gcc/c-family/ * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if we aren't complaining about VLAs. libstdc++-v3/ * libsupc++/new (bad_array_length): Move... * bad_array_length.cc: ...here. * cxxabi.h, eh_aux_runtime.cc (__cxa_throw_bad_array_new_length): Also move to bad_array_length.cc. * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if we aren't complaining about VLAs. From-SVN: r218655
2014-12-113.cc: Only use a thread_local when __cxa_thread_atexit_impl is available.Jonathan Wakely2-0/+10
* testsuite/30_threads/condition_variable/members/3.cc: Only use a thread_local when __cxa_thread_atexit_impl is available. From-SVN: r218638
2014-12-10Implement LWG DR 2329 and DR 2332.Jonathan Wakely6-0/+186
* 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. From-SVN: r218555
2014-12-10future (__future_base::_Setter::operator(), [...]): Make call operators const.Jonathan Wakely2-6/+9
* include/std/future (__future_base::_Setter::operator(), __future_base::_Task_setter::operator()): Make call operators const. From-SVN: r218553
2014-12-10locale_facets.tcc (numpunct::_M_cache): Avoid calling virtual functions twice.Jonathan Wakely4-32/+46
* include/bits/locale_facets.tcc (numpunct::_M_cache): Avoid calling virtual functions twice. Only update _M_allocated after all allocations have succeeded. * include/bits/locale_facets_nonio.tcc (moneypunct::_M_cache): Likewise. * include/bits/locale_facets_nonio.h (__timepunct::_M_cache): Remove unused declaration. From-SVN: r218552
2014-12-09re PR libstdc++/64203 (shared_mutex compile errors on bare-metal targets)Jonathan Wakely3-10/+19
PR libstdc++/64203 * include/std/shared_mutex: Fix preprocessor conditions. * testsuite/experimental/feat-cxx14.cc: Check conditions. From-SVN: r218511
2014-12-06Fix ChangeLog format.Tim Shen1-2/+2
From-SVN: r218444
2014-12-05hashtable_policy.h (_Map_base::operator[], [...]): Simplify definitions with ↵Jonathan Wakely2-12/+13
trailing return types. * include/bits/hashtable_policy.h (_Map_base::operator[], _Map_base::at): Simplify definitions with trailing return types. From-SVN: r218416
2014-12-04re PR libstdc++/64140 (match_results.prefix() returns an incorrect result if ↵Tim Shen3-2/+67
regex_iterator holds a zero-length match) PR libstdc++/64140 * 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. From-SVN: r218340
2014-12-03re PR libstdc++/13631 (Problems in messages)François Dumont6-91/+441
2014-12-03 François Dumont <fdumont@gcc.gnu.org> 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. From-SVN: r218329
2014-12-03regex_compiler.h (_S_cache_size): Multiply the RHS of the shift-expression ↵Marek Polacek2-1/+9
by _UseCache::value. * include/bits/regex_compiler.h (_S_cache_size): Multiply the RHS of the shift-expression by _UseCache::value. From-SVN: r218322
2014-12-03re PR libstdc++/64168 (FAIL: 30_threads/async/sync.cc execution test)Jonathan Wakely2-1/+6
PR libstdc++/64168 * include/std/future (_Deferred_state::_M_has_deferred): Fix return. From-SVN: r218321
2014-12-03hashtable.h: Fix whitespace and simplify function definitions with trailing ↵Jonathan Wakely2-158/+131
return types. * include/bits/hashtable.h: Fix whitespace and simplify function definitions with trailing return types. From-SVN: r218309
2014-12-03re PR libstdc++/64161 (bootstrap error: condition_variable.cc:134:7: error: ↵Jonathan Wakely2-0/+6
'atexit' is not a member of 'std') PR libstdc++/64161 * src/c++11/condition_variable.cc: Include <cstdlib>. From-SVN: r218300
2014-12-02status_cxx2011.xml: Update.Jonathan Wakely4-41/+21
* doc/xml/manual/status_cxx2011.xml: Update. * doc/xml/manual/status_cxx2014.xml: Update. * doc/html/manual/status.html: Regenerate. From-SVN: r218270