aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
AgeCommit message (Collapse)AuthorFilesLines
2018-03-20re PR libstdc++/84998 (std::hash<std::bitset<N>> fails in Debug Mode)François Dumont10-15/+37
2018-03-20 François Dumont <fdumont@gcc.gnu.org> PR libstdc++/84998 * include/bits/stl_bvector.h: Fix std::hash friend declaration. * include/std/bitset: Likewise. * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend declaration. * include/bits/stl_multimap.h (std::multimap<>): Likewise. * include/bits/stl_multiset.h (std::multiset<>): Likewise. * include/bits/stl_set.h (std::set<>): Likewise. * include/bits/unordered_map.h (std::unordered_map<>): Fix _Hash_merge_helper friend declaration. (std::unordered_multimap<>): Likewise. * include/bits/unordered_set.h (std::unordered_set<>): Likewise. (std::unordered_multiset<>): Likewise. From-SVN: r258693
2018-03-18api.xml: www.fsf.org has moved to https.Gerald Pfeifer7-6/+15
* doc/xml/api.xml: www.fsf.org has moved to https. Also omit trailing slash for domain level link. * doc/xml/faq.xml: Ditto. * doc/xml/manual/appendix_free.xml (software): Ditto. * doc/xml/manual/intro.xml: Ditto. * doc/xml/manual/spine.xml: Ditto. * doc/xml/spine.xml: Ditto. From-SVN: r258637
2018-03-18documentation_hacking.xml: Adjust link to docbook.org.Gerald Pfeifer2-1/+6
* doc/xml/manual/documentation_hacking.xml: Adjust link to docbook.org. From-SVN: r258636
2018-03-17Fix new test that fails in C++98 modeJonathan Wakely2-10/+15
* testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust to compile as C++98. From-SVN: r258623
2018-03-14PR libstdc++/78420 Make std::less etc. yield total order for pointersJonathan Wakely3-18/+478
In order for std::less<T*> etc. to meet the total order requirements of [comparisons] p2 we need to cast unrelated pointers to uintptr_t before comparing them. Those casts aren't allowed in constant expressions, so only cast when __builtin_constant_p says the result of the comparison is not a compile-time constant (because the arguments are not constants, or the result of the comparison is unspecified). When the result is constant just compare the pointers directly without casting. This ensures that the function can be called in constant expressions with suitable arguments, but still yields a total order even for otherwise unspecified pointer comparisons. For std::less<void> etc. add new overloads for pointers, which use std::less<common_type_t<T*,U*>> directly. Also change the generic overloads to detect when the comparison would call a built-in relational operator with pointer operands, and dispatch that case to the corresponding specialization for void pointers. PR libstdc++/78420 * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>) (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations to ensure total order for pointers. (greater<void>, less<void>, greater_equal<void>, less_equal<void>): Add operator() overloads for pointer arguments and make generic overloads dispatch to new _S_cmp functions when comparisons would use built-in operators for pointers. * testsuite/20_util/function_objects/comparisons_pointer.cc: New. From-SVN: r258540
2018-03-12PR libstdc++/84773 use aligned alloc functions for FreeBSD and MinGW ↵Jonathan Wakely5-0/+86
cross-compilers PR libstdc++/84773 PR libstdc++/83662 * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32. * configure: Regenerate. * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC] (aligned_alloc): Add using-declaration. * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test. From-SVN: r258468
2018-03-09printers.py (build_libstdcxx_dictionary): Fix std::_Fwd_list_iterator and ↵François Dumont2-4/+10
std::_Fwd_list_const_iterator printers registration. 2018-03-09 François Dumont <fdumont@gcc.gnu.org> * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary): Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers registration. From-SVN: r258380
2018-03-09PR libstdc++/84769 qualify std::get and std::get_if to avoid ADLJonathan Wakely2-6/+12
PR libstdc++/84769 * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>): Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>. From-SVN: r258376
2018-03-09Use non-throwing is_directory in filesystem::create_directoryJonathan Wakely3-6/+7
The create_dir helper was calling the throwing form of filesystem::is_directory instead of passing the error_code argument. Since std::filesystem::create_directory(const path&, error_code&) is noexcept, it would call std::terminate if an error occurred in is_directory. Passing the error_code also takes care of clearing it in the case where is_directory returns true. src/filesystem/ops.cc (create_dir): Pass error_code to is_directory. src/filesystem/std-ops.cc (create_dir): Likewise. From-SVN: r258375
2018-03-08printers.py (NodeIteratorPrinter): New.François Dumont4-23/+46
2018-03-08 François Dumont <fdumont@gcc.gnu.org> * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New. (StdListIteratorPrinter): Inherit from latter. (StdFwdListIteratorPrinter): New, inherit from latter. (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer when iterator has no associated container. (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace registrations. * testsuite/libstdc++-prettyprinters/debug.cc: Adapt. * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt. From-SVN: r258350
2018-03-06re PR libstdc++/84601 (std::optional<std::pair<int, int>> is not assignment ↵Ville Voutilainen4-29/+428
copyable) PR libstdc++/84601 * include/std/optional (_Optional_payload): Split into multiple specializations that can handle different cases of trivial or non-trivial assignment operators. * testsuite/20_util/optional/84601.cc: New. * testsuite/20_util/optional/cons/value_neg.cc: Adjust. From-SVN: r258304
2018-03-02PR libstdc++/84671 handle digit separators in duration literalsJonathan Wakely3-3/+43
PR libstdc++/84671 * include/bits/parse_numbers.h (_Number_help): Add partial specialization to handle digit separators. Adjust partial specialization for recursion temrination to require _Pow == 1ULL. * testsuite/20_util/duration/literals/84671.cc: New From-SVN: r258157
2018-02-27Implement the missing bits of LWG 2769Ville Voutilainen4-36/+43
* include/std/any (any_cast(const any&)): Add static_assert. (any_cast(any&)): Likewise. (any_cast(any&&)): Likewise, and remove the handling for copyable-but-not-movable type. * testsuite/20_util/any/misc/any_cast.cc: Adjust. * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and add new tests. From-SVN: r258031
2018-02-23PR libstdc++/84532 prevent unwrapping of reference_wrapper argumentsJonathan Wakely4-9/+90
PR libstdc++/84532 * include/std/thread (thread::__make_invoker): Construct tuple directly instead of using make_tuple. * testsuite/30_threads/async/84532.cc: New. * testsuite/30_threads/thread/84532.cc: New. From-SVN: r257956
2018-02-20aligned_buffer.h [...] (template<> __aligned_buffer): Define as ↵François Dumont2-0/+10
__aligned_membuf alias. 2018-02-20 François Dumont <fdumont@gcc.gnu.org> * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION] (template<> __aligned_buffer): Define as __aligned_membuf alias. From-SVN: r257861
2018-02-19CET shouldn't be enabled in 32-bit run-time libraries by defualtIgor Tsimbalist2-1/+21
ENDBR32 and RDSSPD are multi-byte NOPs on x86-64 processors and newer x86 processors, starting Pentium Pro. They are UD on older 32-bit processors. Detect this at configure time and adjust the default value for enable_cet. GCC will enable CET in 32-bit run-time libraries in any case if --enable-cet is used to configure GCC. PR target/84148 * config/cet.m4: Check if target support multi-byte NOPS (SSE). * libatomic/configure: Regenerate. * libbacktrace/configure: Likewise. * libgcc/configure: Likewise. * libgfortran/configure: Likewise. * libgomp/configure: Likewise. * libitm/configure: Likewise. * libmpx/configure: Likewise. * libobjc/configure: Likewise. * libquadmath/configure: Likewise. * libsanitizer/configure: Likewise. * libssp/configure: Likewise. * libstdc++-v3/configure: Likewise. * libvtv/configure: Likewise. From-SVN: r257809
2018-02-15PR libstdc++/81797 Add .NOTPARALLEL to include/Makefile for darwinJonathan Wakely5-9/+50
PR libstdc++/81797 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define. * configure: Regenerate. * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when defined. * include/Makefile.in: Regenerate. From-SVN: r257710
2018-01-29Remove duplicate "//" in commentJonathan Wakely1-1/+1
From-SVN: r257147
2018-01-29PR libstdc++/83833 fix failing test on ia32Jonathan Wakely2-0/+5
PR libstdc++/83833 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: Add -ffloat-store to options for m68k and ia32. From-SVN: r257146
2018-01-29Regenerate libstdc++ documentationJonathan Wakely7-12/+21
* doc/xml/faq.xml: Update copyright years. * doc/html/*: Regenerate. From-SVN: r257142
2018-01-29PR libstdc++/83658 fix exception-safety in std::any::emplaceJonathan Wakely4-9/+90
PR libstdc++/83658 * include/std/any (any::__do_emplace): Only set _M_manager after constructing the contained object. * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line. * testsuite/20_util/any/modifiers/83658.cc: New test. From-SVN: r257141
2018-01-25PR libstdc++/81076 make __byte_operand SFINAE-friendlyJonathan Wakely3-2/+34
PR libstdc++/81076 * include/c_global/cstddef (__byte_operand): Define primary template. * testsuite/18_support/byte/81076.cc: New test. From-SVN: r257050
2018-01-19[libstdc++][testsuite] Fix dg-options/dg-add-options orderChristophe Lyon28-27/+73
2018-01-19 Christophe Lyon <christophe.lyon@linaro.org> * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix dg-options and dg-add-options order. * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise. * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise. * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise. * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise. * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise. * testsuite/special_functions/03_beta/check_nan.cc: Likewise. * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise. * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise. * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise. * testsuite/special_functions/06_comp_ellint_3/pr66689.cc: Likewise. * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise. * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise. * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise. * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise. * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise. * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise. * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise. * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise. * testsuite/special_functions/14_expint/check_nan.cc: Likewise. * testsuite/special_functions/15_hermite/check_nan.cc: Likewise. * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise. * testsuite/special_functions/17_legendre/check_nan.cc: Likewise. * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise. * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise. * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise. * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise. From-SVN: r256879
2018-01-18configure.ac (AC_CHECK_HEADERS): Add linux/types.h.Uros Bizjak5-2/+40
* configure.ac (AC_CHECK_HEADERS): Add linux/types.h. Conditionally include linux/types.h when checking linux/random.h header. * config.h.in: Regenerate. * configure: Ditto. * src/c++11/random.cc: Conditionally include linux/types.h. From-SVN: r256859
2018-01-16* testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.Eric Botcazou2-0/+8
From-SVN: r256754
2018-01-16PR libstdc++/83834 replace wildcard pattern in linker scriptJonathan Wakely2-1/+7
PR libstdc++/83834 * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard pattern with exact match for std::cerr. From-SVN: r256739
2018-01-15PR libstdc++/83833 fix chi_squared_distribution::param(const param&)Jonathan Wakely3-1/+51
PR libstdc++/83833 * include/bits/random.h (chi_squared_distribution::param): Update gamma distribution parameter. * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New test. From-SVN: r256708
2018-01-15PR libstdc++/83830 Define std::has_unique_object_representations_vJonathan Wakely3-0/+26
PR libstdc++/83830 * include/std/type_traits (has_unique_object_representations_v): Add variable template. * testsuite/20_util/has_unique_object_representations/value.cc: Check variable template. From-SVN: r256701
2018-01-15Make optional conditionally trivially_{copy,move}_{constructible,assignable}Ville Voutilainen5-135/+455
* include/std/optional (_Optional_payload): Fix the comment in the class head and turn into a primary and one specialization. (_Optional_payload::_M_engaged): Strike the NSDMI. (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)): New. (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)): Likewise. (_Optional_payload<_Tp, false>::_M_get): Likewise. (_Optional_payload<_Tp, false>::_M_reset): Likewise. (_Optional_base_impl): Likewise. (_Optional_base): Turn into a primary and three specializations. (optional(nullopt)): Change the base init. * testsuite/20_util/optional/assignment/8.cc: New. * testsuite/20_util/optional/cons/trivial.cc: Likewise. * testsuite/20_util/optional/cons/value_neg.cc: Adjust. From-SVN: r256694
2018-01-15PR libstdc++/80276 fix template argument handling in type printersJonathan Wakely5-163/+582
PR libstdc++/80276 * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New. (get_template_arg_list): New. (StdVariantPrinter._template_args): Remove, use get_template_arg_list instead. (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead of strings and regular expressions. (add_one_template_type_printer): Adapt to new TemplateTypePrinter. (FilteringTypePrinter): Add docstring. Match using startswith. Use strip_inline_namespaces instead of strip_versioned_namespace. (add_one_type_printer): Prepend namespace to match argument. (register_type_printers): Add type printers for char16_t and char32_t string types and for types using cxx11 ABI. Update calls to add_one_template_type_printer to provide default argument dicts. * testsuite/libstdc++-prettyprinters/80276.cc: New test. * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for basic_string<unsigned char> and basic_string<signed char>. * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI. From-SVN: r256689
2018-01-15Correct earlier ChangeLog entryJuraj Oršulić1-1/+2
Add Juraj Oršulić as original patch author. From-SVN: r256688
2018-01-14re PR libstdc++/81092 (Missing symbols for new std::wstring constructors)Andreas Schwab2-1/+7
PR libstdc++/81092 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. From-SVN: r256668
2018-01-14re PR libstdc++/83601 (std::regex_replace C++14 conformance issue: escaping ↵Tim Shen4-16/+103
in SED mode) PR libstdc++/83601 * include/bits/regex.tcc (regex_replace): Fix escaping in sed. * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests. * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests. From-SVN: r256654
2018-01-12Link with correct values-*.o files on Solaris (PR target/40411)Rainer Orth2-1/+6
gcc/testsuite: PR libfortran/67412 * gfortran.dg/execute_command_line_2.f90: Remove dg-xfail-run-if on *-*-solaris2.10. libstdc++-v3: PR libstdc++/64054 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc: Remove dg-xfail-run-if. gcc: PR target/40411 * config/sol2.h (STARTFILE_ARCH_SPEC): Don't use with -shared or -symbolic. Use values-Xc.o for -pedantic. Link with values-xpg4.o for C90, values-xpg6.o otherwise. From-SVN: r256568
2018-01-102018-01-10 François Dumont <fdumont@gcc.gnu.org>François Dumont4-382/+492
* include/bits/forward_list.h (_Fwd_list_node_base(_Fwd_list_node_base&&)): New. (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New. (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete. (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise. (_Fwd_list_impl()): Add noexcept qualification. (_Fwd_list_impl(const _Node_alloc_type&)): Delete. (_Fwd_list_impl(_Fwd_list_impl&&)): New, default. (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New. (_Fwd_list_base()): Default. (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New. (_Fwd_list_base(_Fwd_list_base&&)): Default. (forward_list<>()): Default. (forward_list<>(forward_list&&)): Default. (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New. (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New. (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters. * include/bits/forward_list.tcc (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use _M_impl._M_head move assignment. (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise. * testsuite/23_containers/forward_list/allocator/default_init.cc: New. From-SVN: r256439
2018-01-09PR libstdc++/80276 fix pretty printers for array smart pointersJonathan Wakely4-3/+42
PR libstdc++/80276 * python/libstdcxx/v6/printers.py (SharedPointerPrinter) (UniquePointerPrinter): Print correct template argument, not type of the pointer. (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup a type. * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of array type. * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and weak_ptr of array types. From-SVN: r256400
2018-01-09re PR libstdc++/83709 (Inserting duplicates into an unordered associative ↵François Dumont5-21/+164
containers causes the container to invalidate iterators) 2018-01-09 François Dumont <fdumont@gcc.gnu.org> PR libstdc++/83709 * include/bits/hashtable_policy.h (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if __first != __last. (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New. (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)): Add false_type parameter. (_Insert_base::insert): Adapt. * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)): Adapt. (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)): Add __n_elt parameter, defaulted to 1. (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash policy _M_need_rehash. (_Hashtable::_M_merge_unique): Pass target number of elements to add to produce only 1 rehash if necessary. * testsuite/23_containers/unordered_map/insert/83709.cc: New. * testsuite/23_containers/unordered_set/insert/83709.cc: New. From-SVN: r256396
2018-01-09PR libstdc++/59253 Improve pretty printers for smart pointersJuraj Oršulić4-21/+54
PR libstdc++/59253 (partial) * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator type for pointer stored by shared_ptr, weak_ptr and unique_ptr. (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as children. * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output of unique_ptr printer. * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected output of shared_ptr printer. From-SVN: r256390
2018-01-05PR libstdc++/83626 simplify filesystem::remove and filesystem::remove_allJonathan Wakely3-31/+11
PR libstdc++/83626 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove unnecessary symlink_status call. (remove_all(const path&, error_code&)): Use filesystem::remove. * src/filesystem/std-ops.cc: Likewise. From-SVN: r256301
2018-01-05PR libstdc++/83279 Use non-null offset argument for sendfileJonathan Wakely2-18/+19
PR libstdc++/83279 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with sendfile. From-SVN: r256289
2018-01-05PR libstdc++/83626 handle ENOENT due to filesystem raceJonathan Wakely5-22/+111
PR libstdc++/83626 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not report an error for ENOENT. (remove_all(const path&)): Fix type of result variable. (remove_all(const path&, error_code&)): Use non-throwing increment for directory iterator. Call POSIX remove directly to avoid redundant calls to symlink_status. Do not report errors for ENOENT. * src/filesystem/std-ops.cc: Likewise. * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing overload. * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise. From-SVN: r256283
2018-01-04PR libstdc++/83626 Don't throw for remove("") and remove_all("")Jonathan Wakely7-42/+273
PR libstdc++/83626 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove redundant call to ec.clear(). (remove_all(const path&, error_code&))): Do not return an error for non-existent paths. * src/filesystem/std-ops.cc: Likewise. * testsuite/27_io/filesystem/operations/remove.cc: New test. * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected results for non-existent paths. * testsuite/experimental/filesystem/operations/remove.cc: New test. * testsuite/experimental/filesystem/operations/remove_all.cc: Fix expected results for non-existent paths. From-SVN: r256269
2018-01-04Avoid redundant calls to filesystem::status_knownJonathan Wakely3-4/+14
* include/bits/fs_ops.h (exists(const path&, error_code&))): Only check status_known once. * include/experimental/bits/fs_ops.h: Likewise. From-SVN: r256243
2018-01-04PR libstdc++/83607 specialize Boyer-Moore searchers for std::byteJonathan Wakely4-19/+100
PR libstdc++/83607 * include/std/functional (__is_byte_like): New trait. (__is_std_equal_to): Remove. (__boyer_moore_base_t): Use __is_byte_like instead of __is_std_equal_to. * include/experimental/functional (__is_std_equal_to): Remove. (__boyer_moore_base_t): Use __is_byte_like instead of __is_std_equal_to. * testsuite/20_util/function_objects/83607.cc: New test. From-SVN: r256231
2018-01-03Protect optional's deduction guide with the feature macroVille Voutilainen2-0/+7
* include/std/optional: Use the feature macro. From-SVN: r256185
2018-01-03Update copyright years.Jakub Jelinek8580-13078/+13087
From-SVN: r256169
2017-12-27PR libstdc++/83600 fix end iterator for unready std::match_resultsJonathan Wakely4-1/+16
PR libstdc++/83600 * include/bits/regex.h (match_results::end()): Return valid iterator when not ready. * testsuite/28_regex/match_results/ctors/char/default.cc: Check that unready objects are empty and have equal begin and end iterators. * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise. From-SVN: r256014
2017-12-27PR libstdc++/83598 don't modify flags passed to std::basic_regex constructorsJonathan Wakely3-6/+46
PR libstdc++/83598 * include/bits/regex.h (basic_regex): Don't modify flags passed to constructors. * testsuite/28_regex/basic_regex/ctors/83598.cc: New test. From-SVN: r256013
2017-12-27PR libstdc++/83538 fix std::match_results<T>::reference (LWG 2306)Jonathan Wakely4-1/+23
PR libstdc++/83538 * doc/xml/manual/intro.xml: Document LWG 2306 change. * include/bits/regex.h (match_results::reference): Change to non-const reference. * testsuite/28_regex/match_results/typedefs.cc: Check types are correct. From-SVN: r256012
2017-12-24re PR libstdc++/83237 (Values returned by std::poisson_distribution are not ↵Michele Pezzutti4-2/+24
distributed correctly) 2017-12-24 Michele Pezzutti <mpezz@tiscali.it> PR libstdc++/83237 * include/bits/random.tcc (poisson_distribution<>::operator()): Fix __x = 1 case - see updated Errata of Devroye's treatise. * testsuite/26_numerics/random/poisson_distribution/operators/ values.cc: Add test. * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line number. From-SVN: r255993