1*14f5a3b0Smrg2017-12-27 Jonathan Wakely <jwakely@redhat.com> 2*14f5a3b0Smrg 3*14f5a3b0Smrg PR libstdc++/83600 4*14f5a3b0Smrg * include/bits/regex.h (match_results::end()): Return valid iterator 5*14f5a3b0Smrg when not ready. 6*14f5a3b0Smrg * testsuite/28_regex/match_results/ctors/char/default.cc: Check that 7*14f5a3b0Smrg unready objects are empty and have equal begin and end iterators. 8*14f5a3b0Smrg * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise. 9*14f5a3b0Smrg 10*14f5a3b0Smrg PR libstdc++/83598 11*14f5a3b0Smrg * include/bits/regex.h (basic_regex): Don't modify flags passed to 12*14f5a3b0Smrg constructors. 13*14f5a3b0Smrg * testsuite/28_regex/basic_regex/ctors/83598.cc: New test. 14*14f5a3b0Smrg 15*14f5a3b0Smrg PR libstdc++/83538 16*14f5a3b0Smrg * doc/xml/manual/intro.xml: Document LWG 2306 change. 17*14f5a3b0Smrg * include/bits/regex.h (match_results::reference): Change to 18*14f5a3b0Smrg non-const reference. 19*14f5a3b0Smrg * testsuite/28_regex/match_results/typedefs.cc: Check types are 20*14f5a3b0Smrg correct. 21*14f5a3b0Smrg 22*14f5a3b0Smrg2017-12-24 Michele Pezzutti <mpezz@tiscali.it> 23*14f5a3b0Smrg 24*14f5a3b0Smrg PR libstdc++/83237 25*14f5a3b0Smrg * include/bits/random.tcc (poisson_distribution<>::operator()): 26*14f5a3b0Smrg Fix __x = 1 case - see updated Errata of Devroye's treatise. 27*14f5a3b0Smrg * testsuite/26_numerics/random/poisson_distribution/operators/ 28*14f5a3b0Smrg values.cc: Add test. 29*14f5a3b0Smrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error 30*14f5a3b0Smrg line number. 31*14f5a3b0Smrg 32*14f5a3b0Smrg2017-12-24 Jonathan Wakely <jwakely@redhat.com> 33*14f5a3b0Smrg 34*14f5a3b0Smrg PR libstdc++/83450 35*14f5a3b0Smrg * testsuite/21_strings/basic_string/pthread18185.cc: Add return 36*14f5a3b0Smrg statement. 37*14f5a3b0Smrg 38*14f5a3b0Smrg2017-12-20 François Dumont <fdumont@gcc.gnu.org> 39*14f5a3b0Smrg 40*14f5a3b0Smrg PR libstdc++/82522 41*14f5a3b0Smrg * include/debug/map.h (map::insert(value_type&&)) 42*14f5a3b0Smrg (map::insert(const_iterator, value_type&&)): Add overload for rvalues. 43*14f5a3b0Smrg * include/debug/multimap.h (multimap::insert(value_type&&)) 44*14f5a3b0Smrg (multimap::insert(const_iterator, value_type&&)): Likewise. 45*14f5a3b0Smrg * include/debug/unordered_map (unordered_map::insert(value_type&&)) 46*14f5a3b0Smrg (unordered_map::insert(const_iterator, value_type&&)) 47*14f5a3b0Smrg (unordered_multimap::insert(value_type&&)) 48*14f5a3b0Smrg (unordered_multimap::insert(const_iterator, value_type&&)): Likewise. 49*14f5a3b0Smrg * testsuite/23_containers/map/modifiers/insert/dr2354.cc (test02): New. 50*14f5a3b0Smrg * testsuite/23_containers/multimap/modifiers/insert/dr2354.cc (test02): 51*14f5a3b0Smrg New. 52*14f5a3b0Smrg * testsuite/23_containers/unordered_map/insert/dr2354.cc (test02): New. 53*14f5a3b0Smrg * testsuite/23_containers/unordered_multimap/insert/dr2354.cc (test02): 54*14f5a3b0Smrg New. 55*14f5a3b0Smrg 56*14f5a3b0Smrg2017-12-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 57*14f5a3b0Smrg 58*14f5a3b0Smrg * config/cpu/aarch64/opt/ext/opt_random.h (__VEXT): Check 59*14f5a3b0Smrg __ARM_BIG_ENDIAN instead of __AARCH64EB__. 60*14f5a3b0Smrg 61*14f5a3b0Smrg2017-12-18 François Dumont <fdumont@gcc.gnu.org> 62*14f5a3b0Smrg 63*14f5a3b0Smrg PR libstdc++/80761 64*14f5a3b0Smrg * include/debug/map.h 65*14f5a3b0Smrg (std::__debug::map<>::insert_return_type): Define using 66*14f5a3b0Smrg _Node_insert_return. 67*14f5a3b0Smrg * include/debug/set.h (std::__debug::set<>::insert_return_type): 68*14f5a3b0Smrg Likewise. 69*14f5a3b0Smrg * include/debug/unordered_map: 70*14f5a3b0Smrg (std::__debug::unordered_map<>::insert_return_type): Likewise. 71*14f5a3b0Smrg * include/debug/unordered_set: 72*14f5a3b0Smrg (std::__debug::unordered_set<>::insert_return_type): Likewise. 73*14f5a3b0Smrg 74*14f5a3b0Smrg2017-12-18 Ville Voutilainen <ville.voutilainen@gmail.com> 75*14f5a3b0Smrg 76*14f5a3b0Smrg PR libstdc++/68430 77*14f5a3b0Smrg * testsuite/20_util/is_constructible/68430.cc: New. 78*14f5a3b0Smrg 79*14f5a3b0Smrg2017-12-16 Martin Sebor <msebor@redhat.com> 80*14f5a3b0Smrg 81*14f5a3b0Smrg PR tree-optimization/83239 82*14f5a3b0Smrg * include/bits/vector.tcc (vector::_M_default_append): Assert 83*14f5a3b0Smrg invariant to generate better code. 84*14f5a3b0Smrg 85*14f5a3b0Smrg2017-12-14 Jonathan Wakely <jwakely@redhat.com> 86*14f5a3b0Smrg 87*14f5a3b0Smrg PR libstdc++/83279 88*14f5a3b0Smrg * src/filesystem/std-ops.cc (do_copy_file): Handle sendfile not 89*14f5a3b0Smrg copying entire file. 90*14f5a3b0Smrg 91*14f5a3b0Smrg PR libstdc++/68519 92*14f5a3b0Smrg * include/std/condition_variable (condition_variable::wait_for): 93*14f5a3b0Smrg Convert duration to native clock's duration before addition. 94*14f5a3b0Smrg * testsuite/30_threads/condition_variable/members/68519.cc: New test. 95*14f5a3b0Smrg 96*14f5a3b0Smrg PR libstdc++/83427 97*14f5a3b0Smrg * include/bits/refwrap.h (_Maybe_unary_or_binary_function): Move here 98*14f5a3b0Smrg from <bits/std_function.h>. 99*14f5a3b0Smrg (_Mem_fn_traits_base, _Mem_fn_traits): Move here, from <functional>. 100*14f5a3b0Smrg (_Weak_result_type_impl, _Reference_wrapper_base): Deduce noexcept 101*14f5a3b0Smrg for function types. Remove partial specializations for member 102*14f5a3b0Smrg functions. 103*14f5a3b0Smrg (_Weak_result_type_impl): Remove unused partial specializations for 104*14f5a3b0Smrg non-referenceable function types and for references to functions. 105*14f5a3b0Smrg (_Weak_result_type_memfun, _Reference_wrapper_base_memfun): New 106*14f5a3b0Smrg helpers to handle member functions via _Mem_fn_traits. 107*14f5a3b0Smrg (_Weak_result_type, reference_wrapper): Derive from new helpers. 108*14f5a3b0Smrg * include/bits/std_function.h (_Maybe_unary_or_binary_function): Move 109*14f5a3b0Smrg to <bits/refwrap.h>. 110*14f5a3b0Smrg * include/std/functional (_Pack, _AllConvertible, _NotSame): Remove. 111*14f5a3b0Smrg (_Mem_fn_traits_base, _Mem_fn_traits): Move to <bits/refwrap.h>. 112*14f5a3b0Smrg * testsuite/20_util/bind/83427.cc: New test. 113*14f5a3b0Smrg * testsuite/20_util/bind/refqual.cc: Add noexcept to functions and 114*14f5a3b0Smrg check for weak result types. 115*14f5a3b0Smrg * testsuite/20_util/reference_wrapper/83427.cc: New test. 116*14f5a3b0Smrg 117*14f5a3b0Smrg * testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc: 118*14f5a3b0Smrg Add tests using noskipws. 119*14f5a3b0Smrg 120*14f5a3b0Smrg * testsuite/26_numerics/complex/dr2714.cc: Move to ... 121*14f5a3b0Smrg * testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc: 122*14f5a3b0Smrg ... Here. Remove duplicate header and dg-options. Check first invalid 123*14f5a3b0Smrg character gets putback. Remove wchar_t test. 124*14f5a3b0Smrg 125*14f5a3b0Smrg2017-12-13 Jonathan Wakely <jwakely@redhat.com> 126*14f5a3b0Smrg 127*14f5a3b0Smrg PR libstdc++/59568 128*14f5a3b0Smrg * include/std/complex (operator>>): Implement proposed resolution to 129*14f5a3b0Smrg LWG 2714. Use putback if and only if a character has been successfully 130*14f5a3b0Smrg extracted but isn't a delimiter. Use ctype::widen and traits::eq when 131*14f5a3b0Smrg testing if extracted characters match delimiters. 132*14f5a3b0Smrg * testsuite/26_numerics/complex/dr2714.cc: New test. 133*14f5a3b0Smrg 134*14f5a3b0Smrg2017-12-12 Jonathan Wakely <jwakely@redhat.com> 135*14f5a3b0Smrg 136*14f5a3b0Smrg PR libstdc++/83395 137*14f5a3b0Smrg * include/std/type_traits (__is_invocable_impl): Remove partial 138*14f5a3b0Smrg specialization for INVOKE<void> and restore is_void<R> check in 139*14f5a3b0Smrg primary template. 140*14f5a3b0Smrg (__is_nt_invocable_impl): Likewise. 141*14f5a3b0Smrg * testsuite/20_util/is_invocable/83395.cc: New test. 142*14f5a3b0Smrg * testsuite/20_util/is_nothrow_invocable/83395.cc: New test. 143*14f5a3b0Smrg 144*14f5a3b0Smrg2017-12-07 David Edelsohn <dje.gcc@gmail.com> 145*14f5a3b0Smrg 146*14f5a3b0Smrg PR libstdc++/83120 147*14f5a3b0Smrg * testsuite/ext/special_functions/hyperg/check_value.cc: Add 148*14f5a3b0Smrg -ffp-contract=off. Add -ffloat-store for m68* and ia32. 149*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/check_value.cc: Same. 150*14f5a3b0Smrg 151*14f5a3b0Smrg2017-12-07 Martin Sebor <msebor@redhat.com> 152*14f5a3b0Smrg 153*14f5a3b0Smrg PR c/81544 154*14f5a3b0Smrg * include/ext/mt_allocator.h (_M_destroy_thread_key): Remove 155*14f5a3b0Smrg attribute const. 156*14f5a3b0Smrg 157*14f5a3b0Smrg2017-12-05 Jason Merrill <jason@redhat.com> 158*14f5a3b0Smrg Jonathan Wakely <jwakely@redhat.com> 159*14f5a3b0Smrg 160*14f5a3b0Smrg * include/bits/fs_fwd.h (copy, copy_file): Remove noexcept. 161*14f5a3b0Smrg (permissions): Add noexcept. 162*14f5a3b0Smrg * include/bits/fs_ops.h (permissions): Add noexcept. 163*14f5a3b0Smrg * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Add 164*14f5a3b0Smrg _GLIBCXX_NOTHROW. 165*14f5a3b0Smrg 166*14f5a3b0Smrg2017-12-04 Jonathan Wakely <jwakely@redhat.com> 167*14f5a3b0Smrg 168*14f5a3b0Smrg * include/bits/regex_compiler.tcc: Use C-style comment to work around 169*14f5a3b0Smrg PR preprocessor/61638. 170*14f5a3b0Smrg (__INSERT_REGEX_MATCHER): Replace GNU extension with __VA_ARGS__. 171*14f5a3b0Smrg 172*14f5a3b0Smrg * config/io/basic_file_stdio.h (__basic_file): Remove name of unused 173*14f5a3b0Smrg parameter. 174*14f5a3b0Smrg * include/bits/boost_concept_check.h: Add pragmas to disable 175*14f5a3b0Smrg -Wunused-local-typedef warnings. 176*14f5a3b0Smrg * include/bits/codecvt.h (codecvt_byname<char16_t, char, mbstate_t>) 177*14f5a3b0Smrg (codecvt_byname<char32_t, char, mbstate_t>): Remove name of unused 178*14f5a3b0Smrg parameter. 179*14f5a3b0Smrg * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday) 180*14f5a3b0Smrg (time_get::do_get_monthname, time_get::do_get_year): Remove unused 181*14f5a3b0Smrg variables. 182*14f5a3b0Smrg * include/std/bitset (_Base_bitset<0>::_M_getword): Remove name of 183*14f5a3b0Smrg unused parameter. 184*14f5a3b0Smrg * include/std/streambuf (_IsUnused): Define. 185*14f5a3b0Smrg (basic_streambuf::imbue, basic_streambuf::pbackfail) 186*14f5a3b0Smrg (basic_streambuf::overflow): Add macro to unused parameters. 187*14f5a3b0Smrg * testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error. 188*14f5a3b0Smrg 189*14f5a3b0Smrg2017-12-01 Jonathan Wakely <jwakely@redhat.com> 190*14f5a3b0Smrg 191*14f5a3b0Smrg * include/experimental/string_view (basic_string_view::_S_compare): 192*14f5a3b0Smrg Use value-init so narrowing conversions are not ill-formed. 193*14f5a3b0Smrg * include/std/string_view (basic_string_view::_S_compare): Likewise. 194*14f5a3b0Smrg 195*14f5a3b0Smrg * include/bits/basic_string.h (operator""s): Add pragmas to disable 196*14f5a3b0Smrg -Wliteral-suffix warnings. 197*14f5a3b0Smrg * include/experimental/string_view (operator""sv): Likewise. 198*14f5a3b0Smrg * include/std/chrono (operator""h, operator""min, operator""s) 199*14f5a3b0Smrg (operator""ms, operator""us, operator""ns): Likewise. 200*14f5a3b0Smrg * include/std/complex (operator""if, operator""i, operator""il): 201*14f5a3b0Smrg Likewise. 202*14f5a3b0Smrg * include/std/string_view (operator""sv): Likewise. 203*14f5a3b0Smrg * testsuite/20_util/duration/literals/range.cc: Adjust dg-error. 204*14f5a3b0Smrg 205*14f5a3b0Smrg * include/bits/locale_facets_nonio.tcc (money_get::_M_extract): Add 206*14f5a3b0Smrg fallthrough comment. 207*14f5a3b0Smrg 208*14f5a3b0Smrg * include/bits/node_handle.h (_Node_handle_common::operator=) 209*14f5a3b0Smrg (_Node_handle_common::_M_swap): Add braces around debug assertions. 210*14f5a3b0Smrg 211*14f5a3b0Smrg * include/ext/ropeimpl.h (rope::_S_dump): Use const char*. 212*14f5a3b0Smrg 213*14f5a3b0Smrg * libsupc++/nested_exception.h (__throw_with_nested_impl): Add 214*14f5a3b0Smrg noreturn attribute. 215*14f5a3b0Smrg 216*14f5a3b0Smrg * include/bits/regex_executor.tcc (_Executor::_M_rep_once_more): 217*14f5a3b0Smrg Remove semi-colon after function body. 218*14f5a3b0Smrg * include/bits/uniform_int_dist.h (_Power_of_2): Likewise. 219*14f5a3b0Smrg 220*14f5a3b0Smrg * include/tr1/modified_bessel_func.tcc (__airy): Use value-init not 221*14f5a3b0Smrg list-init. 222*14f5a3b0Smrg 223*14f5a3b0Smrg * include/std/type_traits (integral_constant): Make member functions 224*14f5a3b0Smrg noexcept (LWG 2346). 225*14f5a3b0Smrg * include/std/utility (integer_sequence): Likewise. 226*14f5a3b0Smrg 227*14f5a3b0Smrg2017-11-30 Jonathan Wakely <jwakely@redhat.com> 228*14f5a3b0Smrg 229*14f5a3b0Smrg PR libstdc++/65927 230*14f5a3b0Smrg * include/bits/locale_facets_nonio.h (__timepunct::_M_am_pm_format): 231*14f5a3b0Smrg Remove statement with no effect. 232*14f5a3b0Smrg 233*14f5a3b0Smrg2017-11-30 Glen Joseph Fernandes <glenjofe@gmail.com> 234*14f5a3b0Smrg 235*14f5a3b0Smrg * include/bits/ptr_traits.h (__to_address, to_address): Move static 236*14f5a3b0Smrg assertion. 237*14f5a3b0Smrg * testsuite/20_util/to_address/1_neg.cc: New test. 238*14f5a3b0Smrg 239*14f5a3b0Smrg2017-11-30 Jonathan Wakely <jwakely@redhat.com> 240*14f5a3b0Smrg 241*14f5a3b0Smrg PR libstdc++/83226 242*14f5a3b0Smrg * include/bits/node_handle.h (_Node_handle::__pointer): Avoid forming 243*14f5a3b0Smrg pointer-to-reference types. 244*14f5a3b0Smrg * testsuite/23_containers/map/modifiers/insert/83226.cc: New test. 245*14f5a3b0Smrg 246*14f5a3b0Smrg2017-11-29 John David Anglin <danglin@gcc.gnu.org> 247*14f5a3b0Smrg 248*14f5a3b0Smrg * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. 249*14f5a3b0Smrg 250*14f5a3b0Smrg2017-11-29 David Malcolm <dmalcolm@redhat.com> 251*14f5a3b0Smrg 252*14f5a3b0Smrg * testsuite/20_util/duration/literals/range.cc: Update expected 253*14f5a3b0Smrg line of a static_assert failure. 254*14f5a3b0Smrg 255*14f5a3b0Smrg2017-11-28 Glen Joseph Fernandes <glenjofe@gmail.com> 256*14f5a3b0Smrg 257*14f5a3b0Smrg * include/bits/ptr_traits.h (to_address): Implement to_address. 258*14f5a3b0Smrg * testsuite/20_util/to_address/1.cc: New test. 259*14f5a3b0Smrg 260*14f5a3b0Smrg2017-11-27 Stephan Bergmann <sbergman@redhat.com> 261*14f5a3b0Smrg 262*14f5a3b0Smrg * include/std/string_view (basic_string_view::find_first_of): Add 263*14f5a3b0Smrg missing noexcept. 264*14f5a3b0Smrg 265*14f5a3b0Smrg * include/bits/unordered_map.h (unordered_map): Fix deduction guide. 266*14f5a3b0Smrg * include/debug/unordered_map (unordered_map): Likewise. 267*14f5a3b0Smrg 268*14f5a3b0Smrg2017-11-23 Jonathan Wakely <jwakely@redhat.com> 269*14f5a3b0Smrg 270*14f5a3b0Smrg * libsupc++/new (launder): Add nodiscard attribute. 271*14f5a3b0Smrg * testsuite/18_support/launder/nodiscard.cc: New test. 272*14f5a3b0Smrg 273*14f5a3b0Smrg * include/bits/fs_path.h (path::empty): Add nodiscard attribute. 274*14f5a3b0Smrg * include/bits/range_access.h (empty): Likewise. 275*14f5a3b0Smrg * include/std/string_view (basic_string_view::empty): Likewise. 276*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/capacity/empty_neg.cc: New 277*14f5a3b0Smrg test. 278*14f5a3b0Smrg * testsuite/24_iterators/range_access_cpp17_neg.cc: New test. 279*14f5a3b0Smrg * testsuite/27_io/filesystem/path/query/empty_neg.cc: New test. 280*14f5a3b0Smrg 281*14f5a3b0Smrg PR libstdc++/83134 282*14f5a3b0Smrg * include/std/type_traits (__not_): Explicitly convert to bool. 283*14f5a3b0Smrg * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error. 284*14f5a3b0Smrg * testsuite/20_util/logical_traits/83134.cc: New test. 285*14f5a3b0Smrg * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust 286*14f5a3b0Smrg dg-error. 287*14f5a3b0Smrg * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 288*14f5a3b0Smrg Likewise. 289*14f5a3b0Smrg 290*14f5a3b0Smrg2017-11-22 Jonathan Wakely <jwakely@redhat.com> 291*14f5a3b0Smrg 292*14f5a3b0Smrg PR go/83102 293*14f5a3b0Smrg * include/bits/stl_tree.h (_Rb_tree): Relax invocable checks for 294*14f5a3b0Smrg comparison object pre-C++17. 295*14f5a3b0Smrg 296*14f5a3b0Smrg2017-11-21 Jonathan Wakely <jwakely@redhat.com> 297*14f5a3b0Smrg 298*14f5a3b0Smrg PR libstdc++/48101 299*14f5a3b0Smrg * include/bits/allocator.h (allocator<const _Tp>) 300*14f5a3b0Smrg (allocator<volatile _Tp>, allocator<const volatile _Tp>): Add partial 301*14f5a3b0Smrg specializations. 302*14f5a3b0Smrg * include/bits/forward_list.h (forward_list): Add static assertions. 303*14f5a3b0Smrg * include/bits/hashtable.h (__cache_default): Use 304*14f5a3b0Smrg __is_nothrow_invocable instead of __is_noexcept_hash. 305*14f5a3b0Smrg (_Hashtable): Add static assertions. 306*14f5a3b0Smrg * include/bits/hashtable_policy.h (__is_noexcept_hash): Remove. 307*14f5a3b0Smrg * include/bits/stl_deque.h (deque): Add static assertions. 308*14f5a3b0Smrg * include/bits/stl_function.h (_Identity<const _Tp>): Add partial 309*14f5a3b0Smrg specialization. 310*14f5a3b0Smrg * include/bits/stl_list.h (list): Add static assertions. 311*14f5a3b0Smrg * include/bits/stl_map.h (map): Likewise. 312*14f5a3b0Smrg * include/bits/stl_multimap.h (multimap): Likewise. 313*14f5a3b0Smrg * include/bits/stl_multiset.h (multiset): Likewise. 314*14f5a3b0Smrg * include/bits/stl_set.h (set): Likewise. 315*14f5a3b0Smrg * include/bits/stl_tree.h (_Rb_tree): Likewise. 316*14f5a3b0Smrg * include/bits/stl_vector.h (vector): Likewise. 317*14f5a3b0Smrg * include/bits/unordered_map.h (unordered_map, unordered_multimap): 318*14f5a3b0Smrg Use typename instead of class in template-parameter-list and remove 319*14f5a3b0Smrg spaces. 320*14f5a3b0Smrg * include/bits/unordered_set.h (unordered_set, unordered_multiset): 321*14f5a3b0Smrg Likewise. 322*14f5a3b0Smrg * testsuite/23_containers/deque/48101-2_neg.cc: New test. 323*14f5a3b0Smrg * testsuite/23_containers/deque/48101_neg.cc: New test. 324*14f5a3b0Smrg * testsuite/23_containers/forward_list/48101-2_neg.cc: New test. 325*14f5a3b0Smrg * testsuite/23_containers/forward_list/48101_neg.cc: New test. 326*14f5a3b0Smrg * testsuite/23_containers/list/48101-2_neg.cc: New test. 327*14f5a3b0Smrg * testsuite/23_containers/list/48101_neg.cc: New test. 328*14f5a3b0Smrg * testsuite/23_containers/map/48101-2_neg.cc: New test. 329*14f5a3b0Smrg * testsuite/23_containers/map/48101_neg.cc: New test. 330*14f5a3b0Smrg * testsuite/23_containers/map/operations/31440.cc: Fix comparison 331*14f5a3b0Smrg object to have const-qualified call operator. 332*14f5a3b0Smrg * testsuite/23_containers/multimap/48101-2_neg.cc: New test. 333*14f5a3b0Smrg * testsuite/23_containers/multimap/48101_neg.cc: New test. 334*14f5a3b0Smrg * testsuite/23_containers/multiset/48101-2_neg.cc: New test. 335*14f5a3b0Smrg * testsuite/23_containers/multiset/48101_neg.cc: New test. 336*14f5a3b0Smrg * testsuite/23_containers/set/48101-2_neg.cc: New test. 337*14f5a3b0Smrg * testsuite/23_containers/set/48101_neg.cc: New test. 338*14f5a3b0Smrg * testsuite/23_containers/unordered_map/48101-2_neg.cc: New test. 339*14f5a3b0Smrg * testsuite/23_containers/unordered_map/48101_neg.cc: New test. 340*14f5a3b0Smrg * testsuite/23_containers/unordered_multimap/48101-2_neg.cc: New test. 341*14f5a3b0Smrg * testsuite/23_containers/unordered_multimap/48101_neg.cc: New test. 342*14f5a3b0Smrg * testsuite/23_containers/unordered_multiset/48101-2_neg.cc: New test. 343*14f5a3b0Smrg * testsuite/23_containers/unordered_multiset/48101_neg.cc: New test. 344*14f5a3b0Smrg * testsuite/23_containers/unordered_set/48101-2_neg.cc: New test. 345*14f5a3b0Smrg * testsuite/23_containers/unordered_set/48101_neg.cc: New test. 346*14f5a3b0Smrg * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust 347*14f5a3b0Smrg dg-error line number. 348*14f5a3b0Smrg * testsuite/23_containers/vector/48101-2_neg.cc: New test. 349*14f5a3b0Smrg * testsuite/23_containers/vector/48101_neg.cc: New test. 350*14f5a3b0Smrg 351*14f5a3b0Smrg2017-11-21 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> 352*14f5a3b0Smrg 353*14f5a3b0Smrg * doc/xml/manual/using.xml (manual.intro.using.macros): Move 354*14f5a3b0Smrg variablelist element at the end of its list. 355*14f5a3b0Smrg 356*14f5a3b0Smrg2017-11-21 Sebastian Huber <sebastian.huber@embedded-brains.de> 357*14f5a3b0Smrg 358*14f5a3b0Smrg * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add rtems*. 359*14f5a3b0Smrg (GLIBCXX_ENABLE_FILESYSTEM_TS): Likewise. 360*14f5a3b0Smrg * configure: Regenerate. 361*14f5a3b0Smrg 362*14f5a3b0Smrg2017-11-20 François Dumont <fdumont@gcc.gnu.org> 363*14f5a3b0Smrg 364*14f5a3b0Smrg * include/bits/streambuf_iterator.h (istreambuf_iterator<>): Declare 365*14f5a3b0Smrg std::advance for istreambuf_iterator of char types to be friend. 366*14f5a3b0Smrg (std::advance(istreambuf_iterator&, _Distance)): New overload. 367*14f5a3b0Smrg * include/std/streambuf (basic_streambuf<>): Declare std::advance for 368*14f5a3b0Smrg istreambuf_iterator of char types to be friend. 369*14f5a3b0Smrg * testsuite/22_locale/money_get/get/char/9.cc: Have 370*14f5a3b0Smrg istreambuf_iterator created on the fly when calling money_get<>::get. 371*14f5a3b0Smrg * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise. 372*14f5a3b0Smrg * testsuite/24_iterators/istreambuf_iterator/debug/1_neg.cc: New. 373*14f5a3b0Smrg * testsuite/24_iterators/istreambuf_iterator/debug/2_neg.cc: New. 374*14f5a3b0Smrg * testsuite/25_algorithms/advance/istreambuf_iterators/char/1.cc: New. 375*14f5a3b0Smrg * testsuite/25_algorithms/advance/istreambuf_iterators/char/1_neg.cc: 376*14f5a3b0Smrg New. 377*14f5a3b0Smrg * testsuite/25_algorithms/advance/istreambuf_iterators/char/2.cc: New. 378*14f5a3b0Smrg * testsuite/25_algorithms/advance/istreambuf_iterators/char/2_neg.cc: 379*14f5a3b0Smrg New. 380*14f5a3b0Smrg * testsuite/25_algorithms/advance/istreambuf_iterators/char/3_neg.cc: 381*14f5a3b0Smrg New. 382*14f5a3b0Smrg * testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/1.cc: 383*14f5a3b0Smrg New. 384*14f5a3b0Smrg * testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/1_neg.cc: 385*14f5a3b0Smrg New. 386*14f5a3b0Smrg * testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/2.cc: 387*14f5a3b0Smrg New. 388*14f5a3b0Smrg * testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/2_neg.cc: 389*14f5a3b0Smrg New. 390*14f5a3b0Smrg * testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/3_neg.cc: 391*14f5a3b0Smrg New. 392*14f5a3b0Smrg * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Leverage 393*14f5a3b0Smrg on std::advance overload. 394*14f5a3b0Smrg * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc: 395*14f5a3b0Smrg Likewise. 396*14f5a3b0Smrg 397*14f5a3b0Smrg2017-11-20 Jonathan Wakely <jwakely@redhat.com> 398*14f5a3b0Smrg 399*14f5a3b0Smrg * testsuite/special_functions/18_riemann_zeta/check_value.cc: Fix 400*14f5a3b0Smrg duplicate dg-options directive. 401*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 402*14f5a3b0Smrg 20_riemann_zeta/check_value_neg.cc: Likewise. 403*14f5a3b0Smrg 404*14f5a3b0Smrg2017-11-20 Ville Voutilainen <ville.voutilainen@gmail.com> 405*14f5a3b0Smrg 406*14f5a3b0Smrg Implement LWG 2353 407*14f5a3b0Smrg * include/bits/stl_iterator_base_funcs.h (next): 408*14f5a3b0Smrg Use InputIterator instead of ForwardIterator. 409*14f5a3b0Smrg * testsuite/24_iterators/operations/lwg2353.cc: New. 410*14f5a3b0Smrg * testsuite/24_iterators/operations/next_neg.cc: Remove. 411*14f5a3b0Smrg 412*14f5a3b0Smrg2017-11-18 Edward Smith-Rowland <3dw4rd@verizon.net> 413*14f5a3b0Smrg 414*14f5a3b0Smrg PR libstdc++/pr66689 - comp_ellint_3 and ellint_3 return garbage values 415*14f5a3b0Smrg * include/tr1/ell_integral.tcc: Correct the nu sign convention 416*14f5a3b0Smrg in ellint_3 and comp_ellint_3. 417*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 418*14f5a3b0Smrg 06_comp_ellint_3/check_value.cc: Regen with correct values. 419*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 420*14f5a3b0Smrg 14_ellint_3/check_value.cc: Ditto. 421*14f5a3b0Smrg * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Ditto. 422*14f5a3b0Smrg * testsuite/special_functions/13_ellint_3/check_value.cc: Ditto. 423*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 424*14f5a3b0Smrg 01_assoc_laguerre/check_value.cc: Regen. 425*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 426*14f5a3b0Smrg 02_assoc_legendre/check_value.cc: Regen. 427*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 428*14f5a3b0Smrg 03_beta/check_value.cc: Regen. 429*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 430*14f5a3b0Smrg 04_comp_ellint_1/check_value.cc: Regen. 431*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 432*14f5a3b0Smrg 05_comp_ellint_2/check_value.cc: Regen. 433*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 434*14f5a3b0Smrg 07_conf_hyperg/check_value.cc: Regen. 435*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 436*14f5a3b0Smrg 08_cyl_bessel_i/check_value.cc: Regen. 437*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 438*14f5a3b0Smrg 09_cyl_bessel_j/check_value.cc: Regen. 439*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 440*14f5a3b0Smrg 10_cyl_bessel_k/check_value.cc: Regen. 441*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 442*14f5a3b0Smrg 11_cyl_neumann/check_value.cc: Regen. 443*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 444*14f5a3b0Smrg 12_ellint_1/check_value.cc: Regen. 445*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 446*14f5a3b0Smrg 13_ellint_2/check_value.cc: Regen. 447*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 448*14f5a3b0Smrg 15_expint/check_value_neg.cc: Regen. 449*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 450*14f5a3b0Smrg 16_hermite/check_value.cc: Regen. 451*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 452*14f5a3b0Smrg 17_hyperg/check_value.cc: Regen. 453*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 454*14f5a3b0Smrg 18_laguerre/check_value.cc: Regen. 455*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 456*14f5a3b0Smrg 19_legendre/check_value.cc: Regen. 457*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 458*14f5a3b0Smrg 20_riemann_zeta/check_value_neg.cc: Regen. 459*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 460*14f5a3b0Smrg 21_sph_bessel/check_value.cc: Regen. 461*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 462*14f5a3b0Smrg 22_sph_legendre/check_value.cc: Regen. 463*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 464*14f5a3b0Smrg 23_sph_neumann/check_value.cc: Regen. 465*14f5a3b0Smrg * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Regen. 466*14f5a3b0Smrg * testsuite/ext/special_functions/hyperg/check_value.cc: Regen. 467*14f5a3b0Smrg * testsuite/special_functions/01_assoc_laguerre/check_value.cc: Regen. 468*14f5a3b0Smrg * testsuite/special_functions/02_assoc_legendre/check_value.cc: Regen. 469*14f5a3b0Smrg * testsuite/special_functions/03_beta/check_value.cc: Regen. 470*14f5a3b0Smrg * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Regen. 471*14f5a3b0Smrg * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Regen. 472*14f5a3b0Smrg * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Regen. 473*14f5a3b0Smrg * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Regen. 474*14f5a3b0Smrg * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Regen. 475*14f5a3b0Smrg * testsuite/special_functions/10_cyl_neumann/check_value.cc: Regen. 476*14f5a3b0Smrg * testsuite/special_functions/11_ellint_1/check_value.cc: Regen. 477*14f5a3b0Smrg * testsuite/special_functions/12_ellint_2/check_value.cc: Regen. 478*14f5a3b0Smrg * testsuite/special_functions/14_expint/check_value.cc: Regen. 479*14f5a3b0Smrg * testsuite/special_functions/15_hermite/check_value.cc: Regen. 480*14f5a3b0Smrg * testsuite/special_functions/16_laguerre/check_value.cc: Regen. 481*14f5a3b0Smrg * testsuite/special_functions/17_legendre/check_value.cc: Regen. 482*14f5a3b0Smrg * testsuite/special_functions/18_riemann_zeta/check_value.cc: Regen. 483*14f5a3b0Smrg * testsuite/special_functions/19_sph_bessel/check_value.cc: Regen. 484*14f5a3b0Smrg * testsuite/special_functions/20_sph_legendre/check_value.cc: Regen. 485*14f5a3b0Smrg * testsuite/special_functions/21_sph_neumann/check_value.cc: Regen. 486*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 487*14f5a3b0Smrg 06_comp_ellint_3/pr66689.cc: New. 488*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/ 489*14f5a3b0Smrg 14_ellint_3/pr66689.cc: New. 490*14f5a3b0Smrg * testsuite/special_functions/06_comp_ellint_3/pr66689.cc: New. 491*14f5a3b0Smrg * testsuite/special_functions/13_ellint_3/pr66689.cc: New. 492*14f5a3b0Smrg 493*14f5a3b0Smrg2017-11-18 Edward Smith-Rowland <3dw4rd@verizon.net> 494*14f5a3b0Smrg Expose Airy functions as an extenaion. 495*14f5a3b0Smrg * include/bits/specfun.h: Expose airy_ai and airy_bi. 496*14f5a3b0Smrg * include/tr1/modified_bessel_func.tcc: Treat NaN and inf arg, return. 497*14f5a3b0Smrg * testsuite/ext/special_functions/airy_ai/check_nan.cc: New. 498*14f5a3b0Smrg * testsuite/ext/special_functions/airy_ai/check_value.cc: New. 499*14f5a3b0Smrg * testsuite/ext/special_functions/airy_ai/compile.cc: New. 500*14f5a3b0Smrg * testsuite/ext/special_functions/airy_bi/check_nan.cc: New. 501*14f5a3b0Smrg * testsuite/ext/special_functions/airy_bi/check_value.cc: New. 502*14f5a3b0Smrg * testsuite/ext/special_functions/airy_bi/compile.cc: New. 503*14f5a3b0Smrg 504*14f5a3b0Smrg2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com> 505*14f5a3b0Smrg 506*14f5a3b0Smrg * acinclude.m4: Add cet.m4. 507*14f5a3b0Smrg * configure.ac: Set CET_FLAGS. Update EXTRA_CFLAGS, 508*14f5a3b0Smrg EXTRA_CXX_FLAGS. 509*14f5a3b0Smrg * libsupc++/Makefile.am: Use Add EXTRA_CFLAGS. 510*14f5a3b0Smrg * Makefile.in: Regenerate. 511*14f5a3b0Smrg * configure: Likewise. 512*14f5a3b0Smrg * doc/Makefile.in: Likewise. 513*14f5a3b0Smrg * include/Makefile.in: Likewise. 514*14f5a3b0Smrg * libsupc++/Makefile.in: Likewise. 515*14f5a3b0Smrg * po/Makefile.in: Likewise. 516*14f5a3b0Smrg * python/Makefile.in: Likewise. 517*14f5a3b0Smrg * src/Makefile.in: Likewise. 518*14f5a3b0Smrg * src/c++11/Makefile.in: Likewise. 519*14f5a3b0Smrg * src/c++98/Makefile.in: Likewise. 520*14f5a3b0Smrg * src/filesystem/Makefile.in: Likewise. 521*14f5a3b0Smrg * testsuite/Makefile.in: Likewise. 522*14f5a3b0Smrg 523*14f5a3b0Smrg2017-11-17 Jonathan Wakely <jwakely@redhat.com> 524*14f5a3b0Smrg 525*14f5a3b0Smrg PR libstdc++/83025 526*14f5a3b0Smrg * include/std/fstream (basic_filebuf::_If_path): Move to 527*14f5a3b0Smrg namespace-scope and rename to _If_fs_path. 528*14f5a3b0Smrg (basic_filebuf::open): Use new name. 529*14f5a3b0Smrg (basic_ifstream(_Path, ios::openmode)) 530*14f5a3b0Smrg (basic_ifstream::open(_Path, ios::openmode)) 531*14f5a3b0Smrg (basic_ofstream(_Path, ios::openmode)) 532*14f5a3b0Smrg (basic_ofstream::open(_Path, ios::openmode)) 533*14f5a3b0Smrg (basic_fstream(_Path, ios::openmode)) 534*14f5a3b0Smrg (basic_fstream::open(_Path, ios::openmode)): Use _If_fs_path. 535*14f5a3b0Smrg * testsuite/27_io/basic_filebuf/open/char/path.cc: Test with filename 536*14f5a3b0Smrg as non-const char*. 537*14f5a3b0Smrg * testsuite/27_io/basic_fstream/cons/char/path.cc: Likewise. 538*14f5a3b0Smrg * testsuite/27_io/basic_fstream/open/char/path.cc: Likewise. 539*14f5a3b0Smrg * testsuite/27_io/basic_ifstream/cons/char/path.cc: Likewise. 540*14f5a3b0Smrg * testsuite/27_io/basic_ifstream/open/char/path.cc: Likewise. 541*14f5a3b0Smrg * testsuite/27_io/basic_ofstream/cons/char/path.cc: Likewise. 542*14f5a3b0Smrg * testsuite/27_io/basic_ofstream/open/char/path.cc: Likewise. 543*14f5a3b0Smrg 544*14f5a3b0Smrg 545*14f5a3b0Smrg2017-11-17 Marc Glisse <marc.glisse@inria.fr> 546*14f5a3b0Smrg 547*14f5a3b0Smrg * include/bits/vector.tcc (vector::_M_realloc_insert): Cache old 548*14f5a3b0Smrg values before the allocation. 549*14f5a3b0Smrg 550*14f5a3b0Smrg2017-11-16 Jonathan Wakely <jwakely@redhat.com> 551*14f5a3b0Smrg 552*14f5a3b0Smrg * include/std/future (shared_future): Add noexcept to copy constructor 553*14f5a3b0Smrg and copy-assignment operator (LWG 2799). 554*14f5a3b0Smrg 555*14f5a3b0Smrg2017-11-15 Ville Voutilainen <ville.voutilainen@gmail.com> 556*14f5a3b0Smrg 557*14f5a3b0Smrg Fix gcd breakage. 558*14f5a3b0Smrg * include/std/numeric (gcd): Use remove_cv_t, not remove_cv. 559*14f5a3b0Smrg 560*14f5a3b0Smrg2017-11-15 Jonathan Wakely <jwakely@redhat.com> 561*14f5a3b0Smrg 562*14f5a3b0Smrg * testsuite/27_io/filesystem/iterators/directory_iterator.cc: Leave 563*14f5a3b0Smrg error_code unset. 564*14f5a3b0Smrg * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc: 565*14f5a3b0Smrg Check for past-the-end before dereferencing. 566*14f5a3b0Smrg * testsuite/experimental/filesystem/iterators/ 567*14f5a3b0Smrg recursive_directory_iterator.cc: Likewise. 568*14f5a3b0Smrg 569*14f5a3b0Smrg * include/bits/range_access.h (size, empty, data): Add conditional 570*14f5a3b0Smrg noexcept to generic overloads. 571*14f5a3b0Smrg 572*14f5a3b0Smrg2017-11-14 Ville Voutilainen <ville.voutilainen@gmail.com> 573*14f5a3b0Smrg 574*14f5a3b0Smrg Implement LWG 2733 and LWG 2759 575*14f5a3b0Smrg * include/experimental/numeric (gcd): Reject cv-qualified bool. 576*14f5a3b0Smrg (lcm): Likewise. 577*14f5a3b0Smrg * include/std/numeric (gcd): Likewise. 578*14f5a3b0Smrg (lcm): Likewise. 579*14f5a3b0Smrg * testsuite/26_numerics/gcd/gcd_neg.cc: Add tests and adjust. 580*14f5a3b0Smrg * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. 581*14f5a3b0Smrg 582*14f5a3b0Smrg2017-11-14 Jonathan Wakely <jwakely@redhat.com> 583*14f5a3b0Smrg 584*14f5a3b0Smrg * include/bits/locale_conv.h (wbuffer_convert::_M_conv_get): Fix typo. 585*14f5a3b0Smrg * testsuite/22_locale/conversions/buffer/3.cc: New test. 586*14f5a3b0Smrg 587*14f5a3b0Smrg2017-11-10 Jonathan Wakely <jwakely@redhat.com> 588*14f5a3b0Smrg 589*14f5a3b0Smrg * testsuite/util/testsuite_tr1.h (ThrowMoveConsClass): Use noexcept. 590*14f5a3b0Smrg 591*14f5a3b0Smrg PR libstdc++/82917 592*14f5a3b0Smrg * include/std/fstream (basic_ifstream::open, basic_ofstream::open) 593*14f5a3b0Smrg (basic_fstream::open): Fix missing return. 594*14f5a3b0Smrg 595*14f5a3b0Smrg2017-11-07 Jonathan Wakely <jwakely@redhat.com> 596*14f5a3b0Smrg 597*14f5a3b0Smrg * src/filesystem/ops-common.h (make_file_type) [S_ISSOCK]: Only use 598*14f5a3b0Smrg S_ISSOCK when defined. 599*14f5a3b0Smrg 600*14f5a3b0Smrg2017-11-06 François Dumont <fdumont@gcc.gnu.org> 601*14f5a3b0Smrg 602*14f5a3b0Smrg * testsuite/libstdc++-prettyprinters/tr1.cc: Compile with -O0. 603*14f5a3b0Smrg 604*14f5a3b0Smrg2017-11-06 Martin Liska <mliska@suse.cz> 605*14f5a3b0Smrg 606*14f5a3b0Smrg * testsuite/27_io/basic_fstream/cons/char/path.cc (main): 607*14f5a3b0Smrg Return a value for functions with non-void return type, 608*14f5a3b0Smrg or change type to void, or add -Wno-return-type for test. 609*14f5a3b0Smrg * testsuite/27_io/basic_ifstream/cons/char/path.cc (main): 610*14f5a3b0Smrg Likewise. 611*14f5a3b0Smrg * testsuite/27_io/basic_ofstream/open/char/path.cc (main): 612*14f5a3b0Smrg Likewise. 613*14f5a3b0Smrg 614*14f5a3b0Smrg2017-11-06 Paolo Carlini <paolo.carlini@oracle.com> 615*14f5a3b0Smrg 616*14f5a3b0Smrg * testsuite/20_util/optional/cons/deduction.cc: Avoid -Wreturn-type 617*14f5a3b0Smrg warnings. 618*14f5a3b0Smrg * testsuite/20_util/pair/cons/deduction.cc: Likewise. 619*14f5a3b0Smrg * testsuite/20_util/pair/traits.cc: Likewise. 620*14f5a3b0Smrg * testsuite/20_util/tuple/cons/deduction.cc: Likewise. 621*14f5a3b0Smrg * testsuite/20_util/variant/compile.cc: Likewise. 622*14f5a3b0Smrg * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise. 623*14f5a3b0Smrg * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc: 624*14f5a3b0Smrg Likewise. 625*14f5a3b0Smrg 626*14f5a3b0Smrg2017-11-05 Gerald Pfeifer <gerald@pfeifer.com> 627*14f5a3b0Smrg 628*14f5a3b0Smrg * doc/xml/manual/abi.xml: Move docs.oracle.com references to https. 629*14f5a3b0Smrg 630*14f5a3b0Smrg2017-11-03 Jonathan Wakely <jwakely@redhat.com> 631*14f5a3b0Smrg 632*14f5a3b0Smrg * include/std/type_traits (endian): Define new enumeration type. 633*14f5a3b0Smrg * testsuite/20_util/endian/1.cc: New test. 634*14f5a3b0Smrg 635*14f5a3b0Smrg * include/bits/node_handle.h (_Node_insert_return::get): Remove, as 636*14f5a3b0Smrg per P0508R0. 637*14f5a3b0Smrg 638*14f5a3b0Smrg2017-11-01 François Dumont <fdumont@gcc.gnu.org> 639*14f5a3b0Smrg 640*14f5a3b0Smrg * python/libstdcxx/v6/printers.py (StdExpAnyPrinter.__init__): Strip 641*14f5a3b0Smrg typename versioned namespace before the substitution. 642*14f5a3b0Smrg (StdExpOptionalPrinter.__init__): Likewise. 643*14f5a3b0Smrg (StdVariantPrinter.__init__): Likewise. 644*14f5a3b0Smrg (Printer.add_version): Inject versioned namespace after std or 645*14f5a3b0Smrg __gnu_cxx. 646*14f5a3b0Smrg (build_libstdcxx_dictionary): Adapt add_version usages, always pass 647*14f5a3b0Smrg namespace first and symbol second. 648*14f5a3b0Smrg 649*14f5a3b0Smrg2017-11-01 Jonathan Wakely <jwakely@redhat.com> 650*14f5a3b0Smrg 651*14f5a3b0Smrg PR libstdc++/82777 652*14f5a3b0Smrg * src/filesystem/std-path.cc (path::lexically_normal): Remove dot-dot 653*14f5a3b0Smrg elements correctly. 654*14f5a3b0Smrg * testsuite/27_io/filesystem/path/generation/normal.cc: Add testcase. 655*14f5a3b0Smrg * testsuite/util/testsuite_fs.h (compare_paths): Improve exception 656*14f5a3b0Smrg text. 657*14f5a3b0Smrg 658*14f5a3b0Smrg2017-10-30 Jonathan Wakely <jwakely@redhat.com> 659*14f5a3b0Smrg 660*14f5a3b0Smrg * include/Makefile.am (stamp-bits-sup): Do not create broken symlink 661*14f5a3b0Smrg to stamp-bits. 662*14f5a3b0Smrg * include/Makefile.in: Regenerate. 663*14f5a3b0Smrg 664*14f5a3b0Smrg * include/std/fstream (basic_ifstream, basic_ofstream, basic_fstream): 665*14f5a3b0Smrg Remove outdated comments about calling c_str() to create a file stream 666*14f5a3b0Smrg from a std::string. 667*14f5a3b0Smrg (basic_ofstream::basic_ofstream, basic_ofstream::open): Remove 668*14f5a3b0Smrg redundant ios_mode::trunc bits from default arguments and comments. 669*14f5a3b0Smrg 670*14f5a3b0Smrg * doc/xml/faq.xml: Adjust "What is libstdc++?" answer slightly. 671*14f5a3b0Smrg 672*14f5a3b0Smrg * include/bits/hashtable_policy.h: Include <tuple>. 673*14f5a3b0Smrg * include/std/unordered_map: Only include <bits/stl_pair.h> instead 674*14f5a3b0Smrg of <utility> and <tuple>. 675*14f5a3b0Smrg * include/std/unordered_set: Likewise. 676*14f5a3b0Smrg 677*14f5a3b0Smrg2017-10-30 Ville Voutilainen <ville.voutilainen@gmail.com> 678*14f5a3b0Smrg 679*14f5a3b0Smrg Implement LWG 2485 680*14f5a3b0Smrg * include/debug/array (get(const array<_Tp, _Nm>&&)): New. 681*14f5a3b0Smrg * include/std/array (get(const array<_Tp, _Nm>&&)): Likewise. 682*14f5a3b0Smrg * include/std/tuple (get(const tuple<_Elements...>&&)): Likewise. 683*14f5a3b0Smrg (get(const tuple<_Types...>&&)): Likewise. 684*14f5a3b0Smrg * include/std/utility 685*14f5a3b0Smrg (__pair_get::__const_move_get(const std::pair<_Tp1, _Tp2>&&)): 686*14f5a3b0Smrg Likewise. 687*14f5a3b0Smrg (get(const std::pair<_Tp1, _Tp2>&&)): Likewise. 688*14f5a3b0Smrg (get(const pair<_Tp, _Up>&&)): Likewise. 689*14f5a3b0Smrg (get(const pair<_Up, _Tp>&&)): Likewise. 690*14f5a3b0Smrg * testsuite/20_util/pair/astuple/get.cc: Add tests for 691*14f5a3b0Smrg new overloads. 692*14f5a3b0Smrg * testsuite/20_util/pair/astuple/get_by_type.cc: Likewise. 693*14f5a3b0Smrg * testsuite/20_util/tuple/element_access/get2.cc: Likewise. 694*14f5a3b0Smrg * testsuite/20_util/tuple/element_access/get2_by_type.cc: Likewise. 695*14f5a3b0Smrg * testsuite/23_containers/array/tuple_interface/get.cc: Likewise. 696*14f5a3b0Smrg * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc: 697*14f5a3b0Smrg Adjust. 698*14f5a3b0Smrg * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: 699*14f5a3b0Smrg Likewise. 700*14f5a3b0Smrg 701*14f5a3b0Smrg2017-10-27 Jonathan Wakely <jwakely@redhat.com> 702*14f5a3b0Smrg 703*14f5a3b0Smrg * include/bits/node_handle.h (_Node_insert_return::get): Avoid 704*14f5a3b0Smrg use of std::tie and std::get. 705*14f5a3b0Smrg 706*14f5a3b0Smrg * include/Makefile.am: Put headers in alphabetical order. 707*14f5a3b0Smrg * include/Makefile.in: Regenerate. 708*14f5a3b0Smrg 709*14f5a3b0Smrg * include/bits/fs_dir.h (directory_iterator): Remove noexcept from 710*14f5a3b0Smrg constructors and increment member (LWG 3013). 711*14f5a3b0Smrg (recursive_directory_iterator): Likewise. 712*14f5a3b0Smrg * include/bits/fs_ops.h (copy, copy_file, create_directories) 713*14f5a3b0Smrg (is_empty, remove_all): Remove noexcept (LWG 3013 and LWG 3014). 714*14f5a3b0Smrg * src/filesystem/std-dir.cc (directory_iterator::increment) 715*14f5a3b0Smrg (recursive_directory_iterator::increment): Remove noexcept. 716*14f5a3b0Smrg * src/filesystem/std-ops.cc (copy, copy_file, create_directories) 717*14f5a3b0Smrg (is_empty, remove_all): Remove noexcept 718*14f5a3b0Smrg 719*14f5a3b0Smrg * include/bits/fs_dir.h (file_status): Make default constructor 720*14f5a3b0Smrg non-explicit (LWG 2787). 721*14f5a3b0Smrg * testsuite/27_io/filesystem/file_status/1.cc: New test. 722*14f5a3b0Smrg * testsuite/experimental/filesystem/file_status/1.cc: New test. 723*14f5a3b0Smrg 724*14f5a3b0Smrg * include/std/fstream (basic_filebuf::_If_path): New SFINAE helper. 725*14f5a3b0Smrg (basic_filebuf::open<Path>(const Path&, const ios_base::openmode&)) 726*14f5a3b0Smrg (basic_ifstream<Path>(const Path&, const ios_base::openmode&)) 727*14f5a3b0Smrg (basic_ifstream::open<Path>(const Path&, const ios_base::openmode&)) 728*14f5a3b0Smrg (basic_ofstream<Path>(const Path&, const ios_base::openmode&)) 729*14f5a3b0Smrg (basic_ofstream::open<Path>(const Path&, const ios_base::openmode&)) 730*14f5a3b0Smrg (basic_fstream<Path>(const Path&, const ios_base::openmode&)) 731*14f5a3b0Smrg (basic_fstream::open<Path>(const Path&, const ios_base::openmode&)): 732*14f5a3b0Smrg New constructors and member functions. 733*14f5a3b0Smrg * testsuite/27_io/basic_filebuf/open/char/path.cc: New test. 734*14f5a3b0Smrg * testsuite/27_io/basic_fstream/cons/char/path.cc: New test. 735*14f5a3b0Smrg * testsuite/27_io/basic_fstream/open/char/path.cc: New test. 736*14f5a3b0Smrg * testsuite/27_io/basic_ifstream/cons/char/path.cc: New test. 737*14f5a3b0Smrg * testsuite/27_io/basic_ifstream/open/char/path.cc: New test. 738*14f5a3b0Smrg * testsuite/27_io/basic_ofstream/cons/char/path.cc: New test. 739*14f5a3b0Smrg * testsuite/27_io/basic_ofstream/open/char/path.cc: New test. 740*14f5a3b0Smrg 741*14f5a3b0Smrg * include/bits/fs_path.h (path::format): Define new enumeration type. 742*14f5a3b0Smrg (path(string_type&&), path<Source>(const Source&)) 743*14f5a3b0Smrg (path<InputIterator>(InputIterator, InputIterator)) 744*14f5a3b0Smrg (path<Source>(const Source&, const locale&)) 745*14f5a3b0Smrg (path<InputIterator>(InputIterator, InputIterator, const locale&)): 746*14f5a3b0Smrg Add format parameter. 747*14f5a3b0Smrg * testsuite/27_io/filesystem/path/construct/format.cc: New test. 748*14f5a3b0Smrg 749*14f5a3b0Smrg * include/bits/stl_algo.h (__find_if_not_n, generate_n): Cast to void 750*14f5a3b0Smrg to ensure overloaded comma not used. 751*14f5a3b0Smrg * include/bits/stl_algobase.h (__fill_n_a, equal): Likewise. 752*14f5a3b0Smrg * include/bits/stl_uninitialized.h (__uninitialized_fill_n) 753*14f5a3b0Smrg (__uninitialized_fill_n_a, __uninitialized_default_n_1) 754*14f5a3b0Smrg (__uninitialized_default_n_a, __uninitialized_copy_n) 755*14f5a3b0Smrg (__uninitialized_copy_n_pair): Likewise 756*14f5a3b0Smrg * testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc: 757*14f5a3b0Smrg Use test iterator wrappers with overloaded comma operator. 758*14f5a3b0Smrg * testsuite/25_algorithms/fill_n/1.cc: Likewise. 759*14f5a3b0Smrg * testsuite/25_algorithms/generate_n/1.cc: New test. 760*14f5a3b0Smrg * testsuite/25_algorithms/stable_partition/1.cc: New test. 761*14f5a3b0Smrg * testsuite/util/testsuite_iterators.h (operator,): Add deleted 762*14f5a3b0Smrg non-member comma operator with iterator wrappers as right operand. 763*14f5a3b0Smrg 764*14f5a3b0Smrg2017-10-26 Ville Voutilainen <ville.voutilainen@gmail.com> 765*14f5a3b0Smrg 766*14f5a3b0Smrg Deduction guides for associative containers, debug mode deduction 767*14f5a3b0Smrg guide fixes. 768*14f5a3b0Smrg * include/bits/stl_iterator.h (__iter_key_t) 769*14f5a3b0Smrg (__iter_val_t, __iter_to_alloc_t): New. 770*14f5a3b0Smrg * include/bits/stl_map.h: Add deduction guides. 771*14f5a3b0Smrg * include/bits/stl_multimap.h: Likewise. 772*14f5a3b0Smrg * include/bits/stl_multiset.h: Likewise. 773*14f5a3b0Smrg * include/bits/stl_set.h: Likewise. 774*14f5a3b0Smrg * include/bits/unordered_map.h: Likewise. 775*14f5a3b0Smrg * include/bits/unordered_set.h: Likewise. 776*14f5a3b0Smrg * include/debug/deque: Likewise. 777*14f5a3b0Smrg * include/debug/forward_list: Likewise. 778*14f5a3b0Smrg * include/debug/list: Likewise. 779*14f5a3b0Smrg * include/debug/map.h: Likewise. 780*14f5a3b0Smrg * include/debug/multimap.h: Likewise. 781*14f5a3b0Smrg * include/debug/multiset.h: Likewise. 782*14f5a3b0Smrg * include/debug/set.h: Likewise. 783*14f5a3b0Smrg * include/debug/unordered_map: Likewise. 784*14f5a3b0Smrg * include/debug/unordered_set: Likewise. 785*14f5a3b0Smrg * include/debug/vector: Likewise. 786*14f5a3b0Smrg * testsuite/23_containers/map/cons/deduction.cc: New. 787*14f5a3b0Smrg * testsuite/23_containers/multimap/cons/deduction.cc: Likewise. 788*14f5a3b0Smrg * testsuite/23_containers/multiset/cons/deduction.cc: Likewise. 789*14f5a3b0Smrg * testsuite/23_containers/set/cons/deduction.cc: Likewise. 790*14f5a3b0Smrg * testsuite/23_containers/unordered_map/cons/deduction.cc: Likewise. 791*14f5a3b0Smrg * testsuite/23_containers/unordered_multimap/cons/deduction.cc: 792*14f5a3b0Smrg Likewise. 793*14f5a3b0Smrg * testsuite/23_containers/unordered_multiset/cons/deduction.cc: 794*14f5a3b0Smrg Likewise. 795*14f5a3b0Smrg * testsuite/23_containers/unordered_set/cons/deduction.cc: Likewise. 796*14f5a3b0Smrg 797*14f5a3b0Smrg2017-10-25 Jonathan Wakely <jwakely@redhat.com> 798*14f5a3b0Smrg 799*14f5a3b0Smrg * doc/xml/manual/status_cxx2017.xml: Update C++17 status, and 800*14f5a3b0Smrg information on feature-test macros. 801*14f5a3b0Smrg * doc/html/*: Regenerate. 802*14f5a3b0Smrg 803*14f5a3b0Smrg PR libstdc++/82716 804*14f5a3b0Smrg * include/std/array (tuple_size, tuple_element): Change class-key 805*14f5a3b0Smrg from class to struct, to avoid annoying Clang warnings. 806*14f5a3b0Smrg 807*14f5a3b0Smrg PR libstdc++/79283 808*14f5a3b0Smrg * src/filesystem/ops.cc (read_symlink): Handle st_size being zero. 809*14f5a3b0Smrg * src/filesystem/std-ops.cc (read_symlink): Likewise. 810*14f5a3b0Smrg (do_copy_file) [!NEED_DO_COPY_FILE]: Avoid multiple definitions. 811*14f5a3b0Smrg 812*14f5a3b0Smrg * src/filesystem/std-path.cc (path::lexically_normal): Add missing 813*14f5a3b0Smrg step to algorithm, for removing dot-dot elements after root-directory. 814*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/canonical.cc: Use 815*14f5a3b0Smrg compare_paths for more exhaustive checks. 816*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/proximate.cc: Likewise. 817*14f5a3b0Smrg * testsuite/27_io/filesystem/path/append/path.cc: Likewise. 818*14f5a3b0Smrg * testsuite/27_io/filesystem/path/concat/path.cc: Likewise. 819*14f5a3b0Smrg * testsuite/27_io/filesystem/path/concat/strings.cc: Fix comment. 820*14f5a3b0Smrg * testsuite/27_io/filesystem/path/construct/locale.cc: Likewise. 821*14f5a3b0Smrg * testsuite/27_io/filesystem/path/decompose/root_directory.cc: 822*14f5a3b0Smrg Likewise. 823*14f5a3b0Smrg * testsuite/27_io/filesystem/path/generation/normal.cc: Use 824*14f5a3b0Smrg compare_paths for more exhaustive checks. Add extra testcases. 825*14f5a3b0Smrg * testsuite/27_io/filesystem/path/generation/proximate.cc: Use 826*14f5a3b0Smrg compare_paths for more exhaustive checks. 827*14f5a3b0Smrg * testsuite/27_io/filesystem/path/generation/relative.cc: Likewise. 828*14f5a3b0Smrg * testsuite/27_io/filesystem/path/generic/generic_string.cc: Remove 829*14f5a3b0Smrg unused header. 830*14f5a3b0Smrg * testsuite/27_io/filesystem/path/modifiers/make_preferred.cc: Fix 831*14f5a3b0Smrg comment. 832*14f5a3b0Smrg * testsuite/27_io/filesystem/path/modifiers/remove_filename.cc: Use 833*14f5a3b0Smrg compare_paths for more exhaustive checks. 834*14f5a3b0Smrg * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc: 835*14f5a3b0Smrg Likewise. 836*14f5a3b0Smrg * testsuite/27_io/filesystem/path/modifiers/replace_filename.cc: 837*14f5a3b0Smrg Likewise. 838*14f5a3b0Smrg * testsuite/util/testsuite_fs.h (compare_paths): Also compare native 839*14f5a3b0Smrg strings. 840*14f5a3b0Smrg 841*14f5a3b0Smrg PR libstdc++/82706 842*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/permissions.cc: Fix test. 843*14f5a3b0Smrg 844*14f5a3b0Smrg2017-10-24 François Dumont <fdumont@gcc.gnu.org> 845*14f5a3b0Smrg 846*14f5a3b0Smrg * testsuite/lib/libstdc++.exp (check_v3_target_normal_mode): Add 847*14f5a3b0Smrg c++config.h include. 848*14f5a3b0Smrg (check_v3_target_normal_namespace): New. 849*14f5a3b0Smrg * testsuite/lib/dg-options.exp (dg-require-normal-namespace): New. 850*14f5a3b0Smrg * testsuite/18_support/headers/limits/synopsis.cc: Add latter. 851*14f5a3b0Smrg * testsuite/20_util/from_chars/requirements.cc: Likewise. 852*14f5a3b0Smrg * testsuite/20_util/headers/functional/synopsis.cc: Likewise. 853*14f5a3b0Smrg * testsuite/20_util/headers/memory/synopsis.cc: Likewise. 854*14f5a3b0Smrg * testsuite/20_util/headers/utility/synopsis.cc: Likewise. 855*14f5a3b0Smrg * testsuite/20_util/to_chars/requirements.cc: Likewise. 856*14f5a3b0Smrg * testsuite/21_strings/headers/string/synopsis.cc: Likewise. 857*14f5a3b0Smrg * testsuite/22_locale/headers/locale/synopsis.cc: Likewise. 858*14f5a3b0Smrg * testsuite/23_containers/headers/bitset/synopsis.cc: Likewise. 859*14f5a3b0Smrg * testsuite/23_containers/headers/deque/synopsis.cc: Likewise. 860*14f5a3b0Smrg * testsuite/23_containers/headers/forward_list/synopsis.cc: Likewise. 861*14f5a3b0Smrg * testsuite/23_containers/headers/list/synopsis.cc: Likewise. 862*14f5a3b0Smrg * testsuite/23_containers/headers/map/synopsis.cc: Likewise. 863*14f5a3b0Smrg * testsuite/23_containers/headers/queue/synopsis.cc: Likewise. 864*14f5a3b0Smrg * testsuite/23_containers/headers/set/synopsis.cc: Likewise. 865*14f5a3b0Smrg * testsuite/23_containers/headers/stack/synopsis.cc: Likewise. 866*14f5a3b0Smrg * testsuite/23_containers/headers/vector/synopsis.cc: Likewise. 867*14f5a3b0Smrg * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Likewise. 868*14f5a3b0Smrg * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: Likewise. 869*14f5a3b0Smrg * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: Likewise. 870*14f5a3b0Smrg * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise. 871*14f5a3b0Smrg * testsuite/24_iterators/headers/iterator/synopsis.cc: Likewise. 872*14f5a3b0Smrg * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: Likewise. 873*14f5a3b0Smrg * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: Likewise. 874*14f5a3b0Smrg * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: Likewise. 875*14f5a3b0Smrg * testsuite/26_numerics/complex/abi_tag.cc: Likewise. 876*14f5a3b0Smrg * testsuite/26_numerics/headers/complex/synopsis.cc: Likewise. 877*14f5a3b0Smrg * testsuite/26_numerics/headers/valarray/synopsis.cc: Likewise. 878*14f5a3b0Smrg * testsuite/27_io/headers/fstream/synopsis.cc: Likewise. 879*14f5a3b0Smrg * testsuite/27_io/headers/ios/synopsis.cc: Likewise. 880*14f5a3b0Smrg * testsuite/27_io/headers/istream/synopsis.cc: Likewise. 881*14f5a3b0Smrg * testsuite/27_io/headers/ostream/synopsis.cc: Likewise. 882*14f5a3b0Smrg * testsuite/27_io/headers/sstream/synopsis.cc: Likewise. 883*14f5a3b0Smrg * testsuite/27_io/headers/streambuf/synopsis.cc: Likewise. 884*14f5a3b0Smrg 885*14f5a3b0Smrg2017-10-24 Jonathan Wakely <jwakely@redhat.com> 886*14f5a3b0Smrg 887*14f5a3b0Smrg * config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Ignore 888*14f5a3b0Smrg -Wattribute-alias warnings. 889*14f5a3b0Smrg * src/c++11/istream-inst.cc: Likewise. 890*14f5a3b0Smrg * src/c++11/locale-inst.cc: Likewise. 891*14f5a3b0Smrg * src/c++11/ostream-inst.cc: Likewise. 892*14f5a3b0Smrg * src/c++11/wlocale-inst.cc: Likewise. 893*14f5a3b0Smrg * src/c++98/hash-long-double-tr1-aux.cc: Likewise. 894*14f5a3b0Smrg 895*14f5a3b0Smrg * include/bits/string_view.tcc (find_first_of, find_last_of) 896*14f5a3b0Smrg (find_first_not_of, find_last_not_of): Add noexcept. 897*14f5a3b0Smrg * include/std/string_view (basic_string_view(const _CharT*)) 898*14f5a3b0Smrg (basic_string_view(const _CharT*, size_type)) 899*14f5a3b0Smrg (front, back, remove_prefix, remove_suffix, find, rfind) 900*14f5a3b0Smrg (find_first_of, find_first_not_of): Add noexcept. 901*14f5a3b0Smrg (at(size_type), _S_compare(size_type, size_type)): Replace conditional 902*14f5a3b0Smrg expressions with if statements. 903*14f5a3b0Smrg (copy(_CharT*, size_type, size_type), substr(size_type, size_type)): 904*14f5a3b0Smrg Use _M_check for length checks. 905*14f5a3b0Smrg (compare(basic_string_view)): Reformat. 906*14f5a3b0Smrg (_M_check(size_type, const char)): Add noexcept(false). 907*14f5a3b0Smrg (_M_limit(size_type, size_type)): Use noexcept not _GLIBCXX_NOEXCEPT. 908*14f5a3b0Smrg 909*14f5a3b0Smrg PR libstdc++/82685 910*14f5a3b0Smrg * include/experimental/string_view (operator""sv): Add noexcept. 911*14f5a3b0Smrg * include/std/string_view (operator""sv): Likewise. 912*14f5a3b0Smrg 913*14f5a3b0Smrg2017-10-23 Jonathan Wakely <jwakely@redhat.com> 914*14f5a3b0Smrg 915*14f5a3b0Smrg * include/Makefile.am: Add new headers for C++17 filesystem library. 916*14f5a3b0Smrg * include/Makefile.in: Regenerate. 917*14f5a3b0Smrg * include/bits/fs_dir.h: New header, based on Filesystem TS code in 918*14f5a3b0Smrg include/experimental/bits directory. 919*14f5a3b0Smrg * include/bits/fs_fwd.h: Likewise. 920*14f5a3b0Smrg * include/bits/fs_ops.h: Likewise. 921*14f5a3b0Smrg * include/bits/fs_path.h: Likewise. 922*14f5a3b0Smrg * include/experimental/bits/fs_dir.h: Rename Doxygen group. 923*14f5a3b0Smrg * include/experimental/bits/fs_fwd.h: Likewise. 924*14f5a3b0Smrg * include/experimental/bits/fs_ops.h: Likewise. 925*14f5a3b0Smrg * include/experimental/bits/fs_path.h: Likewise. 926*14f5a3b0Smrg * include/experimental/filesystem (filesystem_error::_M_gen_what): 927*14f5a3b0Smrg Remove inline definition. 928*14f5a3b0Smrg * include/precompiled/stdc++.h: Add <filesystem> to precompiled 929*14f5a3b0Smrg header. 930*14f5a3b0Smrg * include/std/filesystem: New header. 931*14f5a3b0Smrg * python/libstdcxx/v6/printers.py: Enable printer for std::filesystem 932*14f5a3b0Smrg paths. 933*14f5a3b0Smrg * src/filesystem/Makefile.am: Add new files. Compile as C++17. 934*14f5a3b0Smrg * src/filesystem/Makefile.in: Regenerate. 935*14f5a3b0Smrg * src/filesystem/cow-dir.cc: Update comment. 936*14f5a3b0Smrg * src/filesystem/cow-ops.cc: Likewise. 937*14f5a3b0Smrg * src/filesystem/cow-path.cc: Likewise. 938*14f5a3b0Smrg * src/filesystem/cow-std-dir.cc: New file. 939*14f5a3b0Smrg * src/filesystem/cow-std-ops.cc: New file. 940*14f5a3b0Smrg * src/filesystem/cow-std-path.cc: New file. 941*14f5a3b0Smrg * src/filesystem/dir-common.h (_Dir_base, get_file_type): New header 942*14f5a3b0Smrg for common code. 943*14f5a3b0Smrg * src/filesystem/dir.cc (_Dir): Derive from _Dir_base. 944*14f5a3b0Smrg (open_dir): Move to _Dir_base constructor. 945*14f5a3b0Smrg (get_file_type): Move to dir-common.h. 946*14f5a3b0Smrg (recurse): Move to _Dir_base::should_recurse. 947*14f5a3b0Smrg * src/filesystem/ops-common.h: New header for common code. 948*14f5a3b0Smrg * src/filesystem/ops.cc (is_set, make_file_type, make_file_status) 949*14f5a3b0Smrg (is_not_found_errno, file_time, do_copy_file): Move to ops-common.h. 950*14f5a3b0Smrg * src/filesystem/path.cc (filesystem_error::_M_gen_what): Define. 951*14f5a3b0Smrg * src/filesystem/std-dir.cc: New file, based on Filesystem TS code. 952*14f5a3b0Smrg * src/filesystem/std-ops.cc: Likewise. 953*14f5a3b0Smrg * src/filesystem/std-dir.cc: Likewise. 954*14f5a3b0Smrg * testsuite/27_io/filesystem/iterators/directory_iterator.cc: New 955*14f5a3b0Smrg test. 956*14f5a3b0Smrg * testsuite/27_io/filesystem/iterators/pop.cc: New test. 957*14f5a3b0Smrg * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc: 958*14f5a3b0Smrg New test. 959*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/absolute.cc: New test. 960*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/canonical.cc: New test. 961*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/copy.cc: New test. 962*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/copy_file.cc: New test. 963*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/create_directories.cc: New 964*14f5a3b0Smrg test. 965*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/create_directory.cc: New test. 966*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/create_symlink.cc: New test. 967*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/current_path.cc: New test. 968*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/equivalent.cc: New test. 969*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/exists.cc: New test. 970*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/file_size.cc: New test. 971*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/is_empty.cc: New test. 972*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/last_write_time.cc: New test. 973*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/permissions.cc: New test. 974*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/proximate.cc: New test. 975*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/read_symlink.cc: New test. 976*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/relative.cc: New test. 977*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/remove_all.cc: New test. 978*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/space.cc: New test. 979*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/status.cc: New test. 980*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/symlink_status.cc: New test. 981*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/temp_directory_path.cc: New 982*14f5a3b0Smrg test. 983*14f5a3b0Smrg * testsuite/27_io/filesystem/operations/weakly_canonical.cc: New test. 984*14f5a3b0Smrg * testsuite/27_io/filesystem/path/append/path.cc: New test. 985*14f5a3b0Smrg * testsuite/27_io/filesystem/path/assign/assign.cc: New test. 986*14f5a3b0Smrg * testsuite/27_io/filesystem/path/assign/copy.cc: New test. 987*14f5a3b0Smrg * testsuite/27_io/filesystem/path/compare/compare.cc: New test. 988*14f5a3b0Smrg * testsuite/27_io/filesystem/path/compare/path.cc: New test. 989*14f5a3b0Smrg * testsuite/27_io/filesystem/path/compare/strings.cc: New test. 990*14f5a3b0Smrg * testsuite/27_io/filesystem/path/concat/path.cc: New test. 991*14f5a3b0Smrg * testsuite/27_io/filesystem/path/concat/strings.cc: New test. 992*14f5a3b0Smrg * testsuite/27_io/filesystem/path/construct/copy.cc: New test. 993*14f5a3b0Smrg * testsuite/27_io/filesystem/path/construct/default.cc: New test. 994*14f5a3b0Smrg * testsuite/27_io/filesystem/path/construct/locale.cc: New test. 995*14f5a3b0Smrg * testsuite/27_io/filesystem/path/construct/range.cc: New test. 996*14f5a3b0Smrg * testsuite/27_io/filesystem/path/construct/string_view.cc: New test. 997*14f5a3b0Smrg * testsuite/27_io/filesystem/path/decompose/extension.cc: New test. 998*14f5a3b0Smrg * testsuite/27_io/filesystem/path/decompose/filename.cc: New test. 999*14f5a3b0Smrg * testsuite/27_io/filesystem/path/decompose/parent_path.cc: New test. 1000*14f5a3b0Smrg * testsuite/27_io/filesystem/path/decompose/relative_path.cc: New 1001*14f5a3b0Smrg test. 1002*14f5a3b0Smrg * testsuite/27_io/filesystem/path/decompose/root_directory.cc: New 1003*14f5a3b0Smrg test. 1004*14f5a3b0Smrg * testsuite/27_io/filesystem/path/decompose/root_name.cc: New test. 1005*14f5a3b0Smrg * testsuite/27_io/filesystem/path/decompose/root_path.cc: New test. 1006*14f5a3b0Smrg * testsuite/27_io/filesystem/path/decompose/stem.cc: New test. 1007*14f5a3b0Smrg * testsuite/27_io/filesystem/path/generation/normal.cc: New test. 1008*14f5a3b0Smrg * testsuite/27_io/filesystem/path/generation/proximate.cc: New test. 1009*14f5a3b0Smrg * testsuite/27_io/filesystem/path/generation/relative.cc: New test. 1010*14f5a3b0Smrg * testsuite/27_io/filesystem/path/generic/generic_string.cc: New test. 1011*14f5a3b0Smrg * testsuite/27_io/filesystem/path/itr/traversal.cc: New test. 1012*14f5a3b0Smrg * testsuite/27_io/filesystem/path/modifiers/clear.cc: New test. 1013*14f5a3b0Smrg * testsuite/27_io/filesystem/path/modifiers/make_preferred.cc: New 1014*14f5a3b0Smrg test. 1015*14f5a3b0Smrg * testsuite/27_io/filesystem/path/modifiers/remove_filename.cc: New 1016*14f5a3b0Smrg test. 1017*14f5a3b0Smrg * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc: New 1018*14f5a3b0Smrg test. 1019*14f5a3b0Smrg * testsuite/27_io/filesystem/path/modifiers/replace_filename.cc: New 1020*14f5a3b0Smrg test. 1021*14f5a3b0Smrg * testsuite/27_io/filesystem/path/modifiers/swap.cc: New test. 1022*14f5a3b0Smrg * testsuite/27_io/filesystem/path/native/string.cc: New test. 1023*14f5a3b0Smrg * testsuite/27_io/filesystem/path/nonmember/hash_value.cc: New test. 1024*14f5a3b0Smrg * testsuite/27_io/filesystem/path/query/empty.cc: New test. 1025*14f5a3b0Smrg * testsuite/27_io/filesystem/path/query/has_extension.cc: New test. 1026*14f5a3b0Smrg * testsuite/27_io/filesystem/path/query/has_filename.cc: New test. 1027*14f5a3b0Smrg * testsuite/27_io/filesystem/path/query/has_parent_path.cc: New test. 1028*14f5a3b0Smrg * testsuite/27_io/filesystem/path/query/has_relative_path.cc: New 1029*14f5a3b0Smrg test. 1030*14f5a3b0Smrg * testsuite/27_io/filesystem/path/query/has_root_directory.cc: New 1031*14f5a3b0Smrg test. 1032*14f5a3b0Smrg * testsuite/27_io/filesystem/path/query/has_root_name.cc: New test. 1033*14f5a3b0Smrg * testsuite/27_io/filesystem/path/query/has_root_path.cc: New test. 1034*14f5a3b0Smrg * testsuite/27_io/filesystem/path/query/has_stem.cc: New test. 1035*14f5a3b0Smrg * testsuite/27_io/filesystem/path/query/is_relative.cc: New test. 1036*14f5a3b0Smrg * testsuite/experimental/filesystem/path/construct/string_view.cc: 1037*14f5a3b0Smrg Define USE_FILESYSTEM_TS. 1038*14f5a3b0Smrg * testsuite/util/testsuite_fs.h: Allow use with C++17 paths as well 1039*14f5a3b0Smrg as Filesystem TS. 1040*14f5a3b0Smrg 1041*14f5a3b0Smrg PR libstdc++/82644 1042*14f5a3b0Smrg * doc/xml/manual/intro.xml: Include new section. 1043*14f5a3b0Smrg * doc/xml/manual/status_cxxis29124.xml: New section on IS 29124 1044*14f5a3b0Smrg status. 1045*14f5a3b0Smrg * include/bits/specfun.h [__STRICT_ANSI__] (hyperg, hypergf, hypergl) 1046*14f5a3b0Smrg (conf_hyperg, conf_hypergf, conf_hypergl): Don't declare. 1047*14f5a3b0Smrg * include/c_compatibility/math.h: Import special functions into 1048*14f5a3b0Smrg global namespace for C++17. 1049*14f5a3b0Smrg * testsuite/26_numerics/headers/cmath/82644.cc: New test. 1050*14f5a3b0Smrg * testsuite/26_numerics/headers/cmath/functions_global_c++17.cc: New 1051*14f5a3b0Smrg test. 1052*14f5a3b0Smrg 1053*14f5a3b0Smrg2017-10-21 Jonathan Wakely <jwakely@redhat.com> 1054*14f5a3b0Smrg 1055*14f5a3b0Smrg * testsuite/experimental/filesystem/path/itr/traversal.cc: Do not 1056*14f5a3b0Smrg increment past-the-end iterators. 1057*14f5a3b0Smrg 1058*14f5a3b0Smrg2017-10-20 Jonathan Wakely <jwakely@redhat.com> 1059*14f5a3b0Smrg 1060*14f5a3b0Smrg * include/std/chrono (__cpp_lib_chrono): Update macro value to 1061*14f5a3b0Smrg indicate support for P0505R0. 1062*14f5a3b0Smrg * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: Check 1063*14f5a3b0Smrg for updated macro. 1064*14f5a3b0Smrg 1065*14f5a3b0Smrg * include/c_global/cstddef: Define __cpp_lib_byte feature-test macro. 1066*14f5a3b0Smrg * testsuite/18_support/byte/requirements.cc: Check macro. 1067*14f5a3b0Smrg 1068*14f5a3b0Smrg2017-10-19 Jonathan Wakely <jwakely@redhat.com> 1069*14f5a3b0Smrg 1070*14f5a3b0Smrg * testsuite/experimental/filesystem/iterators/ 1071*14f5a3b0Smrg recursive_directory_iterator.cc: Ensure that error_code arguments are 1072*14f5a3b0Smrg cleared when required. 1073*14f5a3b0Smrg * testsuite/experimental/filesystem/operations/create_directory.cc: 1074*14f5a3b0Smrg Remove redundant check. 1075*14f5a3b0Smrg * testsuite/experimental/filesystem/operations/temp_directory_path.cc: 1076*14f5a3b0Smrg Ensure that error_code argument is cleared when required. 1077*14f5a3b0Smrg 1078*14f5a3b0Smrg * include/experimental/bits/fs_path.h (path::iterator++(int)) 1079*14f5a3b0Smrg (path::iterator--(int)): Fix for paths with only one component. 1080*14f5a3b0Smrg * testsuite/experimental/filesystem/path/itr/traversal.cc: Test 1081*14f5a3b0Smrg post-increment and post-decrement. 1082*14f5a3b0Smrg 1083*14f5a3b0Smrg * doc/xml/manual/status_cxx2017.xml: Update references to C++17 1084*14f5a3b0Smrg section numbers. 1085*14f5a3b0Smrg 1086*14f5a3b0Smrg * testsuite/decimal/conversion-to-integral.cc: Use predefined macro 1087*14f5a3b0Smrg instead of non-standard glibc one. 1088*14f5a3b0Smrg 1089*14f5a3b0Smrg2017-10-16 François Dumont <fdumont@gcc.gnu.org> 1090*14f5a3b0Smrg 1091*14f5a3b0Smrg PR libstdc++/82558 1092*14f5a3b0Smrg * include/bits/stl_bvector.h (fill): Add iterator offset check. 1093*14f5a3b0Smrg * testsuite/23_containers/vector/bool/82558.cc: New. 1094*14f5a3b0Smrg 1095*14f5a3b0Smrg2017-10-13 Jonathan Wakely <jwakely@redhat.com> 1096*14f5a3b0Smrg 1097*14f5a3b0Smrg PR libstdc++/82522 1098*14f5a3b0Smrg * doc/xml/manual/intro.xml: Document LWG 2354 changes. 1099*14f5a3b0Smrg * include/bits/stl_map.h (map::insert(value_type&&)) 1100*14f5a3b0Smrg (map::insert(const_iterator, value_type&&)): Add overload for rvalues. 1101*14f5a3b0Smrg * include/bits/stl_multimap.h (multimap::insert(value_type&&)) 1102*14f5a3b0Smrg (multimap::insert(const_iterator, value_type&&)): Likewise. 1103*14f5a3b0Smrg * include/bits/unordered_map.h (unordered_map::insert(value_type&&)) 1104*14f5a3b0Smrg (unordered_map::insert(const_iterator, value_type&&)) 1105*14f5a3b0Smrg (unordered_multimap::insert(value_type&&)) 1106*14f5a3b0Smrg (unordered_multimap::insert(const_iterator, value_type&&)): Likewise. 1107*14f5a3b0Smrg * testsuite/23_containers/map/modifiers/insert/dr2354.cc: New test. 1108*14f5a3b0Smrg * testsuite/23_containers/multimap/modifiers/insert/dr2354.cc: New 1109*14f5a3b0Smrg test. 1110*14f5a3b0Smrg * testsuite/23_containers/unordered_map/insert/dr2354.cc: New test. 1111*14f5a3b0Smrg * testsuite/23_containers/unordered_multimap/insert/dr2354.cc: New 1112*14f5a3b0Smrg test. 1113*14f5a3b0Smrg 1114*14f5a3b0Smrg PR libstdc++/82481 1115*14f5a3b0Smrg * include/std/mutex (call_once): Suppress clang-tidy warnings about 1116*14f5a3b0Smrg dangling references. 1117*14f5a3b0Smrg 1118*14f5a3b0Smrg2017-10-10 Jonathan Wakely <jwakely@redhat.com> 1119*14f5a3b0Smrg 1120*14f5a3b0Smrg * include/bits/streambuf_iterator.h (istreambuf_iterator::equal): 1121*14f5a3b0Smrg Update comment about NAD issue. 1122*14f5a3b0Smrg 1123*14f5a3b0Smrg PR libstdc++/59087 1124*14f5a3b0Smrg PR libstdc++/82417 1125*14f5a3b0Smrg * include/c_compatibility/complex.h [!C++98 && __STRICT_ANSI__]: Do 1126*14f5a3b0Smrg not include C library's <complex.h>. 1127*14f5a3b0Smrg * testsuite/26_numerics/complex/c99.cc: Depend on __STRICT_ANSI__. 1128*14f5a3b0Smrg * testsuite/26_numerics/headers/complex.h/std_c++11.h: New test. 1129*14f5a3b0Smrg * testsuite/26_numerics/headers/complex.h/std_gnu++11.h: New test. 1130*14f5a3b0Smrg * testsuite/26_numerics/headers/complex.h/std_c++98.h: New test. 1131*14f5a3b0Smrg 1132*14f5a3b0Smrg2017-10-05 Jonathan Wakely <jwakely@redhat.com> 1133*14f5a3b0Smrg 1134*14f5a3b0Smrg * testsuite/20_util/to_chars/1.cc: Add dg-require-string-conversions. 1135*14f5a3b0Smrg 1136*14f5a3b0Smrg2017-10-04 Petr Ovtchenkov <ptr@void-ptr.info> 1137*14f5a3b0Smrg François Dumont <fdumont@gcc.gnu.org> 1138*14f5a3b0Smrg 1139*14f5a3b0Smrg * include/bits/streambuf_iterator.h 1140*14f5a3b0Smrg (istreambuf_iterator<>::operator*()): Do not capture iterator state 1141*14f5a3b0Smrg in Debug assertion. 1142*14f5a3b0Smrg (istreambuf_iterator<>::operator++()): Likewise and remove _M_sbuf check. 1143*14f5a3b0Smrg (istreambuf_iterator<>::operator++(int)): Likewise. 1144*14f5a3b0Smrg (istreambuf_iterator<>::_M_get()): Remove _M_c assignment. 1145*14f5a3b0Smrg (istreambuf_iterator<>::_S_is_eof()): New. 1146*14f5a3b0Smrg (istreambuf_iterator<>::_M_at_eof()): Adapt, use latter. 1147*14f5a3b0Smrg (find(istreambuf_iterator<>, istreambuf_iterator<>, _CharT)): 1148*14f5a3b0Smrg Return an iterator with _M_c set to eof to capture streambuf state 1149*14f5a3b0Smrg on evaluation. 1150*14f5a3b0Smrg (testsuite/24_iterators/istreambuf_iterator/2.cc): Add checks. 1151*14f5a3b0Smrg 1152*14f5a3b0Smrg2017-10-03 Jakub Jelinek <jakub@redhat.com> 1153*14f5a3b0Smrg 1154*14f5a3b0Smrg * include/std/charconv (__unsigned_least_t): Fix number of closing >s for 1155*14f5a3b0Smrg !_GLIBCXX_USE_INT128. 1156*14f5a3b0Smrg 1157*14f5a3b0Smrg2017-10-02 Jonathan Wakely <jwakely@redhat.com> 1158*14f5a3b0Smrg 1159*14f5a3b0Smrg * include/Makefile.am: Add new <charconv> header. 1160*14f5a3b0Smrg * include/Makefile.in: Regenerate. 1161*14f5a3b0Smrg * include/precompiled/stdc++.h: Include <charconv>. 1162*14f5a3b0Smrg * include/std/charconv: New file. 1163*14f5a3b0Smrg (to_chars_result, to_chars, from_chars_result, from_chars): Define. 1164*14f5a3b0Smrg * testsuite/20_util/from_chars/1.cc: New test. 1165*14f5a3b0Smrg * testsuite/20_util/from_chars/1_neg.cc: New test. 1166*14f5a3b0Smrg * testsuite/20_util/from_chars/2.cc: New test. 1167*14f5a3b0Smrg * testsuite/20_util/from_chars/requirements.cc: New test. 1168*14f5a3b0Smrg * testsuite/20_util/to_chars/1.cc: New test. 1169*14f5a3b0Smrg * testsuite/20_util/to_chars/1_neg.cc: New test. 1170*14f5a3b0Smrg * testsuite/20_util/to_chars/2.cc: New test. 1171*14f5a3b0Smrg * testsuite/20_util/to_chars/requirements.cc: New test. 1172*14f5a3b0Smrg 1173*14f5a3b0Smrg2017-09-27 François Dumont <fdumont@gcc.gnu.org> 1174*14f5a3b0Smrg 1175*14f5a3b0Smrg * testsuite/22_locale/money_get/get/char/22131.cc: Make test less 1176*14f5a3b0Smrg istreambuf_iterator implementation dependent. 1177*14f5a3b0Smrg * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise. 1178*14f5a3b0Smrg 1179*14f5a3b0Smrg2017-09-25 Uros Bizjak <ubizjak@gmail.com> 1180*14f5a3b0Smrg 1181*14f5a3b0Smrg PR c/81854 1182*14f5a3b0Smrg * src/c++98/complex_io.cc (_GLIBCXX_LDBL_COMPAT): Declare alias 1183*14f5a3b0Smrg target as a C++ function with no prototype. 1184*14f5a3b0Smrg 1185*14f5a3b0Smrg2017-09-21 Jonathan Wakely <jwakely@redhat.com> 1186*14f5a3b0Smrg 1187*14f5a3b0Smrg * testsuite/25_algorithms/clamp/1.cc: Fix order of arguments and 1188*14f5a3b0Smrg expected results when using predicate defining reverse order. 1189*14f5a3b0Smrg * testsuite/25_algorithms/clamp/constexpr.cc: Likewise. 1190*14f5a3b0Smrg 1191*14f5a3b0Smrg2017-09-20 Jonathan Wakely <jwakely@redhat.com> 1192*14f5a3b0Smrg 1193*14f5a3b0Smrg PR libstdc++/79162 1194*14f5a3b0Smrg * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] 1195*14f5a3b0Smrg (basic_string::_If_sv): Remove from the overload set when the 1196*14f5a3b0Smrg argument is derived from basic_string. 1197*14f5a3b0Smrg 1198*14f5a3b0Smrg PR libstdc++/79162 1199*14f5a3b0Smrg * include/bits/basic_string.h (basic_string::_If_sv): Remove from the 1200*14f5a3b0Smrg overload set when the argument is derived from basic_string. 1201*14f5a3b0Smrg * testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc: New 1202*14f5a3b0Smrg test. 1203*14f5a3b0Smrg * testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc: 1204*14f5a3b0Smrg New test. 1205*14f5a3b0Smrg 1206*14f5a3b0Smrg * testsuite/24_iterators/range_access_cpp17.cc: Fix order of dg-do 1207*14f5a3b0Smrg and dg-options directives. Fix invalid test. 1208*14f5a3b0Smrg 1209*14f5a3b0Smrg PR libstdc++/81469 1210*14f5a3b0Smrg * libsupc++/exception (uncaught_exception): Deprecate for C++17. 1211*14f5a3b0Smrg * testsuite/18_support/exception_ptr/62258.cc: Add -Wno-deprecated. 1212*14f5a3b0Smrg * testsuite/18_support/uncaught_exception/14026.cc: Likewise. 1213*14f5a3b0Smrg 1214*14f5a3b0Smrg * include/bits/c++config (_GLIBCXX17_DEPRECATED): Define. 1215*14f5a3b0Smrg * include/bits/functional_hash.h (__hash_base::result_type) 1216*14f5a3b0Smrg (__hash_base::argument_type): Add _GLIBCXX17_DEPRECATED. 1217*14f5a3b0Smrg * include/std/optional (hash<optional<T>>::result_type) 1218*14f5a3b0Smrg (hash<optional<T>>::argument_type): Add deprecated attribute. 1219*14f5a3b0Smrg (__is_fast_hash<hash<optional<T>>>): Add partial specialization. 1220*14f5a3b0Smrg * include/std/variant (hash<variant<Types...>>::result_type) 1221*14f5a3b0Smrg (hash<variant<Types...>>::argument_type): Add deprecated attribute. 1222*14f5a3b0Smrg (__is_fast_hash<hash<variant<Types...>>>): Add partial specialization. 1223*14f5a3b0Smrg 1224*14f5a3b0Smrg * libsupc++/exception_ptr.h (copy_exception): Remove deprecated 1225*14f5a3b0Smrg non-standard function. 1226*14f5a3b0Smrg 1227*14f5a3b0Smrg PR libstdc++/82262 1228*14f5a3b0Smrg * include/std/optional (__optional_hash_call_base): Add template 1229*14f5a3b0Smrg parameter for remove_const_t<_Tp> and use it consistently. 1230*14f5a3b0Smrg * testsuite/20_util/optional/hash.cc: Test optional<const T>. 1231*14f5a3b0Smrg 1232*14f5a3b0Smrg2017-09-19 Jonathan Wakely <jwakely@redhat.com> 1233*14f5a3b0Smrg 1234*14f5a3b0Smrg PR libstdc++/71500 1235*14f5a3b0Smrg * include/bits/regex_executor.tcc 1236*14f5a3b0Smrg (_Backref_matcher<BidIt, regex_traits<C>>::_M_apply): Use 1237*14f5a3b0Smrg std::__equal4 instead of C++14 4-iterator overloads of std::equal. 1238*14f5a3b0Smrg * include/bits/stl_algobase.h (__equal4): New functions implementing 1239*14f5a3b0Smrg 4-iterator overloads of std::equal for use in C++11. 1240*14f5a3b0Smrg (equal(It1, It1, It2, It2), equal(It1, It1, It2, It2, BinaryPred)): 1241*14f5a3b0Smrg Move function bodies to new __equal4 functions. 1242*14f5a3b0Smrg * testsuite/28_regex/simple_c++11.cc: New. 1243*14f5a3b0Smrg 1244*14f5a3b0Smrg PR libstdc++/82254 1245*14f5a3b0Smrg * include/std/type_traits (__is_invocable): Add partial specialization 1246*14f5a3b0Smrg for INVOKE<void> case and remove is_void<R> check from partial 1247*14f5a3b0Smrg specialization for INVOKE<R> case. 1248*14f5a3b0Smrg (__is_nt_invocable_impl): New helper for is_nothrow_invocable_r. 1249*14f5a3b0Smrg (is_nothrow_invocable_r): Use __is_nt_invocable_impl. 1250*14f5a3b0Smrg * testsuite/20_util/is_nothrow_invocable/value.cc: Add tests for 1251*14f5a3b0Smrg conversions that can throw or fail to convert. Use static assert 1252*14f5a3b0Smrg strings to explain negative results. 1253*14f5a3b0Smrg * testsuite/20_util/is_nothrow_invocable/value_ext.cc: Use 1254*14f5a3b0Smrg is_nothrow_constructible in is_nt_invocable_conv. 1255*14f5a3b0Smrg 1256*14f5a3b0Smrg2017-09-18 Jonathan Wakely <jwakely@redhat.com> 1257*14f5a3b0Smrg 1258*14f5a3b0Smrg PR libstdc++/81468 1259*14f5a3b0Smrg * testsuite/20_util/duration/cons/dr1177.cc: Fix incorrect test and 1260*14f5a3b0Smrg improve static assertion messages. 1261*14f5a3b0Smrg 1262*14f5a3b0Smrg * include/std/utility (_Itup_cat, _Make_integer_sequence): Remove. 1263*14f5a3b0Smrg (_Build_index_tuple, make_integer_sequence): Use built-in to generate 1264*14f5a3b0Smrg pack expansion. 1265*14f5a3b0Smrg 1266*14f5a3b0Smrg PR libstdc++/71187 1267*14f5a3b0Smrg * include/std/type_traits (__declval): New function to deduce return 1268*14f5a3b0Smrg type of declval. 1269*14f5a3b0Smrg (__declval_protector::_delegate): Remove. 1270*14f5a3b0Smrg (declval): Use __declval instead of add_rvalue_reference and 1271*14f5a3b0Smrg __declval_protector::__delegate. 1272*14f5a3b0Smrg * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error 1273*14f5a3b0Smrg lineno. 1274*14f5a3b0Smrg * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: 1275*14f5a3b0Smrg Likewise. 1276*14f5a3b0Smrg * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 1277*14f5a3b0Smrg Likewise. 1278*14f5a3b0Smrg 1279*14f5a3b0Smrg2017-09-15 Jakub Jelinek <jakub@redhat.com> 1280*14f5a3b0Smrg 1281*14f5a3b0Smrg * testsuite/libstdc++-prettyprinters/cxx17.cc: Use -std=c++17 or 1282*14f5a3b0Smrg -std=gnu++17 instead of -std=c++1z or -std=gnu++1z. Use c++17 instead 1283*14f5a3b0Smrg of c++1z and c++17_only instead of c++1z_only. Adjust expected 1284*14f5a3b0Smrg diagnostics and comments refering to 1z to 17. 1285*14f5a3b0Smrg * testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise. 1286*14f5a3b0Smrg * testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise. 1287*14f5a3b0Smrg * testsuite/30_threads/scoped_lock/cons/1.cc: Likewise. 1288*14f5a3b0Smrg * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Likewise. 1289*14f5a3b0Smrg * testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc: 1290*14f5a3b0Smrg Likewise. 1291*14f5a3b0Smrg * testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise. 1292*14f5a3b0Smrg * testsuite/18_support/launder/1.cc (test02): Likewise. 1293*14f5a3b0Smrg * testsuite/18_support/launder/requirements_neg.cc: Likewise. 1294*14f5a3b0Smrg * testsuite/18_support/launder/requirements.cc: Likewise. 1295*14f5a3b0Smrg * testsuite/18_support/byte/requirements.cc: Likewise. 1296*14f5a3b0Smrg * testsuite/18_support/byte/ops.cc: Likewise. 1297*14f5a3b0Smrg * testsuite/18_support/byte/global_neg.cc: Likewise. 1298*14f5a3b0Smrg * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: 1299*14f5a3b0Smrg Likewise. 1300*14f5a3b0Smrg * testsuite/27_io/types/4.cc: Likewise. 1301*14f5a3b0Smrg * testsuite/25_algorithms/sample/81221.cc: Likewise. 1302*14f5a3b0Smrg * testsuite/25_algorithms/sample/1.cc: Likewise. 1303*14f5a3b0Smrg * testsuite/25_algorithms/sample/2.cc: Likewise. 1304*14f5a3b0Smrg * testsuite/25_algorithms/search/searcher.cc: Likewise. 1305*14f5a3b0Smrg * testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise. 1306*14f5a3b0Smrg * testsuite/experimental/filesystem/path/construct/string_view.cc: 1307*14f5a3b0Smrg Likewise. 1308*14f5a3b0Smrg * testsuite/24_iterators/range_access_cpp17.cc: Likewise. 1309*14f5a3b0Smrg * testsuite/24_iterators/container_access.cc: Likewise. 1310*14f5a3b0Smrg * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Likewise. 1311*14f5a3b0Smrg * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise. 1312*14f5a3b0Smrg * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise. 1313*14f5a3b0Smrg * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise. 1314*14f5a3b0Smrg * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise. 1315*14f5a3b0Smrg * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise. 1316*14f5a3b0Smrg * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise. 1317*14f5a3b0Smrg * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise. 1318*14f5a3b0Smrg * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise. 1319*14f5a3b0Smrg * testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise. 1320*14f5a3b0Smrg * testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise. 1321*14f5a3b0Smrg * testsuite/20_util/shared_ptr/cons/array.cc: Likewise. 1322*14f5a3b0Smrg * testsuite/20_util/shared_ptr/observers/array.cc (struct A): Likewise. 1323*14f5a3b0Smrg * testsuite/20_util/pair/cons/deduction.cc: Likewise. 1324*14f5a3b0Smrg * testsuite/20_util/variant/deduction.cc: Likewise. 1325*14f5a3b0Smrg * testsuite/20_util/tuple/78939.cc: Likewise. 1326*14f5a3b0Smrg * testsuite/20_util/tuple/cons/deduction.cc: Likewise. 1327*14f5a3b0Smrg * testsuite/20_util/void_t/1.cc: Likewise. 1328*14f5a3b0Smrg * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: Likewise. 1329*14f5a3b0Smrg * testsuite/20_util/unique_ptr/cons/deduction_neg.cc: Likewise. 1330*14f5a3b0Smrg * testsuite/20_util/addressof/requirements/constexpr.cc: Likewise. 1331*14f5a3b0Smrg * testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise. 1332*14f5a3b0Smrg * testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc: 1333*14f5a3b0Smrg Likewise. 1334*14f5a3b0Smrg * testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc: 1335*14f5a3b0Smrg Likewise. 1336*14f5a3b0Smrg * testsuite/20_util/has_unique_object_representations/value.cc: 1337*14f5a3b0Smrg Likewise. 1338*14f5a3b0Smrg * testsuite/20_util/time_point/arithmetic/constexpr.cc: Likewise. 1339*14f5a3b0Smrg * testsuite/20_util/function_objects/invoke/59768.cc: Likewise. 1340*14f5a3b0Smrg * testsuite/20_util/function_objects/mem_fn/80478.cc: Likewise. 1341*14f5a3b0Smrg * testsuite/20_util/function/cons/deduction.cc: Likewise. 1342*14f5a3b0Smrg * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc: 1343*14f5a3b0Smrg Likewise. 1344*14f5a3b0Smrg * testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise. 1345*14f5a3b0Smrg * testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc: 1346*14f5a3b0Smrg Likewise. 1347*14f5a3b0Smrg * testsuite/20_util/is_aggregate/value.cc: Likewise. 1348*14f5a3b0Smrg * testsuite/26_numerics/lcm/1.cc: Likewise. 1349*14f5a3b0Smrg * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. 1350*14f5a3b0Smrg * testsuite/26_numerics/gcd/1.cc: Likewise. 1351*14f5a3b0Smrg * testsuite/26_numerics/gcd/gcd_neg.cc: Likewise. 1352*14f5a3b0Smrg * testsuite/26_numerics/valarray/deduction.cc: Likewise. 1353*14f5a3b0Smrg * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Likewise. 1354*14f5a3b0Smrg * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise. 1355*14f5a3b0Smrg * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: 1356*14f5a3b0Smrg Likewise. 1357*14f5a3b0Smrg * testsuite/23_containers/array/cons/deduction.cc: Likewise. 1358*14f5a3b0Smrg * testsuite/23_containers/array/cons/deduction_neg.cc: Likewise. 1359*14f5a3b0Smrg * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc: 1360*14f5a3b0Smrg Likewise. 1361*14f5a3b0Smrg * testsuite/23_containers/deque/cons/deduction.cc: Likewise. 1362*14f5a3b0Smrg * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: 1363*14f5a3b0Smrg Likewise. 1364*14f5a3b0Smrg * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: 1365*14f5a3b0Smrg Likewise. 1366*14f5a3b0Smrg * testsuite/23_containers/list/cons/deduction.cc: Likewise. 1367*14f5a3b0Smrg * testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc: 1368*14f5a3b0Smrg Likewise. 1369*14f5a3b0Smrg * testsuite/23_containers/forward_list/cons/deduction.cc: Likewise. 1370*14f5a3b0Smrg * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Likewise. 1371*14f5a3b0Smrg * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc: 1372*14f5a3b0Smrg Likewise. 1373*14f5a3b0Smrg * testsuite/23_containers/vector/cons/deduction.cc: Likewise. 1374*14f5a3b0Smrg * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: 1375*14f5a3b0Smrg Likewise. 1376*14f5a3b0Smrg * testsuite/21_strings/basic_string/cons/char/9.cc: Likewise. 1377*14f5a3b0Smrg * testsuite/21_strings/basic_string/cons/char/deduction.cc: Likewise. 1378*14f5a3b0Smrg * testsuite/21_strings/basic_string/cons/char/79162.cc: Likewise. 1379*14f5a3b0Smrg * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: Likewise. 1380*14f5a3b0Smrg * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: 1381*14f5a3b0Smrg Likewise. 1382*14f5a3b0Smrg * testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: Likewise. 1383*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc: 1384*14f5a3b0Smrg Likewise. 1385*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc: 1386*14f5a3b0Smrg Likewise. 1387*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/operations/compare/char/2.cc: 1388*14f5a3b0Smrg Likewise. 1389*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc: 1390*14f5a3b0Smrg Likewise. 1391*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc: 1392*14f5a3b0Smrg Likewise. 1393*14f5a3b0Smrg * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: 1394*14f5a3b0Smrg Likewise. 1395*14f5a3b0Smrg 1396*14f5a3b0Smrg2017-09-13 Jonathan Wakely <jwakely@redhat.com> 1397*14f5a3b0Smrg 1398*14f5a3b0Smrg PR libstdc++/81468 1399*14f5a3b0Smrg * include/std/chrono (__enable_if_is_duration) 1400*14f5a3b0Smrg (__disable_if_is_duration): New alias templates to simplify SFINAE. 1401*14f5a3b0Smrg (duration_cast, floor, ceil): Use __enable_if_is_duration. 1402*14f5a3b0Smrg (duration::__is_float, duration::__is_harmonic): New alias templates 1403*14f5a3b0Smrg to simplify SFINAE. 1404*14f5a3b0Smrg (duration::duration(const _Rep2&)): Use _Require, __is_float and 1405*14f5a3b0Smrg __is_harmonic. 1406*14f5a3b0Smrg (duration::duration(const duration<_Rep2, _Period2>&)): Likewise. 1407*14f5a3b0Smrg (__common_rep_type): Remove, replace with ... 1408*14f5a3b0Smrg (__common_rep_t): New alias template. 1409*14f5a3b0Smrg (operator*, operator/, operator%): Use __common_rep_t and 1410*14f5a3b0Smrg __disable_if_is_duration. 1411*14f5a3b0Smrg (time_point::time_point(const time_point<clock, _Dur2>&)): Add missing 1412*14f5a3b0Smrg constraint from LWG DR 1177. 1413*14f5a3b0Smrg * testsuite/20_util/duration/cons/dr1177.cc: New. 1414*14f5a3b0Smrg * testsuite/20_util/duration/literals/range.cc: Update dg-error line. 1415*14f5a3b0Smrg * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise. 1416*14f5a3b0Smrg * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. 1417*14f5a3b0Smrg * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. 1418*14f5a3b0Smrg * testsuite/20_util/time_point/cons/81468.cc: New. 1419*14f5a3b0Smrg 1420*14f5a3b0Smrg * doc/doxygen/mainpage.html: Fix broken URLs. 1421*14f5a3b0Smrg 1422*14f5a3b0Smrg PR libstdc++/81835 1423*14f5a3b0Smrg * doc/xml/manual/extensions.xml: Replace unstable URL. 1424*14f5a3b0Smrg * doc/html/manual/ext_demangling.html: Regenerate. 1425*14f5a3b0Smrg * libsupc++/cxxabi.h (__cxa_demangle): Fix broken URL. 1426*14f5a3b0Smrg 1427*14f5a3b0Smrg * include/bits/allocated_ptr.h (__allocated_ptr::get): Use 1428*14f5a3b0Smrg __to_address. 1429*14f5a3b0Smrg (__allocated_ptr::_S_raw_ptr): Remove. 1430*14f5a3b0Smrg * include/bits/forward_list.h (_Fwd_list_base::_M_get_node): Use 1431*14f5a3b0Smrg __to_address. 1432*14f5a3b0Smrg * include/bits/hashtable_policy.h (_Hashtable_alloc): Likewise. 1433*14f5a3b0Smrg * include/bits/ptr_traits.h (__to_address): Define new function 1434*14f5a3b0Smrg template. 1435*14f5a3b0Smrg * include/bits/shared_ptr_base.h (__shared_ptr): Use __to_address. 1436*14f5a3b0Smrg (__shared_ptr::_S_raw_ptr): Remove. 1437*14f5a3b0Smrg * include/bits/stl_vector.h [__cplusplus >= 201103L] 1438*14f5a3b0Smrg (vector::_M_data_ptr): Use __to_address. 1439*14f5a3b0Smrg [__cplusplus < 201103L] (vector::_M_data_ptr): Don't dereference 1440*14f5a3b0Smrg possibly invalid pointers. 1441*14f5a3b0Smrg * include/ext/alloc_traits.h (__alloc_traits::construct) 1442*14f5a3b0Smrg (__alloc_traits::destroy): Use __to_address. 1443*14f5a3b0Smrg 1444*14f5a3b0Smrg2017-09-12 Jonathan Wakely <jwakely@redhat.com> 1445*14f5a3b0Smrg 1446*14f5a3b0Smrg PR libstdc++/79433 1447*14f5a3b0Smrg * include/Makefile.am: Remove <bits/c++14_warning.h>. 1448*14f5a3b0Smrg * include/Makefile.in: Regenerate. 1449*14f5a3b0Smrg * include/bits/c++14_warning.h: Remove. 1450*14f5a3b0Smrg * include/experimental/algorithm: Do not include <c++14_warning.h>. 1451*14f5a3b0Smrg * include/experimental/any: Likewise. 1452*14f5a3b0Smrg * include/experimental/array: Likewise. 1453*14f5a3b0Smrg * include/experimental/bits/erase_if.h: Likewise. 1454*14f5a3b0Smrg * include/experimental/bits/lfts_config.h: Likewise. 1455*14f5a3b0Smrg * include/experimental/bits/shared_ptr.h: Likewise. 1456*14f5a3b0Smrg * include/experimental/bits/string_view.tcc: Likewise. 1457*14f5a3b0Smrg * include/experimental/chrono: Likewise. 1458*14f5a3b0Smrg * include/experimental/deque: Likewise. 1459*14f5a3b0Smrg * include/experimental/filesystem: Do not include <c++0x_warning.h>. 1460*14f5a3b0Smrg * include/experimental/forward_list: Do not include <c++14_warning.h>. 1461*14f5a3b0Smrg * include/experimental/functional: Likewise. 1462*14f5a3b0Smrg * include/experimental/iterator: Likewise. 1463*14f5a3b0Smrg * include/experimental/list: Likewise. 1464*14f5a3b0Smrg * include/experimental/map: Likewise. 1465*14f5a3b0Smrg * include/experimental/memory: Likewise. 1466*14f5a3b0Smrg * include/experimental/numeric: Likewise. 1467*14f5a3b0Smrg * include/experimental/optional: Likewise. 1468*14f5a3b0Smrg * include/experimental/propagate_const: Likewise. 1469*14f5a3b0Smrg * include/experimental/ratio: Likewise. 1470*14f5a3b0Smrg * include/experimental/regex: Likewise. 1471*14f5a3b0Smrg * include/experimental/set: Likewise. 1472*14f5a3b0Smrg * include/experimental/string: Likewise. 1473*14f5a3b0Smrg * include/experimental/string_view: Likewise. 1474*14f5a3b0Smrg * include/experimental/system_error: Likewise. 1475*14f5a3b0Smrg * include/experimental/tuple: Likewise. 1476*14f5a3b0Smrg * include/experimental/type_traits: Likewise. 1477*14f5a3b0Smrg * include/experimental/unordered_map: Likewise. 1478*14f5a3b0Smrg * include/experimental/unordered_set: Likewise. 1479*14f5a3b0Smrg * include/experimental/vector: Likewise. 1480*14f5a3b0Smrg * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error 1481*14f5a3b0Smrg line number. 1482*14f5a3b0Smrg * testsuite/experimental/array/neg.cc: Likewise. 1483*14f5a3b0Smrg * testsuite/experimental/propagate_const/assignment/move_neg.cc: 1484*14f5a3b0Smrg Likewise. 1485*14f5a3b0Smrg * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise. 1486*14f5a3b0Smrg * testsuite/experimental/propagate_const/requirements2.cc: Likewise. 1487*14f5a3b0Smrg * testsuite/experimental/propagate_const/requirements3.cc: Likewise. 1488*14f5a3b0Smrg * testsuite/experimental/propagate_const/requirements4.cc: Likewise. 1489*14f5a3b0Smrg * testsuite/experimental/propagate_const/requirements5.cc: Likewise. 1490*14f5a3b0Smrg 1491*14f5a3b0Smrg PR libstdc++/79433 1492*14f5a3b0Smrg * doc/xml/manual/status_cxx2017.xml: Update feature-test macros. 1493*14f5a3b0Smrg * doc/html/*: Regenerate. 1494*14f5a3b0Smrg * include/Makefile.am: Remove <bits/c++17_warning.h>. 1495*14f5a3b0Smrg * include/Makefile.in: Regenerate. 1496*14f5a3b0Smrg * include/bits/c++17_warning.h: Remove. 1497*14f5a3b0Smrg * include/bits/string_view.tcc: Do not include <bits/c++17_warning.h> 1498*14f5a3b0Smrg for pre-C++17 modes. 1499*14f5a3b0Smrg * include/std/any: Likewise. 1500*14f5a3b0Smrg (__cpp_lib_any): Define. 1501*14f5a3b0Smrg * include/std/mutex (__cpp_lib_scoped_lock): Adjust value as per new 1502*14f5a3b0Smrg SD-6 draft. 1503*14f5a3b0Smrg * include/std/numeric (__cpp_lib_gcd_lcm): Define as per new SD-6 1504*14f5a3b0Smrg draft. 1505*14f5a3b0Smrg * include/std/optional: Do not include <bits/c++17_warning.h>. 1506*14f5a3b0Smrg (__cpp_lib_optional): Define. 1507*14f5a3b0Smrg * include/std/shared_mutex: Do not include <bits/c++14_warning.h>. 1508*14f5a3b0Smrg * include/std/string_view: Do not include <bits/c++17_warning.h>. 1509*14f5a3b0Smrg (__cpp_lib_string_view): Define. 1510*14f5a3b0Smrg * include/std/variant: Do not include <bits/c++17_warning.h>. 1511*14f5a3b0Smrg (__cpp_lib_variant): Define. 1512*14f5a3b0Smrg * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error line 1513*14f5a3b0Smrg numbers. 1514*14f5a3b0Smrg * testsuite/26_numerics/gcd/1.cc: Test for __cpp_lib_gcd_lcm. 1515*14f5a3b0Smrg * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error line 1516*14f5a3b0Smrg numbers. 1517*14f5a3b0Smrg * testsuite/26_numerics/lcm/1.cc: Test for __cpp_lib_gcd_lcm. 1518*14f5a3b0Smrg * testsuite/26_numerics/lcm/lcm_neg.cc: Adjust dg-error line 1519*14f5a3b0Smrg numbers. 1520*14f5a3b0Smrg * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Adjust 1521*14f5a3b0Smrg expected value of __cpp_lib_scoped_lock. 1522*14f5a3b0Smrg 1523*14f5a3b0Smrg PR libstdc++/70483 1524*14f5a3b0Smrg * include/experimental/bits/string_view.tcc (basic_string_view::find) 1525*14f5a3b0Smrg (basic_string_view::rfind, basic_string_view::find_first_of) 1526*14f5a3b0Smrg (basic_string_view::find_last_of, basic_string_view::find_first_not_of) 1527*14f5a3b0Smrg (basic_string_view::find_last_not_of): Add constexpr specifier. 1528*14f5a3b0Smrg * include/experimental/string_view (basic_string_view::remove_prefix) 1529*14f5a3b0Smrg (basic_string_view::remove_suffix, basic_string_view::swap) 1530*14f5a3b0Smrg (basic_string_view::compare, basic_string_view::find) 1531*14f5a3b0Smrg (basic_string_view::rfind, basic_string_view::find_first_of) 1532*14f5a3b0Smrg (basic_string_view::find_last_of, basic_string_view::find_first_not_of) 1533*14f5a3b0Smrg (basic_string_view::find_last_not_of, operator==, operator!=) 1534*14f5a3b0Smrg (operator<, operator>, operator<=, operator>=): Likewise. 1535*14f5a3b0Smrg * testsuite/experimental/string_view/operations/compare/char/70483.cc: 1536*14f5a3b0Smrg New. 1537*14f5a3b0Smrg 1538*14f5a3b0Smrg2017-09-11 Jonathan Wakely <jwakely@redhat.com> 1539*14f5a3b0Smrg 1540*14f5a3b0Smrg PR libstdc++/70483 1541*14f5a3b0Smrg * include/bits/string_view.tcc (basic_string_view::find) 1542*14f5a3b0Smrg (basic_string_view::rfind, basic_string_view::find_first_of) 1543*14f5a3b0Smrg (basic_string_view::find_last_of, basic_string_view::find_first_not_of) 1544*14f5a3b0Smrg (basic_string_view::find_last_not_of): Add constexpr specifier. 1545*14f5a3b0Smrg * include/std/string_view (basic_string_view::operator=) 1546*14f5a3b0Smrg (basic_string_view::rbegin, basic_string_view::rend) 1547*14f5a3b0Smrg (basic_string_view::crbegin, basic_string_view::crend) 1548*14f5a3b0Smrg (basic_string_view::remove_prefix, basic_string_view::remove_suffix) 1549*14f5a3b0Smrg (basic_string_view::swap, basic_string_view::compare) 1550*14f5a3b0Smrg (basic_string_view::find, basic_string_view::rfind) 1551*14f5a3b0Smrg (basic_string_view::find_first_of, basic_string_view::find_last_of) 1552*14f5a3b0Smrg (basic_string_view::find_first_not_of) 1553*14f5a3b0Smrg (basic_string_view::find_last_not_of, basic_string_view::_M_check) 1554*14f5a3b0Smrg (basic_string_view::_M_limit, operator==, operator!=, operator<) 1555*14f5a3b0Smrg (operator>, operator<=, operator>=): Likewise. 1556*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/ 1557*14f5a3b0Smrg char/1.cc: Repeat tests in constexpr context. 1558*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/ 1559*14f5a3b0Smrg wchar_t/1.cc: Likewise. 1560*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/ 1561*14f5a3b0Smrg char/1.cc: Likewise. 1562*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/ 1563*14f5a3b0Smrg wchar_t/1.cc: Likewise. 1564*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/operations/find/char/1.cc: 1565*14f5a3b0Smrg Likewise. 1566*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/operations/find/char/2.cc: 1567*14f5a3b0Smrg Likewise. 1568*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/operations/find/char/3.cc: 1569*14f5a3b0Smrg Likewise. 1570*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc: 1571*14f5a3b0Smrg Likewise. 1572*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc: 1573*14f5a3b0Smrg Likewise. 1574*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc: 1575*14f5a3b0Smrg Likewise. 1576*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/operators/char/2.cc: 1577*14f5a3b0Smrg Likewise. 1578*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc: 1579*14f5a3b0Smrg Likewise. 1580*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/range_access/char/1.cc: Test 1581*14f5a3b0Smrg cbegin, cend, rbegin, rend, crbegin and crend. 1582*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc: 1583*14f5a3b0Smrg Likewise. 1584*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc: 1585*14f5a3b0Smrg Remove trailing whitespace. 1586*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/ 1587*14f5a3b0Smrg 1.cc: Likewise. 1588*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc: 1589*14f5a3b0Smrg New. 1590*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc: 1591*14f5a3b0Smrg New. 1592*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/operations/compare/char/2.cc: 1593*14f5a3b0Smrg New. 1594*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/ 1595*14f5a3b0Smrg 2.cc: New. 1596*14f5a3b0Smrg 1597*14f5a3b0Smrg2017-09-11 Tim Shen <timshen@google.com> 1598*14f5a3b0Smrg 1599*14f5a3b0Smrg PR libstdc++/71500 1600*14f5a3b0Smrg * include/bits/regex_executor.tcc: Support icase in regex_traits<...> 1601*14f5a3b0Smrg for back reference matches. 1602*14f5a3b0Smrg * testsuite/28_regex/regression.cc: Test case. 1603*14f5a3b0Smrg 1604*14f5a3b0Smrg2017-09-11 Jonathan Wakely <jwakely@redhat.com> 1605*14f5a3b0Smrg 1606*14f5a3b0Smrg * testsuite/21_strings/basic_string/lwg2946.cc: Adjust for 1607*14f5a3b0Smrg compatibility with old COW std::string. 1608*14f5a3b0Smrg 1609*14f5a3b0Smrg2017-09-09 Gerald Pfeifer <gerald@pfeifer.com> 1610*14f5a3b0Smrg 1611*14f5a3b0Smrg * doc/xml/manual/allocator.xml: Adjust link for Hoard. 1612*14f5a3b0Smrg * doc/html/manual/memory.html: Regenerate. 1613*14f5a3b0Smrg 1614*14f5a3b0Smrg2017-09-04 Daniel Kruegler <daniel.kruegler@gmail.com> 1615*14f5a3b0Smrg 1616*14f5a3b0Smrg PR libstdc++/79162 1617*14f5a3b0Smrg Implement LWG 2946, LWG 2758's resolution missed further corrections 1618*14f5a3b0Smrg * include/bits/basic_string.h (basic_string::compare): Add missing 1619*14f5a3b0Smrg required noexcept specifications. 1620*14f5a3b0Smrg (basic_string): Introduce internal _S_to_string_view and __sv_wrapper 1621*14f5a3b0Smrg for implicit string_view conversion. 1622*14f5a3b0Smrg (basic_string::basic_string): Fix explicit string_view conversion by 1623*14f5a3b0Smrg implicit conversion using _S_to_string_view and __sv_wrapper. 1624*14f5a3b0Smrg (basic_string): Introduce internal basic_string(__sv_wrapper, Alloc) 1625*14f5a3b0Smrg constructor. 1626*14f5a3b0Smrg (basic_string): Fix operator=(T) template by operator=(const T&) 1627*14f5a3b0Smrg template for uncopyable types (PR 79162). 1628*14f5a3b0Smrg (basic_string::operator+=, basic_string::append, basic_string::assign) 1629*14f5a3b0Smrg (basic_string::insert, basic_string::replace, basic_string::find) 1630*14f5a3b0Smrg (basic_string::rfind, basic_string::find_first_of) 1631*14f5a3b0Smrg (basic_string::find_last_of, basic_string::find_first_not_of) 1632*14f5a3b0Smrg (basic_string::find_last_not_of, basic_string::compare): Replace 1633*14f5a3b0Smrg __sv_type argument by template const T& (LWG 2946) and correct 1634*14f5a3b0Smrg documentation describing __sv_type argument. 1635*14f5a3b0Smrg (basic_string::find, basic_string::rfind, basic_string::find_first_of) 1636*14f5a3b0Smrg (basic_string::find_last_of, basic_string::find_first_not_of) 1637*14f5a3b0Smrg (basic_string::find_last_not_of, basic_string::compare): Replace 1638*14f5a3b0Smrg unconditional noexcept specification by conditional noexcept 1639*14f5a3b0Smrg specification to partially balance the removal of noexcept by LWG 2946. 1640*14f5a3b0Smrg * testsuite/21_strings/basic_string/79162.cc: New. 1641*14f5a3b0Smrg * testsuite/21_strings/basic_string/lwg2946.cc: New. 1642*14f5a3b0Smrg 1643*14f5a3b0Smrg2017-08-31 Jonathan Wakely <jwakely@redhat.com> 1644*14f5a3b0Smrg 1645*14f5a3b0Smrg PR c++/82039 1646*14f5a3b0Smrg * include/ext/new_allocator.h (__gnu_cxx::new_allocator::allocate): 1647*14f5a3b0Smrg Adjust null pointer constant to avoid warning. 1648*14f5a3b0Smrg 1649*14f5a3b0Smrg2017-08-24 François Dumont <fdumont@gcc.gnu.org> 1650*14f5a3b0Smrg 1651*14f5a3b0Smrg * include/bits/stl_list.h 1652*14f5a3b0Smrg [!_GLIBCXX_INLINE_VERSION](_List_base<>::_S_distance): Remove. 1653*14f5a3b0Smrg (_List_impl(_Node_alloc_type&&, _List_impl&&)): New. 1654*14f5a3b0Smrg (_List_base(_Node_alloc_type&&, _List_base&&)): New, use latter. 1655*14f5a3b0Smrg [!_GLIBCXX_INLINE_VERSION](_List_base(_Node_alloc_type&&,_List_base&&)): 1656*14f5a3b0Smrg Remove. 1657*14f5a3b0Smrg (_List_base(_Node_alloc_type&&)): New. 1658*14f5a3b0Smrg [!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_distance): Remove. 1659*14f5a3b0Smrg [!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_node_count): Remove. 1660*14f5a3b0Smrg (list<>::_M_node_count): New. 1661*14f5a3b0Smrg (list<>::size()): Adapt to call latter. 1662*14f5a3b0Smrg (list<>::_S_distance(const_iterator, const_iterator)): New. 1663*14f5a3b0Smrg (list<>::splice(iterator, list&, const_iterator, const_iterator)): 1664*14f5a3b0Smrg Adapt to call latter. 1665*14f5a3b0Smrg (list(list&&, const allocator_type&, true_type)): New. 1666*14f5a3b0Smrg (list(list&&, const allocator_type&, false_type)): New. 1667*14f5a3b0Smrg (list(list&&, const allocator_type&)): Adapt to call latters. 1668*14f5a3b0Smrg 1669*14f5a3b0Smrg2017-08-21 Jonathan Wakely <jwakely@redhat.com> 1670*14f5a3b0Smrg 1671*14f5a3b0Smrg PR libstdc++/81912 1672*14f5a3b0Smrg * include/bits/stl_iterator_base_types.h (__iterator_category): Add 1673*14f5a3b0Smrg constexpr for C++11 and later. 1674*14f5a3b0Smrg * testsuite/24_iterators/container_access.cc: Add target selector. 1675*14f5a3b0Smrg * testsuite/24_iterators/range_access.cc: Fix clause number in 1676*14f5a3b0Smrg comment. 1677*14f5a3b0Smrg * testsuite/24_iterators/range_access_cpp14.cc: Likewise. 1678*14f5a3b0Smrg * testsuite/24_iterators/range_access_cpp17.cc: New. 1679*14f5a3b0Smrg 1680*14f5a3b0Smrg2017-08-21 Richard Biener <rguenther@suse.de> 1681*14f5a3b0Smrg 1682*14f5a3b0Smrg * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Run all 1683*14f5a3b0Smrg tests with -flto as well if supported. 1684*14f5a3b0Smrg 1685*14f5a3b0Smrg2017-08-20 Martin Sebor <msebor@redhat.com> 1686*14f5a3b0Smrg 1687*14f5a3b0Smrg PR c/81854 1688*14f5a3b0Smrg * src/c++98/compatibility.cc (_GLIBCXX_3_4_SYMVER): Declare alias 1689*14f5a3b0Smrg target as a C++ function with no prototype. 1690*14f5a3b0Smrg (_GLIBCXX_3_4_5_SYMVER): Ditto. 1691*14f5a3b0Smrg 1692*14f5a3b0Smrg2017-08-20 John David Anglin <danglin@gcc.gnu.org> 1693*14f5a3b0Smrg 1694*14f5a3b0Smrg PR testsuite/81056 1695*14f5a3b0Smrg * testsuite/17_intro/names.cc: Undef 'd' and 'r' on __hpux__. 1696*14f5a3b0Smrg 1697*14f5a3b0Smrg2017-08-18 Jonathan Wakely <jwakely@redhat.com> 1698*14f5a3b0Smrg 1699*14f5a3b0Smrg * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Remove 1700*14f5a3b0Smrg __value_alloc_type and __value_alloc_traits typedefs. 1701*14f5a3b0Smrg (_ReuseOrAllocNode::operator()): Call construct and destroy on the 1702*14f5a3b0Smrg node allocator. 1703*14f5a3b0Smrg (_Hashtable_alloc): Simplify __value_alloc_traits typedef. 1704*14f5a3b0Smrg (_Hashtable_alloc<_NodeAlloc>::_M_allocate_node(_Args&&...)): Call 1705*14f5a3b0Smrg construct on the node allocator. 1706*14f5a3b0Smrg (_Hashtable_alloc<_NodeAlloc>::_M_deallocate_node(__node_type*)): Call 1707*14f5a3b0Smrg destroy on the node allocator. 1708*14f5a3b0Smrg 1709*14f5a3b0Smrg PR libstdc++/81891 1710*14f5a3b0Smrg * include/bits/hashtable.h (_Hashtable(_InputIterator, _InputIterator, 1711*14f5a3b0Smrg size_type, const _H1&, const _H2&, const _Hash&, const _Equal&, 1712*14f5a3b0Smrg const _ExtractKey&, const allocator_type&)): Let destructor do clean 1713*14f5a3b0Smrg up if an exception is thrown. 1714*14f5a3b0Smrg * testsuite/23_containers/unordered_map/cons/81891.cc: New. 1715*14f5a3b0Smrg 1716*14f5a3b0Smrg2017-08-11 Jonathan Wakely <jwakely@redhat.com> 1717*14f5a3b0Smrg 1718*14f5a3b0Smrg PR libstdc++/81808 1719*14f5a3b0Smrg * testsuite/27_io/basic_fstream/53984.cc: Adjust test for targets 1720*14f5a3b0Smrg that allow opening a directory as a FILE and reading from it. 1721*14f5a3b0Smrg 1722*14f5a3b0Smrg2017-08-09 Jonathan Wakely <jwakely@redhat.com> 1723*14f5a3b0Smrg 1724*14f5a3b0Smrg * include/std/type_traits (_GLIBCXX_NO_BUILTIN_HAS_UNIQ_OBJ_REP): 1725*14f5a3b0Smrg Replace with _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP and use 1726*14f5a3b0Smrg __is_identifier to set it. 1727*14f5a3b0Smrg 1728*14f5a3b0Smrg2017-08-09 Katsuhiko Nishimra <ktns.87@gmail.com> 1729*14f5a3b0Smrg 1730*14f5a3b0Smrg * include/std/type_traits (_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE): Use 1731*14f5a3b0Smrg __is_identifier instead of __has_builtin. 1732*14f5a3b0Smrg 1733*14f5a3b0Smrg2017-08-09 Jonathan Wakely <jwakely@redhat.com> 1734*14f5a3b0Smrg 1735*14f5a3b0Smrg PR libstdc++/79820 1736*14f5a3b0Smrg PR libstdc++/81751 1737*14f5a3b0Smrg * config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)): 1738*14f5a3b0Smrg Call fflush on the stream instead of calling sync() while _M_cfile is 1739*14f5a3b0Smrg null. Restore original value of errno. 1740*14f5a3b0Smrg * testsuite/ext/stdio_filebuf/char/79820.cc: New. 1741*14f5a3b0Smrg * testsuite/ext/stdio_filebuf/char/81751.cc: New. 1742*14f5a3b0Smrg 1743*14f5a3b0Smrg2017-07-31 Marek Polacek <polacek@redhat.com> 1744*14f5a3b0Smrg 1745*14f5a3b0Smrg PR libstdc++/81599 1746*14f5a3b0Smrg * include/bits/stl_stack.h: Fix typo. 1747*14f5a3b0Smrg 1748*14f5a3b0Smrg2017-07-26 Jonathan Wakely <jwakely@redhat.com> 1749*14f5a3b0Smrg 1750*14f5a3b0Smrg * testsuite/27_io/basic_fstream/53984.cc: Fix test. 1751*14f5a3b0Smrg 1752*14f5a3b0Smrg2017-07-26 Paolo Carlini <paolo.carlini@oracle.com> 1753*14f5a3b0Smrg 1754*14f5a3b0Smrg * testsuite/27_io/basic_fstream/53984.cc: Fix typo in dg-require 1755*14f5a3b0Smrg directive. 1756*14f5a3b0Smrg 1757*14f5a3b0Smrg2017-07-25 Jonathan Wakely <jwakely@redhat.com> 1758*14f5a3b0Smrg 1759*14f5a3b0Smrg PR libstdc++/53984 1760*14f5a3b0Smrg * include/bits/basic_ios.h (basic_ios::_M_setstate): Adjust comment. 1761*14f5a3b0Smrg * include/bits/istream.tcc (basic_istream::sentry): Handle exceptions 1762*14f5a3b0Smrg during construction. 1763*14f5a3b0Smrg * include/std/istream: Adjust comments for formatted input functions 1764*14f5a3b0Smrg and unformatted input functions. 1765*14f5a3b0Smrg * testsuite/27_io/basic_fstream/53984.cc: New. 1766*14f5a3b0Smrg * testsuite/27_io/basic_istream/sentry/char/53984.cc: New. 1767*14f5a3b0Smrg 1768*14f5a3b0Smrg * include/bits/ios_base.h (ios_base::io_state, ios_base::open_mode) 1769*14f5a3b0Smrg (ios_base::seek_dir): Remove for C++17. 1770*14f5a3b0Smrg * include/std/streambuf (basic_streambuf::stossc): Remove for C++17. 1771*14f5a3b0Smrg Add deprecated attribute for C++11 and C++14. 1772*14f5a3b0Smrg * testsuite/27_io/types/1.cc: Don't run for C++17 and later. 1773*14f5a3b0Smrg * testsuite/27_io/types/4.cc: New. 1774*14f5a3b0Smrg 1775*14f5a3b0Smrg2017-07-23 Michael Collison <michael.collison@arm.com> 1776*14f5a3b0Smrg 1777*14f5a3b0Smrg Add optimized implementation of mersenne twister for aarch64 1778*14f5a3b0Smrg * config/cpu/aarch64/opt/ext/opt_random.h: New file. 1779*14f5a3b0Smrg (__arch64_recursion): New function. 1780*14f5a3b0Smrg (__aarch64_lsr_128): New function. 1781*14f5a3b0Smrg (__aarch64_lsl_128): New function. 1782*14f5a3b0Smrg (operator==): New function. 1783*14f5a3b0Smrg (simd_fast_mersenne_twister_engine): Implement 1784*14f5a3b0Smrg method _M_gen_rand. 1785*14f5a3b0Smrg * config/cpu/aarch64/opt/bits/opt_random.h: New file. 1786*14f5a3b0Smrg * include/ext/random: (simd_fast_mersenne_twister_engine): 1787*14f5a3b0Smrg add _M_state private array. 1788*14f5a3b0Smrg 1789*14f5a3b0Smrg2017-07-23 François Dumont <fdumont@gcc.gnu.org> 1790*14f5a3b0Smrg 1791*14f5a3b0Smrg PR libstdc++/81064 1792*14f5a3b0Smrg * include/bits/algorithmfwd.h: Reorganize versioned namespace. 1793*14f5a3b0Smrg * include/bits/basic_string.h: Likewise. 1794*14f5a3b0Smrg * include/bits/c++config: Likewise. 1795*14f5a3b0Smrg * include/bits/deque.tcc: Likewise. 1796*14f5a3b0Smrg * include/bits/forward_list.h: Likewise. 1797*14f5a3b0Smrg * include/bits/forward_list.tcc: Likewise. 1798*14f5a3b0Smrg * include/bits/hashtable_policy.h: Likewise. 1799*14f5a3b0Smrg * include/bits/list.tcc: Likewise. 1800*14f5a3b0Smrg * include/bits/move.h: Likewise. 1801*14f5a3b0Smrg * include/bits/quoted_string.h: Likewise. 1802*14f5a3b0Smrg * include/bits/random.h: Likewise. 1803*14f5a3b0Smrg * include/bits/random.tcc: Likewise. 1804*14f5a3b0Smrg * include/bits/regex.h: Likewise. 1805*14f5a3b0Smrg * include/bits/regex.tcc: Likewise. 1806*14f5a3b0Smrg * include/bits/regex_automaton.h: Likewise. 1807*14f5a3b0Smrg * include/bits/regex_automaton.tcc: Likewise. 1808*14f5a3b0Smrg * include/bits/regex_compiler.h: Likewise. 1809*14f5a3b0Smrg * include/bits/regex_compiler.tcc: Likewise. 1810*14f5a3b0Smrg * include/bits/regex_constants.h: Likewise. 1811*14f5a3b0Smrg * include/bits/regex_error.h: Likewise. 1812*14f5a3b0Smrg * include/bits/regex_executor.h: Likewise. 1813*14f5a3b0Smrg * include/bits/regex_executor.tcc: Likewise. 1814*14f5a3b0Smrg * include/bits/regex_scanner.h: Likewise. 1815*14f5a3b0Smrg * include/bits/regex_scanner.tcc: Likewise. 1816*14f5a3b0Smrg * include/bits/specfun.h: Likewise. 1817*14f5a3b0Smrg * include/bits/stl_algo.h: Likewise. 1818*14f5a3b0Smrg * include/bits/stl_algobase.h: Likewise. 1819*14f5a3b0Smrg * include/bits/stl_bvector.h: Likewise. 1820*14f5a3b0Smrg * include/bits/stl_deque.h: Likewise. 1821*14f5a3b0Smrg * include/bits/stl_iterator.h: Likewise. 1822*14f5a3b0Smrg * include/bits/stl_iterator_base_funcs.h: Likewise. 1823*14f5a3b0Smrg * include/bits/stl_list.h: Likewise. 1824*14f5a3b0Smrg * include/bits/stl_map.h: Likewise. 1825*14f5a3b0Smrg * include/bits/stl_multimap.h: Likewise. 1826*14f5a3b0Smrg * include/bits/stl_multiset.h: Likewise. 1827*14f5a3b0Smrg * include/bits/stl_relops.h: Likewise. 1828*14f5a3b0Smrg * include/bits/stl_set.h: Likewise. 1829*14f5a3b0Smrg * include/bits/stl_vector.h: Likewise. 1830*14f5a3b0Smrg * include/bits/uniform_int_dist.h: Likewise. 1831*14f5a3b0Smrg * include/bits/unordered_map.h: Likewise. 1832*14f5a3b0Smrg * include/bits/unordered_set.h: Likewise. 1833*14f5a3b0Smrg * include/bits/vector.tcc: Likewise. 1834*14f5a3b0Smrg * include/c_global/cmath: Likewise. 1835*14f5a3b0Smrg * include/c_std/cmath: Likewise. 1836*14f5a3b0Smrg * include/decimal/decimal: Likewise. 1837*14f5a3b0Smrg * include/decimal/decimal.h: Likewise. 1838*14f5a3b0Smrg * include/experimental/algorithm: Likewise. 1839*14f5a3b0Smrg * include/experimental/any: Likewise. 1840*14f5a3b0Smrg * include/experimental/array: Likewise. 1841*14f5a3b0Smrg * include/experimental/bits/erase_if.h: Likewise. 1842*14f5a3b0Smrg * include/experimental/bits/fs_dir.h: Likewise. 1843*14f5a3b0Smrg * include/experimental/bits/fs_fwd.h: Likewise. 1844*14f5a3b0Smrg * include/experimental/bits/fs_ops.h: Likewise. 1845*14f5a3b0Smrg * include/experimental/bits/fs_path.h: Likewise. 1846*14f5a3b0Smrg * include/experimental/bits/lfts_config.h: Likewise. 1847*14f5a3b0Smrg * include/experimental/bits/shared_ptr.h: Likewise. 1848*14f5a3b0Smrg * include/experimental/bits/string_view.tcc: Likewise. 1849*14f5a3b0Smrg * include/experimental/chrono: Likewise. 1850*14f5a3b0Smrg * include/experimental/deque: Likewise. 1851*14f5a3b0Smrg * include/experimental/filesystem: Likewise. 1852*14f5a3b0Smrg * include/experimental/forward_list: Likewise. 1853*14f5a3b0Smrg * include/experimental/functional: Likewise. 1854*14f5a3b0Smrg * include/experimental/iterator: Likewise. 1855*14f5a3b0Smrg * include/experimental/list: Likewise. 1856*14f5a3b0Smrg * include/experimental/map: Likewise. 1857*14f5a3b0Smrg * include/experimental/memory: Likewise. 1858*14f5a3b0Smrg * include/experimental/memory_resource: Likewise. 1859*14f5a3b0Smrg * include/experimental/numeric: Likewise. 1860*14f5a3b0Smrg * include/experimental/optional: Likewise. 1861*14f5a3b0Smrg * include/experimental/propagate_const: Likewise. 1862*14f5a3b0Smrg * include/experimental/random: Likewise. 1863*14f5a3b0Smrg * include/experimental/ratio: Likewise. 1864*14f5a3b0Smrg * include/experimental/regex: Likewise. 1865*14f5a3b0Smrg * include/experimental/set: Likewise. 1866*14f5a3b0Smrg * include/experimental/source_location: Likewise. 1867*14f5a3b0Smrg * include/experimental/string: Likewise. 1868*14f5a3b0Smrg * include/experimental/string_view: Likewise. 1869*14f5a3b0Smrg * include/experimental/system_error: Likewise. 1870*14f5a3b0Smrg * include/experimental/tuple: Likewise. 1871*14f5a3b0Smrg * include/experimental/type_traits: Likewise. 1872*14f5a3b0Smrg * include/experimental/unordered_map: Likewise. 1873*14f5a3b0Smrg * include/experimental/unordered_set: Likewise. 1874*14f5a3b0Smrg * include/experimental/utility: Likewise. 1875*14f5a3b0Smrg * include/experimental/vector: Likewise. 1876*14f5a3b0Smrg * include/ext/bitmap_allocator.h: Likewise. 1877*14f5a3b0Smrg * include/ext/codecvt_specializations.h: Likewise. 1878*14f5a3b0Smrg * include/ext/rope: Likewise. 1879*14f5a3b0Smrg * include/ext/typelist.h: Likewise. 1880*14f5a3b0Smrg * include/std/chrono: Likewise. 1881*14f5a3b0Smrg * include/std/complex: Likewise. 1882*14f5a3b0Smrg * include/std/functional: Likewise. 1883*14f5a3b0Smrg * include/std/numeric: Likewise. 1884*14f5a3b0Smrg * include/std/string_view: Likewise. 1885*14f5a3b0Smrg * include/std/thread: Likewise. 1886*14f5a3b0Smrg * include/std/variant: Likewise. 1887*14f5a3b0Smrg * include/tr1/array: Likewise. 1888*14f5a3b0Smrg * include/tr1/bessel_function.tcc: Likewise. 1889*14f5a3b0Smrg * include/tr1/beta_function.tcc: Likewise. 1890*14f5a3b0Smrg * include/tr1/cmath: Likewise. 1891*14f5a3b0Smrg * include/tr1/complex: Likewise. 1892*14f5a3b0Smrg * include/tr1/ell_integral.tcc: Likewise. 1893*14f5a3b0Smrg * include/tr1/exp_integral.tcc: Likewise. 1894*14f5a3b0Smrg * include/tr1/functional: Likewise. 1895*14f5a3b0Smrg * include/tr1/functional_hash.h: Likewise. 1896*14f5a3b0Smrg * include/tr1/gamma.tcc: Likewise. 1897*14f5a3b0Smrg * include/tr1/hashtable.h: Likewise. 1898*14f5a3b0Smrg * include/tr1/hashtable_policy.h: Likewise. 1899*14f5a3b0Smrg * include/tr1/hypergeometric.tcc: Likewise. 1900*14f5a3b0Smrg * include/tr1/legendre_function.tcc: Likewise. 1901*14f5a3b0Smrg * include/tr1/modified_bessel_func.tcc: Likewise. 1902*14f5a3b0Smrg * include/tr1/poly_hermite.tcc: Likewise. 1903*14f5a3b0Smrg * include/tr1/poly_laguerre.tcc: Likewise. 1904*14f5a3b0Smrg * include/tr1/random.h: Likewise. 1905*14f5a3b0Smrg * include/tr1/random.tcc: Likewise. 1906*14f5a3b0Smrg * include/tr1/regex: Likewise. 1907*14f5a3b0Smrg * include/tr1/riemann_zeta.tcc: Likewise. 1908*14f5a3b0Smrg * include/tr1/shared_ptr.h: Likewise. 1909*14f5a3b0Smrg * include/tr1/special_function_util.h: Likewise. 1910*14f5a3b0Smrg * include/tr1/tuple: Likewise. 1911*14f5a3b0Smrg * include/tr1/type_traits: Likewise. 1912*14f5a3b0Smrg * include/tr1/unordered_map.h: Likewise. 1913*14f5a3b0Smrg * include/tr1/unordered_set.h: Likewise. 1914*14f5a3b0Smrg * include/tr1/utility: Likewise. 1915*14f5a3b0Smrg * include/tr2/bool_set: Likewise. 1916*14f5a3b0Smrg * include/tr2/bool_set.tcc: Likewise. 1917*14f5a3b0Smrg * include/tr2/dynamic_bitset: Likewise. 1918*14f5a3b0Smrg * include/tr2/dynamic_bitset.tcc: Likewise. 1919*14f5a3b0Smrg * include/tr2/ratio: Likewise. 1920*14f5a3b0Smrg * include/tr2/type_traits: Likewise. 1921*14f5a3b0Smrg * src/c++11/chrono.cc: Likewise. 1922*14f5a3b0Smrg * src/c++11/compatibility-c++0x.cc: Likewise. 1923*14f5a3b0Smrg * src/c++11/compatibility-chrono.cc: Likewise. 1924*14f5a3b0Smrg * src/c++11/cxx11-shim_facets.cc: Likewise. 1925*14f5a3b0Smrg * src/c++11/hashtable_c++0x.cc: Likewise. 1926*14f5a3b0Smrg * src/c++11/placeholders.cc: Likewise. 1927*14f5a3b0Smrg * src/c++11/thread.cc: Likewise. 1928*14f5a3b0Smrg * src/c++98/bitmap_allocator.cc: Likewise. 1929*14f5a3b0Smrg * src/c++98/hashtable_tr1.cc: Likewise. 1930*14f5a3b0Smrg * src/c++98/list.cc: Likewise. 1931*14f5a3b0Smrg * src/shared/hashtable-aux.cc: Likewise. 1932*14f5a3b0Smrg * testsuite/20_util/duration/literals/range.cc: Adapt line number. 1933*14f5a3b0Smrg * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise. 1934*14f5a3b0Smrg * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. 1935*14f5a3b0Smrg * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. 1936*14f5a3b0Smrg * testsuite/20_util/forward/c_neg.cc: Likewise. 1937*14f5a3b0Smrg * testsuite/20_util/forward/f_neg.cc: Likewise. 1938*14f5a3b0Smrg * testsuite/26_numerics/gcd/gcd_neg.cc: Likewise. 1939*14f5a3b0Smrg * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. 1940*14f5a3b0Smrg * testsuite/26_numerics/random/pr60037-neg.cc: Likewise. 1941*14f5a3b0Smrg * python/libstdcxx/v6/printers.py: Adapt. 1942*14f5a3b0Smrg 1943*14f5a3b0Smrg2017-07-20 Jonathan Wakely <jwakely@redhat.com> 1944*14f5a3b0Smrg 1945*14f5a3b0Smrg * config/allocator/malloc_allocator_base.h [__SANITIZE_ADDRESS__] 1946*14f5a3b0Smrg (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define. 1947*14f5a3b0Smrg * config/allocator/new_allocator_base.h [__SANITIZE_ADDRESS__] 1948*14f5a3b0Smrg (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define. 1949*14f5a3b0Smrg * doc/xml/manual/using.xml (_GLIBCXX_SANITIZE_VECTOR): Document macro. 1950*14f5a3b0Smrg * include/bits/stl_vector.h [_GLIBCXX_SANITIZE_VECTOR] 1951*14f5a3b0Smrg (_Vector_impl::_Asan, _Vector_impl::_Asan::_Reinit) 1952*14f5a3b0Smrg (_Vector_impl::_Asan::_Grow, _GLIBCXX_ASAN_ANNOTATE_REINIT) 1953*14f5a3b0Smrg (_GLIBCXX_ASAN_ANNOTATE_GROW, _GLIBCXX_ASAN_ANNOTATE_GREW) 1954*14f5a3b0Smrg (_GLIBCXX_ASAN_ANNOTATE_SHRINK, _GLIBCXX_ASAN_ANNOTATE_BEFORE_DEALLOC): 1955*14f5a3b0Smrg Define annotation helper types and macros. 1956*14f5a3b0Smrg (vector::~vector, vector::push_back, vector::pop_back) 1957*14f5a3b0Smrg (vector::_M_erase_at_end): Add annotations. 1958*14f5a3b0Smrg * include/bits/vector.tcc (vector::reserve, vector::emplace_back) 1959*14f5a3b0Smrg (vector::insert, vector::_M_erase, vector::operator=) 1960*14f5a3b0Smrg (vector::_M_fill_assign, vector::_M_assign_aux) 1961*14f5a3b0Smrg (vector::_M_insert_rval, vector::_M_emplace_aux) 1962*14f5a3b0Smrg (vector::_M_insert_aux, vector::_M_realloc_insert) 1963*14f5a3b0Smrg (vector::_M_fill_insert, vector::_M_default_append) 1964*14f5a3b0Smrg (vector::_M_shrink_to_fit, vector::_M_range_insert): Annotate. 1965*14f5a3b0Smrg 1966*14f5a3b0Smrg2017-07-19 Jonathan Wakely <jwakely@redhat.com> 1967*14f5a3b0Smrg 1968*14f5a3b0Smrg PR libstdc++/81476 1969*14f5a3b0Smrg * include/bits/vector.tcc (vector::_M_range_insert<_InputIterator>): 1970*14f5a3b0Smrg Only insert elements one-by-one when inserting at the end. 1971*14f5a3b0Smrg * testsuite/performance/23_containers/insert/81476.cc: New. 1972*14f5a3b0Smrg 1973*14f5a3b0Smrg2017-07-19 Volker Reichelt <v.reichelt@netcologne.de> 1974*14f5a3b0Smrg 1975*14f5a3b0Smrg * libsupc++/new (bad_array_new_length): Remove redundant 1976*14f5a3b0Smrg semicolon after in-class member function definition. 1977*14f5a3b0Smrg * include/bits/locale_facets.h (ctype_byname, num_put): Likewise. 1978*14f5a3b0Smrg * include/bits/locale_facets_nonio.h (time_put_byname): Likewise. 1979*14f5a3b0Smrg * include/bits/random.h (mersenne_twister_engine): Likewise. 1980*14f5a3b0Smrg * include/tr1/random.h (mersenne_twister): Likewise 1981*14f5a3b0Smrg * include/ext/random (simd_fast_mersenne_twister_engine): Likewise. 1982*14f5a3b0Smrg * include/ext/rope (char_producer, _Rope_char_consumer, 1983*14f5a3b0Smrg _Rope_self_destruct_ptr, _Rope_const_iterator, _Rope_iterator): 1984*14f5a3b0Smrg Likewise. 1985*14f5a3b0Smrg * include/ext/ropeimpl.h (_Rope_flatten_char_consumer, 1986*14f5a3b0Smrg _Rope_insert_char_consumer): Likewise. 1987*14f5a3b0Smrg 1988*14f5a3b0Smrg2017-07-19 Jonathan Wakely <jwakely@redhat.com> 1989*14f5a3b0Smrg 1990*14f5a3b0Smrg * include/bits/fstream.tcc (basic_filebuf::xsgetn) 1991*14f5a3b0Smrg (basic_filebuf::xsputn, basic_filebuf::seekoff): Fix indentation. 1992*14f5a3b0Smrg 1993*14f5a3b0Smrg * testsuite/util/testsuite_iterators.h: Fix indentation. 1994*14f5a3b0Smrg 1995*14f5a3b0Smrg * testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: Add dg-require. 1996*14f5a3b0Smrg 1997*14f5a3b0Smrg2017-07-18 Jonathan Wakely <jwakely@redhat.com> 1998*14f5a3b0Smrg 1999*14f5a3b0Smrg PR libstdc++/81395 2000*14f5a3b0Smrg * include/bits/fstream.tcc (basic_filebuf::xsgetn): Don't set buffer 2001*14f5a3b0Smrg pointers for write mode after reading. 2002*14f5a3b0Smrg * testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: New. 2003*14f5a3b0Smrg 2004*14f5a3b0Smrg2017-07-18 François Dumont <fdumont@gcc.gnu.org> 2005*14f5a3b0Smrg 2006*14f5a3b0Smrg * include/bits/stl_list.h 2007*14f5a3b0Smrg (struct _List_node_header): New. 2008*14f5a3b0Smrg (_List_impl()): Fix noexcept qualification. 2009*14f5a3b0Smrg (_List_impl(_List_impl&&)): New, default. 2010*14f5a3b0Smrg (_List_base()): Default. 2011*14f5a3b0Smrg (_List_base(_List_base&&)): Default. 2012*14f5a3b0Smrg (_List_base::_M_move_nodes): Adapt to use 2013*14f5a3b0Smrg _List_node_header._M_move_nodes. 2014*14f5a3b0Smrg (_List_base::_M_init): Likewise. 2015*14f5a3b0Smrg (list<>()): Default. 2016*14f5a3b0Smrg (list<>(list&&)): Default. 2017*14f5a3b0Smrg (list<>::_M_move_assign(list&&, true_type)): Use _M_move_nodes. 2018*14f5a3b0Smrg (__distance(_List_const_iterator<>, _List_const_iterator<>, 2019*14f5a3b0Smrg input_iterator_tag)): Adapt. 2020*14f5a3b0Smrg * testsuite/23_containers/list/allocator/default_init.cc: New. 2021*14f5a3b0Smrg 2022*14f5a3b0Smrg2017-07-15 Jonathan Wakely <jwakely@redhat.com> 2023*14f5a3b0Smrg 2024*14f5a3b0Smrg * include/std/mutex (scoped_lock): Reorder std::adopt_lock_t parameter 2025*14f5a3b0Smrg as per P0739R0. 2026*14f5a3b0Smrg * testsuite/30_threads/scoped_lock/cons/1.cc: Reorder arguments. 2027*14f5a3b0Smrg * testsuite/30_threads/scoped_lock/cons/deduction.cc: Test deduction 2028*14f5a3b0Smrg with std::adopt_lock_t. 2029*14f5a3b0Smrg * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Check 2030*14f5a3b0Smrg feature-test macro. 2031*14f5a3b0Smrg 2032*14f5a3b0Smrg2017-07-14 Jason Merrill <jason@redhat.com> 2033*14f5a3b0Smrg Jonathan Wakely <jwakely@redhat.com> 2034*14f5a3b0Smrg 2035*14f5a3b0Smrg * include/std/variant (variant::variant(_Tp&&)): Constrain to remove 2036*14f5a3b0Smrg the constructor for empty variants from the candidate functions 2037*14f5a3b0Smrg during class template argument deduction. 2038*14f5a3b0Smrg * testsuite/20_util/variant/deduction.cc: New. 2039*14f5a3b0Smrg 2040*14f5a3b0Smrg2017-07-11 Jonathan Wakely <jwakely@redhat.com> 2041*14f5a3b0Smrg 2042*14f5a3b0Smrg * doc/xml/faq.xml: Update several old entries. Improve 2043*14f5a3b0Smrg cross-references. 2044*14f5a3b0Smrg * doc/xml/manual/intro.xml: Add anchors to each DR. 2045*14f5a3b0Smrg * doc/html/*: Regenerate. 2046*14f5a3b0Smrg 2047*14f5a3b0Smrg2017-07-10 Jonathan Wakely <jwakely@redhat.com> 2048*14f5a3b0Smrg 2049*14f5a3b0Smrg * testsuite/abi/pr42230.cc: Add header for std::free. 2050*14f5a3b0Smrg 2051*14f5a3b0Smrg PR libstdc++/81381 2052*14f5a3b0Smrg * include/bits/sstream.tcc (basic_stringbuf::overflow) 2053*14f5a3b0Smrg (basic_stringbuf::basic_stringbuf(const __string_type&, ios::mode)) 2054*14f5a3b0Smrg (basic_stringbuf::str()): Construct new strings with an allocator. 2055*14f5a3b0Smrg * testsuite/27_io/basic_stringbuf/cons/81381.cc: New. 2056*14f5a3b0Smrg 2057*14f5a3b0Smrg PR libstdc++/81338 2058*14f5a3b0Smrg * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string): 2059*14f5a3b0Smrg Declare basic_stringbuf to be a friend. 2060*14f5a3b0Smrg * include/bits/sstream.tcc (basic_stringbuf::overflow) 2061*14f5a3b0Smrg [_GLIBCXX_USE_CXX11_ABI]: Use unused capacity before reallocating. 2062*14f5a3b0Smrg * include/std/sstream (basic_stringbuf::__xfer_bufptrs): Update string 2063*14f5a3b0Smrg length to buffer length. 2064*14f5a3b0Smrg * testsuite/27_io/basic_stringstream/assign/81338.cc: New. 2065*14f5a3b0Smrg 2066*14f5a3b0Smrg2017-07-06 Jonathan Wakely <jwakely@redhat.com> 2067*14f5a3b0Smrg 2068*14f5a3b0Smrg * testsuite/20_util/specialized_algorithms/memory_management_tools/ 2069*14f5a3b0Smrg 1.cc: Free memory. 2070*14f5a3b0Smrg * testsuite/22_locale/locale/cons/5.cc: Remove redundant restoration 2071*14f5a3b0Smrg of original environment and free memory. 2072*14f5a3b0Smrg 2073*14f5a3b0Smrg * testsuite/abi/pr42230.cc: Free memory. 2074*14f5a3b0Smrg * testsuite/util/testsuite_abi.cc (demangle): Return std::string 2075*14f5a3b0Smrg instead of pointer that might need freeing. 2076*14f5a3b0Smrg * testsuite/util/testsuite_abi.h (demangle): Likewise. 2077*14f5a3b0Smrg * testsuite/util/testsuite_hooks.cc (verify_demangle): Free memory. 2078*14f5a3b0Smrg 2079*14f5a3b0Smrg * include/bits/uses_allocator.h (__use_alloc(const _Alloc&&)): Add 2080*14f5a3b0Smrg deleted overload to prevent dangling references to rvalues. 2081*14f5a3b0Smrg * include/experimental/memory_resource 2082*14f5a3b0Smrg (polymorphic_allocator::construct): Do not call __use_alloc with 2083*14f5a3b0Smrg rvalue arguments. 2084*14f5a3b0Smrg 2085*14f5a3b0Smrg2017-06-27 Tim Shen <timshen@google.com> 2086*14f5a3b0Smrg 2087*14f5a3b0Smrg PR libstdc++/80187 2088*14f5a3b0Smrg * include/std/variant (variant::variant, variant::~variant, 2089*14f5a3b0Smrg variant::operator=): Implement triviality forwarding for four 2090*14f5a3b0Smrg special member functions. 2091*14f5a3b0Smrg * testsuite/20_util/variant/compile.cc: Tests. 2092*14f5a3b0Smrg 2093*14f5a3b0Smrg2017-06-27 Jonathan Wakely <jwakely@redhat.com> 2094*14f5a3b0Smrg 2095*14f5a3b0Smrg PR libstdc++/81221 2096*14f5a3b0Smrg * testsuite/25_algorithms/sample/81221.cc: Disable except for 2097*14f5a3b0Smrg check-parallel. 2098*14f5a3b0Smrg 2099*14f5a3b0Smrg PR libstdc++/81221 2100*14f5a3b0Smrg * include/bits/stl_algo.h (sample): Qualify with _GLIBCXX_STD_A not 2101*14f5a3b0Smrg std. 2102*14f5a3b0Smrg * testsuite/25_algorithms/sample/81221.cc: New. 2103*14f5a3b0Smrg 2104*14f5a3b0Smrg2017-06-22 Jonathan Wakely <jwakely@redhat.com> 2105*14f5a3b0Smrg 2106*14f5a3b0Smrg PR libstdc++/81173 2107*14f5a3b0Smrg * include/bits/stl_bvector.h (vector<bool>::_M_initialize_value): 2108*14f5a3b0Smrg Do not pass null pointer to memset. 2109*14f5a3b0Smrg 2110*14f5a3b0Smrg2017-06-21 Ville Voutilainen <ville.voutilainen@gmail.com> 2111*14f5a3b0Smrg 2112*14f5a3b0Smrg PR libstdc++/80675 2113*14f5a3b0Smrg PR libstdc++/80940 2114*14f5a3b0Smrg * include/std/istream: 2115*14f5a3b0Smrg (__is_convertible_to_basic_istream_test(basic_istream<_Ch, _Up>*)): New. 2116*14f5a3b0Smrg (__do_is_convertible_to_basic_istream_impl): Likewise. 2117*14f5a3b0Smrg (__is_convertible_to_basic_istream_impl): Likewise. 2118*14f5a3b0Smrg (__is_convertible_to_basic_istream): Use the new base. 2119*14f5a3b0Smrg (__rvalue_istream_type): New. 2120*14f5a3b0Smrg (operator>>(_Istream&&, _Tp&&)): Use the new helper alias 2121*14f5a3b0Smrg for the SFINAE check, convert to the helper alias type before 2122*14f5a3b0Smrg doing the actual extraction. 2123*14f5a3b0Smrg * include/std/ostream: 2124*14f5a3b0Smrg (__is_convertible_to_basic_ostream_test(basic_ostream<_Ch, _Up>*)): New. 2125*14f5a3b0Smrg (__do_is_convertible_to_basic_ostream_impl): Likewise. 2126*14f5a3b0Smrg (__is_convertible_to_basic_ostream_impl): Likewise. 2127*14f5a3b0Smrg (__is_convertible_to_basic_ostream): Use the new base. 2128*14f5a3b0Smrg (__rvalue_ostream_type): New. 2129*14f5a3b0Smrg (operator<<(_Ostream&&, const _Tp&)): Use the new helper alias 2130*14f5a3b0Smrg for the SFINAE check, convert to the helper alias type before 2131*14f5a3b0Smrg doing the actual insertion. 2132*14f5a3b0Smrg * testsuite/27_io/rvalue_streams-2.cc: Add new tests. 2133*14f5a3b0Smrg 2134*14f5a3b0Smrg2017-06-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 2135*14f5a3b0Smrg 2136*14f5a3b0Smrg * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. 2137*14f5a3b0Smrg 2138*14f5a3b0Smrg2017-06-21 Jonathan Wakely <jwakely@redhat.com> 2139*14f5a3b0Smrg 2140*14f5a3b0Smrg PR libstdc++/81092 2141*14f5a3b0Smrg * configure: Regenerate. 2142*14f5a3b0Smrg 2143*14f5a3b0Smrg2017-06-20 Uros Bizjak <ubizjak@gmail.com> 2144*14f5a3b0Smrg 2145*14f5a3b0Smrg * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. 2146*14f5a3b0Smrg 2147*14f5a3b0Smrg2017-06-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2148*14f5a3b0Smrg 2149*14f5a3b0Smrg * testsuite/20_util/variant/index_type.cc: Allow for all ilp32 and 2150*14f5a3b0Smrg lp64 targets. 2151*14f5a3b0Smrg 2152*14f5a3b0Smrg2017-06-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2153*14f5a3b0Smrg 2154*14f5a3b0Smrg * config/abi/post/i386-solaris2.10/baseline_symbols.txt: Regenerate. 2155*14f5a3b0Smrg * config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: Likewise. 2156*14f5a3b0Smrg * config/abi/post/i386-solaris2.11/baseline_symbols.txt: Likewise. 2157*14f5a3b0Smrg * config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: Likewise. 2158*14f5a3b0Smrg * config/abi/post/sparc-solaris2.10/baseline_symbols.txt: Likewise. 2159*14f5a3b0Smrg * config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt: 2160*14f5a3b0Smrg Likewise. 2161*14f5a3b0Smrg * config/abi/post/sparc-solaris2.11/baseline_symbols.txt: Likewise. 2162*14f5a3b0Smrg * config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt: 2163*14f5a3b0Smrg Likewise. 2164*14f5a3b0Smrg 2165*14f5a3b0Smrg2017-06-18 H.J. Lu <hongjiu.lu@intel.com> 2166*14f5a3b0Smrg 2167*14f5a3b0Smrg PR libstdc++/81092 2168*14f5a3b0Smrg * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. 2169*14f5a3b0Smrg 2170*14f5a3b0Smrg2017-06-18 Andreas Schwab <schwab@linux-m68k.org> 2171*14f5a3b0Smrg 2172*14f5a3b0Smrg PR libstdc++/81092 2173*14f5a3b0Smrg * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. 2174*14f5a3b0Smrg 2175*14f5a3b0Smrg2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2176*14f5a3b0Smrg 2177*14f5a3b0Smrg * testsuite: Remove dg-skip-if, dg-xfail-if, dg-xfail-run-if 2178*14f5a3b0Smrg default args. 2179*14f5a3b0Smrg 2180*14f5a3b0Smrg2017-06-17 Jonathan Wakely <jwakely@redhat.com> 2181*14f5a3b0Smrg 2182*14f5a3b0Smrg PR libstdc++/80893 2183*14f5a3b0Smrg * testsuite/23_containers/vector/bool/80893.cc: Add { target c++11 }. 2184*14f5a3b0Smrg 2185*14f5a3b0Smrg2017-06-16 Jonathan Wakely <jwakely@redhat.com> 2186*14f5a3b0Smrg 2187*14f5a3b0Smrg * include/bits/shared_ptr.h (get_deleter): Add overload matching 2188*14f5a3b0Smrg standard signature. 2189*14f5a3b0Smrg * include/bits/shared_ptr_base.h (__shared_ptr): Declare new 2190*14f5a3b0Smrg get_deleter overload as a friend. 2191*14f5a3b0Smrg * testsuite/20_util/shared_ptr/misc/get_deleter.cc: New. 2192*14f5a3b0Smrg 2193*14f5a3b0Smrg2017-06-16 Jakub Jelinek <jakub@redhat.com> 2194*14f5a3b0Smrg 2195*14f5a3b0Smrg PR libstdc++/81092 2196*14f5a3b0Smrg * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. 2197*14f5a3b0Smrg * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. 2198*14f5a3b0Smrg * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. 2199*14f5a3b0Smrg 2200*14f5a3b0Smrg2017-06-16 Jonathan Wakely <jwakely@redhat.com> 2201*14f5a3b0Smrg 2202*14f5a3b0Smrg * include/bits/locale_conv.h (wbuffer_convert::sync): Fix condition. 2203*14f5a3b0Smrg * testsuite/22_locale/conversions/buffer/2.cc: New. 2204*14f5a3b0Smrg 2205*14f5a3b0Smrg PR libstdc++/81092 2206*14f5a3b0Smrg * acinclude.m4: Bump libtool_VERSION. 2207*14f5a3b0Smrg * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. 2208*14f5a3b0Smrg * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. 2209*14f5a3b0Smrg * config/abi/pre/gnu.ver: Add wstring constructor symbols to 2210*14f5a3b0Smrg GLIBCXX_3.4.24 version and move random_device::_M_get_entropy() symbol 2211*14f5a3b0Smrg to new GLIBCXX_3.4.25 version. 2212*14f5a3b0Smrg * doc/xml/manual/abi.xml: Document new versions. 2213*14f5a3b0Smrg * doc/html/*: Regenerate. 2214*14f5a3b0Smrg * testsuite/21_strings/basic_string/cons/char/8.cc: Use base object 2215*14f5a3b0Smrg constructors to ensure required symbols are exported. 2216*14f5a3b0Smrg * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise. 2217*14f5a3b0Smrg * testsuite/util/testsuite_abi.cc: Add new version. 2218*14f5a3b0Smrg 2219*14f5a3b0Smrg * include/bits/locale_conv.h (wbuffer_convert::_M_put): Add missing 2220*14f5a3b0Smrg return statement. 2221*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc: 2222*14f5a3b0Smrg Return void. 2223*14f5a3b0Smrg * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc: 2224*14f5a3b0Smrg Likewise. 2225*14f5a3b0Smrg * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: Add 2226*14f5a3b0Smrg missing return statements. 2227*14f5a3b0Smrg * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc: 2228*14f5a3b0Smrg Likewise. 2229*14f5a3b0Smrg * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc: 2230*14f5a3b0Smrg Return void. 2231*14f5a3b0Smrg * testsuite/special_functions/14_expint/pr68397.cc: Likewise. 2232*14f5a3b0Smrg 2233*14f5a3b0Smrg2017-06-16 François Dumont <fdumont@gcc.gnu.org> 2234*14f5a3b0Smrg 2235*14f5a3b0Smrg * include/bits/stl_bvector.h 2236*14f5a3b0Smrg (__fill_bvector(_Bit_type*, unsigned int, unsigned int, bool)): 2237*14f5a3b0Smrg Change signature. 2238*14f5a3b0Smrg (std::fill(_Bit_iterator, _Bit_iterator, bool)): Adapt. 2239*14f5a3b0Smrg (_Bvector_impl_data): New. 2240*14f5a3b0Smrg (_Bvector_impl): Inherits from latter. 2241*14f5a3b0Smrg (_Bvector_impl(_Bit_alloc_type&&)): Delete. 2242*14f5a3b0Smrg (_Bvector_impl(_Bvector_impl&&)): New, default. 2243*14f5a3b0Smrg (_Bvector_base()): Default. 2244*14f5a3b0Smrg (_Bvector_base(_Bvector_base&&)): Default. 2245*14f5a3b0Smrg (_Bvector_base::_M_move_data(_Bvector_base&&)): New. 2246*14f5a3b0Smrg (vector(vector&&, const allocator_type&)): Use latter. 2247*14f5a3b0Smrg (vector<bool>::operator=(vector&&)): Likewise. 2248*14f5a3b0Smrg (vector<bool>::vector()): Default. 2249*14f5a3b0Smrg (vector<bool>::vector(vector&&)): Default. 2250*14f5a3b0Smrg (vector<bool>::assign(_InputIterator, _InputIterator)): Use 2251*14f5a3b0Smrg _M_assign_aux. 2252*14f5a3b0Smrg (vector<bool>::assign(initializer_list<bool>)): Likewise. 2253*14f5a3b0Smrg (vector<bool>::_M_initialize_value(bool)): New. 2254*14f5a3b0Smrg (vector<bool>(size_type, const bool&, const allocator_type&)): Use 2255*14f5a3b0Smrg latter. 2256*14f5a3b0Smrg (vector<bool>::_M_initialize_dispatch(_Integer, _Integer, __true_type)): 2257*14f5a3b0Smrg Likewise. 2258*14f5a3b0Smrg (vector<bool>::_M_fill_assign(size_t, bool)): Likewise. 2259*14f5a3b0Smrg 2260*14f5a3b0Smrg2017-06-15 François Dumont <fdumont@gcc.gnu.org> 2261*14f5a3b0Smrg 2262*14f5a3b0Smrg * src/c++98/tree.cc [!_GLIBCXX_INLINE_VERSION] 2263*14f5a3b0Smrg (_Rb_tree_rotate_left, _Rb_tree_rotate_right): Delete. 2264*14f5a3b0Smrg 2265*14f5a3b0Smrg2017-06-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2266*14f5a3b0Smrg 2267*14f5a3b0Smrg * testsuite: Add dg-require-effective-target pthread to -pthread 2268*14f5a3b0Smrg tests. 2269*14f5a3b0Smrg Remove explicit target lists from dg-do and dg-options. 2270*14f5a3b0Smrg 2271*14f5a3b0Smrg * testsuite/30_threads/async/forced_unwind.cc: Remove explit 2272*14f5a3b0Smrg target list from dg-options. 2273*14f5a3b0Smrg * testsuite/30_threads/packaged_task/forced_unwind.cc: Likewise. 2274*14f5a3b0Smrg 2275*14f5a3b0Smrg * 30_threads/shared_mutex/cons/1.cc: Likewise. 2276*14f5a3b0Smrg Pass -pthread for all targets. 2277*14f5a3b0Smrg * 30_threads/shared_mutex/try_lock/1.cc: Likewise. 2278*14f5a3b0Smrg * 30_threads/shared_mutex/try_lock/2.cc: Likewise. 2279*14f5a3b0Smrg * 30_threads/shared_mutex/unlock/1.cc: Likewise. 2280*14f5a3b0Smrg 2281*14f5a3b0Smrg * testsuite/30_threads/this_thread/57060.cc: Require c++11 via 2282*14f5a3b0Smrg dg-require-effective-target. 2283*14f5a3b0Smrg 2284*14f5a3b0Smrg2017-06-14 Jonathan Wakely <jwakely@redhat.com> 2285*14f5a3b0Smrg 2286*14f5a3b0Smrg * doc/xml/manual/test.xml: Correct instructions on running tests. 2287*14f5a3b0Smrg * testsuite/21_strings/basic_string/cons/char/deduction.cc: Adjust to 2288*14f5a3b0Smrg pass when -D_GLIBCXX_USE_CXX11_ABI=0 added to RUNTESTFLAGS. 2289*14f5a3b0Smrg * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: 2290*14f5a3b0Smrg Likewise. 2291*14f5a3b0Smrg * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise. 2292*14f5a3b0Smrg * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. 2293*14f5a3b0Smrg * testsuite/27_io/basic_istream/extractors_arithmetic/char/ 2294*14f5a3b0Smrg exceptions_failbit.cc: Likewise. 2295*14f5a3b0Smrg * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ 2296*14f5a3b0Smrg exceptions_failbit.cc: Likewise. 2297*14f5a3b0Smrg * testsuite/27_io/basic_istream/extractors_other/char/ 2298*14f5a3b0Smrg exceptions_null.cc: Likewise. 2299*14f5a3b0Smrg * testsuite/27_io/basic_istream/extractors_other/wchar_t/ 2300*14f5a3b0Smrg exceptions_null.cc: Likewise. 2301*14f5a3b0Smrg * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. 2302*14f5a3b0Smrg * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. 2303*14f5a3b0Smrg * testsuite/27_io/basic_ostream/inserters_other/char/ 2304*14f5a3b0Smrg exceptions_null.cc: Likewise. 2305*14f5a3b0Smrg * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ 2306*14f5a3b0Smrg exceptions_null.cc: Likewise. 2307*14f5a3b0Smrg * testsuite/27_io/ios_base/storage/2.cc: Likewise. 2308*14f5a3b0Smrg 2309*14f5a3b0Smrg2017-06-12 Pedro Alves <palves@redhat.com> 2310*14f5a3b0Smrg 2311*14f5a3b0Smrg * doc/xml/manual/status_cxx2017.xml: Update C++17 constexpr 2312*14f5a3b0Smrg char_traits status. 2313*14f5a3b0Smrg * doc/html/*: Regenerate. 2314*14f5a3b0Smrg 2315*14f5a3b0Smrg * include/bits/char_traits.h (_GLIBCXX_ALWAYS_INLINE): Define if 2316*14f5a3b0Smrg not already defined. 2317*14f5a3b0Smrg (__cpp_lib_constexpr_char_traits): Uncomment. 2318*14f5a3b0Smrg (__constant_string_p, __constant_char_array_p): New. 2319*14f5a3b0Smrg (std::char_traits<char>, std::char_traits<wchar_t>): Add 2320*14f5a3b0Smrg _GLIBCXX17_CONSTEXPR on compare, length and find and use 2321*14f5a3b0Smrg __constant_string_p, __constant_char_array_p and 2322*14f5a3b0Smrg __builtin_constant_p to defer to __gnu_cxx::char_traits at compile 2323*14f5a3b0Smrg time. 2324*14f5a3b0Smrg 2325*14f5a3b0Smrg * testsuite/21_strings/char_traits/requirements/ 2326*14f5a3b0Smrg constexpr_functions_c++17.cc: Uncomment 2327*14f5a3b0Smrg __cpp_lib_constexpr_char_traits tests. Uncomment 2328*14f5a3b0Smrg test_compare<char>, test_length<char>, test_find<char>, 2329*14f5a3b0Smrg test_compare<wchar_t>, test_length<wchar_t> and test_find<wchar_t> 2330*14f5a3b0Smrg static_assert tests. 2331*14f5a3b0Smrg 2332*14f5a3b0Smrg2017-06-12 François Dumont <fdumont@gcc.gnu.org> 2333*14f5a3b0Smrg 2334*14f5a3b0Smrg * include/bits/stl_tree.h (_Rb_tree_impl()): Restore _Node_allocator 2335*14f5a3b0Smrg default init. 2336*14f5a3b0Smrg * testsuite/util/testsuite_allocator.h 2337*14f5a3b0Smrg (__gnu_test::default_init_allocator<>) New. 2338*14f5a3b0Smrg * testsuite/23_containers/set/allocator/default_init.cc: New. 2339*14f5a3b0Smrg * testsuite/23_containers/map/allocator/default_init.cc: New. 2340*14f5a3b0Smrg 2341*14f5a3b0Smrg2017-06-12 Jonathan Wakely <jwakely@redhat.com> 2342*14f5a3b0Smrg 2343*14f5a3b0Smrg PR libstdc++/55917 2344*14f5a3b0Smrg * src/c++11/thread.cc (execute_native_thread_routine): Remove 2345*14f5a3b0Smrg try-block so that exceptions propagate out of the thread and terminate 2346*14f5a3b0Smrg is called by the exception-handling runtime. 2347*14f5a3b0Smrg (execute_native_thread_routine_compat): Likewise. 2348*14f5a3b0Smrg * testsuite/30_threads/thread/cons/terminate.cc: New. 2349*14f5a3b0Smrg 2350*14f5a3b0Smrg2017-06-09 Jonathan Wakely <jwakely@redhat.com> 2351*14f5a3b0Smrg 2352*14f5a3b0Smrg * doc/xml/manual/intro.xml: Document LWG 2802, 2873 and 2942 changes. 2353*14f5a3b0Smrg * include/bits/shared_ptr.h (shared_ptr): Use rvalues for deleters 2354*14f5a3b0Smrg (LWG 2802). 2355*14f5a3b0Smrg * include/bits/shared_ptr_base.h (_Sp_ebo_helper, _Sp_counted_deleter 2356*14f5a3b0Smrg (_Sp_counted_deleter::_Impl, __shared_count, __shared_ptr): Likewise. 2357*14f5a3b0Smrg * testsuite/20_util/shared_ptr/cons/lwg2802.cc: New. 2358*14f5a3b0Smrg 2359*14f5a3b0Smrg * include/bits/forward_list.h (forward_list): Add deduction guide. 2360*14f5a3b0Smrg * include/bits/stl_deque.h (deque): Likewise. 2361*14f5a3b0Smrg * include/bits/stl_list.h (list): Likewise. 2362*14f5a3b0Smrg * include/bits/stl_vector.h (vector): Likewise. 2363*14f5a3b0Smrg * testsuite/23_containers/deque/cons/deduction.cc: New. 2364*14f5a3b0Smrg * testsuite/23_containers/forward_list/cons/deduction.cc: New. 2365*14f5a3b0Smrg * testsuite/23_containers/list/cons/deduction.cc: New. 2366*14f5a3b0Smrg * testsuite/23_containers/vector/cons/deduction.cc: New. 2367*14f5a3b0Smrg 2368*14f5a3b0Smrg2017-06-08 Jonathan Wakely <jwakely@redhat.com> 2369*14f5a3b0Smrg 2370*14f5a3b0Smrg PR libstdc++/81017 2371*14f5a3b0Smrg * include/bits/std_function.h (function::function(function&&)) 2372*14f5a3b0Smrg (function::operator=(funtion&&)): Add noexcept. 2373*14f5a3b0Smrg * testsuite/20_util/function/assign/move.cc: Check for noexcept. 2374*14f5a3b0Smrg * testsuite/20_util/function/cons/move.cc: Likewise. 2375*14f5a3b0Smrg 2376*14f5a3b0Smrg2017-06-07 Jonathan Wakely <jwakely@redhat.com> 2377*14f5a3b0Smrg 2378*14f5a3b0Smrg * include/bits/regex.h (basic_regex): Add deduction guide from P0433. 2379*14f5a3b0Smrg * testsuite/28_regex/basic_regex/ctors/deduction.cc: New. 2380*14f5a3b0Smrg 2381*14f5a3b0Smrg PR libstdc++/81002 2382*14f5a3b0Smrg * include/bits/regex.h (basic_regex): Adjust call to __compile_nfa 2383*14f5a3b0Smrg so iterator type is deduced. 2384*14f5a3b0Smrg * include/bits/regex_compiler.h (__compile_nfa): Reorder template 2385*14f5a3b0Smrg parameters to allow iterator type to be deduced. 2386*14f5a3b0Smrg * testsuite/28_regex/basic_regex/ctors/basic/iter.cc: New. 2387*14f5a3b0Smrg 2388*14f5a3b0Smrg * include/bits/alloc_traits.h (__is_allocator, _RequireAllocator): 2389*14f5a3b0Smrg New trait and alias for detecting Allocator-like types. 2390*14f5a3b0Smrg * include/bits/basic_string.h (basic_string): Add deduction guide 2391*14f5a3b0Smrg from P0433. 2392*14f5a3b0Smrg * include/ext/alloc_traits.h (__gnu_cxx::__alloc_traits): Add template 2393*14f5a3b0Smrg parameter with default template argument that causes substitution 2394*14f5a3b0Smrg failures for types that cannot be allocators. 2395*14f5a3b0Smrg * testsuite/21_strings/basic_string/cons/char/deduction.cc: New. 2396*14f5a3b0Smrg * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: New. 2397*14f5a3b0Smrg 2398*14f5a3b0Smrg2017-06-02 Jonathan Wakely <jwakely@redhat.com> 2399*14f5a3b0Smrg 2400*14f5a3b0Smrg PR libstdc++/80939 2401*14f5a3b0Smrg * include/std/variant (__erased_ctor, __erased_assign, __erased_swap) 2402*14f5a3b0Smrg (__erased_hash): Remove constexpr specifier and qualify calls to 2403*14f5a3b0Smrg __ref_cast. 2404*14f5a3b0Smrg (__erased_dtor): Remove constexpr specifier and use _Destroy. 2405*14f5a3b0Smrg 2406*14f5a3b0Smrg2017-06-05 Jonathan Wakely <jwakely@redhat.com> 2407*14f5a3b0Smrg 2408*14f5a3b0Smrg * include/bits/stl_iterator_base_funcs.h 2409*14f5a3b0Smrg (__advance<_RandomAccessIterator, _Distance>): Optimize for next/prev 2410*14f5a3b0Smrg cases where incrementing or decrementing a single step. 2411*14f5a3b0Smrg 2412*14f5a3b0Smrg * include/bits/shared_ptr_base.h (__shared_ptr::owner_before) 2413*14f5a3b0Smrg (__weak_ptr::owner_before, _Sp_owner_less::operator()): Add noexcept 2414*14f5a3b0Smrg specifiers as per LWG 2873 and LWG 2942. 2415*14f5a3b0Smrg * testsuite/20_util/owner_less/noexcept.cc: New. 2416*14f5a3b0Smrg * testsuite/20_util/shared_ptr/observers/owner_before.cc: Test 2417*14f5a3b0Smrg noexcept guarantees. 2418*14f5a3b0Smrg * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise. 2419*14f5a3b0Smrg 2420*14f5a3b0Smrg2017-06-03 Andreas Schwab <schwab@linux-m68k.org> 2421*14f5a3b0Smrg 2422*14f5a3b0Smrg * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. 2423*14f5a3b0Smrg 2424*14f5a3b0Smrg2017-06-03 Eric Botcazou <ebotcazou@adacore.com> 2425*14f5a3b0Smrg 2426*14f5a3b0Smrg * src/filesystem/dir.cc (fs::_Dir::advance): Use std::exchange. 2427*14f5a3b0Smrg 2428*14f5a3b0Smrg2017-06-02 Jonathan Wakely <jwakely@redhat.com> 2429*14f5a3b0Smrg 2430*14f5a3b0Smrg PR libstdc++/80624 2431*14f5a3b0Smrg * doc/xml/manual/status_cxx2011.xml: Document to_int_type behaviour. 2432*14f5a3b0Smrg * include/bits/char_traits.h (char_traits<char16_t>::to_int_type): 2433*14f5a3b0Smrg Transform eof value to U+FFFD. 2434*14f5a3b0Smrg * testsuite/21_strings/char_traits/requirements/char16_t/eof.cc: New. 2435*14f5a3b0Smrg * testsuite/27_io/basic_streambuf/sgetc/char16_t/80624.cc: New. 2436*14f5a3b0Smrg * testsuite/27_io/basic_streambuf/sputc/char16_t/80624.cc: New. 2437*14f5a3b0Smrg 2438*14f5a3b0Smrg * libsupc++/Makefile.am: Remove custom targets for files that need to 2439*14f5a3b0Smrg be compiled as C++11 or C++14. 2440*14f5a3b0Smrg * libsupc++/Makefile.in: Regenerate. 2441*14f5a3b0Smrg * libsupc++/del_ops.cc: Use pragma to disable -Wsized-deallocation 2442*14f5a3b0Smrg warnings. 2443*14f5a3b0Smrg * libsupc++/del_opvs.cc: Likewise. 2444*14f5a3b0Smrg 2445*14f5a3b0Smrg2017-06-02 Richard Biener <rguenther@suse.de> 2446*14f5a3b0Smrg Markus Eisenmann <meisenmann.lba@fh-salzburg.ac.at> 2447*14f5a3b0Smrg 2448*14f5a3b0Smrg PR libstdc++/80721 2449*14f5a3b0Smrg * libsupc++/eh_alloc.cc (pool::free): Keep list properly 2450*14f5a3b0Smrg sorted and add missing freelist item merging cases. 2451*14f5a3b0Smrg 2452*14f5a3b0Smrg2017-06-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2453*14f5a3b0Smrg 2454*14f5a3b0Smrg (GLIBCXX_CROSSCONFIG): Handle *-solaris* like *-linux* etc. 2455*14f5a3b0Smrg Remove *-solaris* section. 2456*14f5a3b0Smrg * configure: Regenerate. 2457*14f5a3b0Smrg 2458*14f5a3b0Smrg2017-05-31 Jonathan Wakely <jwakely@redhat.com> 2459*14f5a3b0Smrg 2460*14f5a3b0Smrg PR libstdc++/80893 2461*14f5a3b0Smrg * include/bits/stl_bvector.h (vector<bool>::_M_initialize): Avoid 2462*14f5a3b0Smrg null pointer dereference when size is zero. 2463*14f5a3b0Smrg * testsuite/23_containers/vector/bool/80893.cc: New. 2464*14f5a3b0Smrg * testsuite/util/testsuite_allocator.h (PointerBase::PointerBase): 2465*14f5a3b0Smrg Add non-explicit constructor from nullptr. 2466*14f5a3b0Smrg (PointerBase::derived() const): Add const-qualified overload. 2467*14f5a3b0Smrg 2468*14f5a3b0Smrg2017-05-20 Tim Shen <timshen@google.com> 2469*14f5a3b0Smrg 2470*14f5a3b0Smrg PR libstdc++/80737 2471*14f5a3b0Smrg * include/std/variant(variant::variant): SFINAE on is_same first. 2472*14f5a3b0Smrg * testsuite/20_util/variant/any.cc: test case. 2473*14f5a3b0Smrg 2474*14f5a3b0Smrg2017-05-24 Jonathan Wakely <jwakely@redhat.com> 2475*14f5a3b0Smrg 2476*14f5a3b0Smrg * src/c++11/random.cc (random_device::_M_getentropy): Use __CHAR_BIT__ 2477*14f5a3b0Smrg instead of fixed number of bits. 2478*14f5a3b0Smrg 2479*14f5a3b0Smrg2017-05-24 Andreas Schwab <schwab@suse.de> 2480*14f5a3b0Smrg 2481*14f5a3b0Smrg * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. 2482*14f5a3b0Smrg * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise. 2483*14f5a3b0Smrg 2484*14f5a3b0Smrg2017-05-23 Xi Ruoyao <ryxi@stu.xidian.edu.cn> 2485*14f5a3b0Smrg Jonathan Wakely <jwakely@redhat.com> 2486*14f5a3b0Smrg 2487*14f5a3b0Smrg PR libstdc++/67578 2488*14f5a3b0Smrg * acinclude.m4: Bump libtool_VERSION. 2489*14f5a3b0Smrg * config/abi/pre/gnu.ver: Create GLIBCXX_3.4.24 with new symbol. 2490*14f5a3b0Smrg * config.h.in: Regenerate. 2491*14f5a3b0Smrg * configure: Regenerate. 2492*14f5a3b0Smrg * configure.ac: Add test for <linux/random.h>. 2493*14f5a3b0Smrg * doc/xml/manual/abi.xml: Document new library version. 2494*14f5a3b0Smrg * include/bits/random.h (random_device::entropy) 2495*14f5a3b0Smrg [_GLIBCXX_USE_RANDOM_TR1]: Add call to new _M_getentropy member. 2496*14f5a3b0Smrg (random_device::_M_getentropy): Declare. 2497*14f5a3b0Smrg * src/c++11/random.cc (random_device::_M_getentropy): Define. 2498*14f5a3b0Smrg * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.24 to known 2499*14f5a3b0Smrg versions, and make it the latest version. 2500*14f5a3b0Smrg 2501*14f5a3b0Smrg2017-05-23 Xi Ruoyao <ryxi@stu.xidian.edu.cn> 2502*14f5a3b0Smrg 2503*14f5a3b0Smrg PR libstdc++/67214 2504*14f5a3b0Smrg * include/bits/locale_facets.tcc (num_get::_M_extract_int): Add 2505*14f5a3b0Smrg explicit conversion to avoid signed overflow. 2506*14f5a3b0Smrg 2507*14f5a3b0Smrg2017-05-19 Jonathan Wakely <jwakely@redhat.com> 2508*14f5a3b0Smrg 2509*14f5a3b0Smrg PR libstdc++/80796 2510*14f5a3b0Smrg * include/bits/stl_algo.h (search): Add new overload for C++17. 2511*14f5a3b0Smrg * testsuite/25_algorithms/search/searcher.cc: New. 2512*14f5a3b0Smrg 2513*14f5a3b0Smrg2017-05-18 Jonathan Wakely <jwakely@redhat.com> 2514*14f5a3b0Smrg 2515*14f5a3b0Smrg PR libstdc++/80478 2516*14f5a3b0Smrg * include/std/functional (_Mem_fn_traits_base): Add specializations 2517*14f5a3b0Smrg for noexcept member function types. 2518*14f5a3b0Smrg * testsuite/20_util/function_objects/mem_fn/80478.cc: New test. 2519*14f5a3b0Smrg 2520*14f5a3b0Smrg2017-05-18 Jonathan Wakely <jwakely@redhat.com> 2521*14f5a3b0Smrg 2522*14f5a3b0Smrg * doc/xml/manual/policy_data_structures.xml: Fix typo. 2523*14f5a3b0Smrg * doc/xml/manual/test_policy_data_structures.xml: Likewise. 2524*14f5a3b0Smrg * doc/html/*: Regenerate. 2525*14f5a3b0Smrg 2526*14f5a3b0Smrg * doc/xml/manual/abi.xml: Document latest library versions. 2527*14f5a3b0Smrg * doc/xml/manual/build_hacking.xml: Document requirement to update 2528*14f5a3b0Smrg abi.xml when bumping library versions. 2529*14f5a3b0Smrg * doc/html/*: Regenerate. 2530*14f5a3b0Smrg 2531*14f5a3b0Smrg2017-05-17 Jonathan Wakely <jwakely@redhat.com> 2532*14f5a3b0Smrg 2533*14f5a3b0Smrg * include/bits/refwrap.h: Fix Doxygen warning. 2534*14f5a3b0Smrg * include/bits/specfun.h: Likewise. 2535*14f5a3b0Smrg * include/bits/std_function.h: Likewise. 2536*14f5a3b0Smrg * include/bits/stl_algo.h (set_union, set_intersection) 2537*14f5a3b0Smrg (set_difference, set_symmetric_difference): Add Doxygen @param tags 2538*14f5a3b0Smrg for output iterator parameters. 2539*14f5a3b0Smrg * include/bits/stl_iterator.h (inserter): Add Doxygen @param tag for 2540*14f5a3b0Smrg iterator parameter. 2541*14f5a3b0Smrg * include/std/mutex (try_lock, lock): Change Mutex to Lockable in 2542*14f5a3b0Smrg Doxygen comments. 2543*14f5a3b0Smrg 2544*14f5a3b0Smrg2017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com> 2545*14f5a3b0Smrg 2546*14f5a3b0Smrg Implement new C++ intrinsics __is_assignable and __is_constructible. 2547*14f5a3b0Smrg * include/std/type_traits (__do_is_static_castable_impl): Remove. 2548*14f5a3b0Smrg (__is_static_castable_impl, __is_static_castable_safe): Likewise. 2549*14f5a3b0Smrg (__is_static_castable, __do_is_direct_constructible_impl): Likewise. 2550*14f5a3b0Smrg (__is_direct_constructible_impl): Likewise. 2551*14f5a3b0Smrg (__is_direct_constructible_new_safe): Likewise. 2552*14f5a3b0Smrg (__is_base_to_derived_ref, __is_lvalue_to_rvalue_ref): Likewise. 2553*14f5a3b0Smrg (__is_direct_constructible_ref_cast): Likewise. 2554*14f5a3b0Smrg (__is_direct_constructible_new, __is_direct_constructible): Likewise. 2555*14f5a3b0Smrg (__do_is_nary_constructible_impl): Likewise. 2556*14f5a3b0Smrg (__is_nary_constructible_impl, __is_nary_constructible): Likewise. 2557*14f5a3b0Smrg (__is_constructible_impl): Likewise. 2558*14f5a3b0Smrg (is_constructible): Call the intrinsic. 2559*14f5a3b0Smrg (__is_assignable_helper): Remove. 2560*14f5a3b0Smrg (is_assignable): Call the intrinsic. 2561*14f5a3b0Smrg (is_trivially_constructible): Likewise. 2562*14f5a3b0Smrg (__is_trivially_copy_constructible_impl): New. 2563*14f5a3b0Smrg (is_trivially_copy_constructible): Use it. 2564*14f5a3b0Smrg (__is_trivially_move_constructible_impl): New. 2565*14f5a3b0Smrg (is_trivially_move_constructible): Use it. 2566*14f5a3b0Smrg (is_trivially_assignable): Call the intrinsic. 2567*14f5a3b0Smrg (__is_trivially_copy_assignable_impl): New. 2568*14f5a3b0Smrg (is_trivially_copy_assignable): Use it. 2569*14f5a3b0Smrg (__is_trivially_move_assignable_impl): New. 2570*14f5a3b0Smrg (is_trivially_move_assignable): Use it. 2571*14f5a3b0Smrg (testsuite/20_util/declval/requirements/1_neg.cc): Adjust. 2572*14f5a3b0Smrg (testsuite/20_util/is_trivially_copy_assignable/value.cc): 2573*14f5a3b0Smrg Add test for void. 2574*14f5a3b0Smrg (testsuite/20_util/is_trivially_copy_constructible/value.cc): Likewise. 2575*14f5a3b0Smrg (testsuite/20_util/is_trivially_move_assignable/value.cc): Likewise. 2576*14f5a3b0Smrg (testsuite/20_util/is_trivially_move_constructible/value.cc): Likewise. 2577*14f5a3b0Smrg (testsuite/20_util/make_signed/requirements/typedefs_neg.cc): Adjust. 2578*14f5a3b0Smrg (testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc): 2579*14f5a3b0Smrg Likewise. 2580*14f5a3b0Smrg 2581*14f5a3b0Smrg2017-05-16 Jonathan Wakely <jwakely@redhat.com> 2582*14f5a3b0Smrg 2583*14f5a3b0Smrg * testsuite/experimental/source_location/1.cc: Change expected result 2584*14f5a3b0Smrg for source_location::current() used in default member initializer. 2585*14f5a3b0Smrg 2586*14f5a3b0Smrg * doc/xml/manual/status_cxx2017.xml: Update status table. 2587*14f5a3b0Smrg * doc/html/*: Regenerate. 2588*14f5a3b0Smrg * include/Makefile.am: Add new header. 2589*14f5a3b0Smrg * include/Makefile.in: Regenerate. 2590*14f5a3b0Smrg * include/experimental/source_location: New header implementing N4519. 2591*14f5a3b0Smrg * testsuite/experimental/source_location/1.cc: New test. 2592*14f5a3b0Smrg 2593*14f5a3b0Smrg PR libstdc++/80285 2594*14f5a3b0Smrg * include/bits/shared_ptr_base.h [!__cpp_rtti] (type_info): Declare 2595*14f5a3b0Smrg outside versioned namespace. 2596*14f5a3b0Smrg 2597*14f5a3b0Smrg * configure: Regenerate. 2598*14f5a3b0Smrg 2599*14f5a3b0Smrg2017-05-16 Marc Glisse <marc.glisse@inria.fr> 2600*14f5a3b0Smrg 2601*14f5a3b0Smrg * include/std/optional (_Optional_base::_M_get): Check precondition. 2602*14f5a3b0Smrg * testsuite/20_util/optional/cons/value_neg.cc: Update line numbers. 2603*14f5a3b0Smrg 2604*14f5a3b0Smrg2017-05-16 Jonathan Wakely <jwakely@redhat.com> 2605*14f5a3b0Smrg 2606*14f5a3b0Smrg * doc/xml/manual/appendix_contributing.xml: Link to test docs and 2607*14f5a3b0Smrg note higher DejaGnu version requirement. 2608*14f5a3b0Smrg * doc/html/*: Regenerate. 2609*14f5a3b0Smrg 2610*14f5a3b0Smrg * doc/xml/manual/appendix_contributing.xml: Link to the list of bad 2611*14f5a3b0Smrg identifiers. 2612*14f5a3b0Smrg * doc/html/*: Regenerate. 2613*14f5a3b0Smrg 2614*14f5a3b0Smrg2017-05-15 Jonathan Wakely <jwakely@redhat.com> 2615*14f5a3b0Smrg 2616*14f5a3b0Smrg PR libstdc++/80761 2617*14f5a3b0Smrg * include/bits/node_handle.h (_Node_insert_return): Reorder members. 2618*14f5a3b0Smrg (tuple_size, tuple_element): Remove partial specializations. 2619*14f5a3b0Smrg * include/bits/stl_tree.h (_Rb_tree::insert_return_type): Use 2620*14f5a3b0Smrg const_iterator for std::set. 2621*14f5a3b0Smrg * testsuite/23_containers/map/modifiers/extract.cc: New. 2622*14f5a3b0Smrg * testsuite/23_containers/set/modifiers/extract.cc: New. 2623*14f5a3b0Smrg * testsuite/23_containers/unordered_map/modifiers/extract.cc: New. 2624*14f5a3b0Smrg * testsuite/23_containers/unordered_set/modifiers/extract.cc: New. 2625*14f5a3b0Smrg 2626*14f5a3b0Smrg2017-05-12 Jonathan Wakely <jwakely@redhat.com> 2627*14f5a3b0Smrg 2628*14f5a3b0Smrg PR libstdc++/78939 2629*14f5a3b0Smrg * include/std/utility (tuple_size<cv T>): Only define partial 2630*14f5a3b0Smrg specializations when tuple_size<T>::value is valid. 2631*14f5a3b0Smrg * testsuite/20_util/tuple/78939.cc: New. 2632*14f5a3b0Smrg * testsuite/20_util/tuple/cv_tuple_size_neg.cc: New. 2633*14f5a3b0Smrg 2634*14f5a3b0Smrg2017-05-11 François Dumont <fdumont@gcc.gnu.org> 2635*14f5a3b0Smrg 2636*14f5a3b0Smrg * include/bits/stl_tree.h [_GLIBCXX_INLINE_VERSION] 2637*14f5a3b0Smrg (_Rb_tree_impl<>): Remove _Is_pod_comparator 2638*14f5a3b0Smrg template parameter. 2639*14f5a3b0Smrg 2640*14f5a3b0Smrg * include/debug/formatter.h [_GLIBCXX_INLINE_VERSION] 2641*14f5a3b0Smrg (__gnu_debug::_Error_formatter::_Parameter::_M_print_field): Remove. 2642*14f5a3b0Smrg (__gnu_debug::_Error_formatter::_Parameter::_M_print_description): 2643*14f5a3b0Smrg Remove. 2644*14f5a3b0Smrg (__gnu_debug::_Error_formatter::_M_format_word): Remove. 2645*14f5a3b0Smrg (__gnu_debug::_Error_formatter::_M_print_word): Remove. 2646*14f5a3b0Smrg (__gnu_debug::_Error_formatter::_M_print_string): Remove. 2647*14f5a3b0Smrg (__gnu_debug::_Error_formatter::_M_get_max_length): Remove. 2648*14f5a3b0Smrg * src/c++11/debug.cc: Adapt. 2649*14f5a3b0Smrg * config/abi/pre/gnu-versioned-namespace.ver: Adapt. 2650*14f5a3b0Smrg 2651*14f5a3b0Smrg2017-05-11 Jonathan Wakely <jwakely@redhat.com> 2652*14f5a3b0Smrg 2653*14f5a3b0Smrg * doc/xml/manual/allocator.xml: Fix ViewCVS URLs. 2654*14f5a3b0Smrg * doc/xml/manual/mt_allocator.xml: Likewise. 2655*14f5a3b0Smrg * doc/html/*: Regenerate. 2656*14f5a3b0Smrg 2657*14f5a3b0Smrg PR libstdc++/80285 2658*14f5a3b0Smrg * include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Define 2659*14f5a3b0Smrg function to get unique fake std::type_info reference. 2660*14f5a3b0Smrg (_Sp_counted_ptr_inplace::_M_get_deleter) [!__cpp_rtti]: Compare to 2661*14f5a3b0Smrg _S_ti() fake reference. 2662*14f5a3b0Smrg (__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Share 2663*14f5a3b0Smrg single implementation with or without RTTI enable. 2664*14f5a3b0Smrg [!__cpp_rtti]: Pass fake reference to _M_get_deleter. 2665*14f5a3b0Smrg * testsuite/20_util/shared_ptr/creation/alloc.cc: Change expected 2666*14f5a3b0Smrg allocation and deallocation counts. 2667*14f5a3b0Smrg * testsuite/20_util/shared_ptr/creation/single_allocation.cc: New. 2668*14f5a3b0Smrg * testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc: 2669*14f5a3b0Smrg New. 2670*14f5a3b0Smrg 2671*14f5a3b0Smrg2017-05-10 François Dumont <fdumont@gcc.gnu.org> 2672*14f5a3b0Smrg 2673*14f5a3b0Smrg Bump version namespace. 2674*14f5a3b0Smrg * config/abi/pre/gnu-versioned-namespace.ver: Bump version namespace 2675*14f5a3b0Smrg from __7 to __8. Bump GLIBCXX_7.0 to GLIBCXX_8.0. 2676*14f5a3b0Smrg * acinclude.m4 (libtool_VERSION): Bump to 8:0:0. 2677*14f5a3b0Smrg * include/bits/c++config: Adapt. 2678*14f5a3b0Smrg * include/bits/regex.h: Adapt. 2679*14f5a3b0Smrg * include/experimental/bits/fs_fwd.h: Adapt. 2680*14f5a3b0Smrg * include/experimental/bits/lfts_config.h: Adapt. 2681*14f5a3b0Smrg * include/std/variant: Adapt. 2682*14f5a3b0Smrg * python/libstdcxx/v6/printers.py: Adapt. 2683*14f5a3b0Smrg * testsuite/libstdc++-prettyprinters/48362.cc: Adapt. 2684*14f5a3b0Smrg 2685*14f5a3b0Smrg * include/bits/stl_algobase.h (std::__iter_swap<false>): Remove 2686*14f5a3b0Smrg _GLIBCXX_MOVE usage. 2687*14f5a3b0Smrg 2688*14f5a3b0Smrg2017-05-09 Jason Merrill <jason@redhat.com> 2689*14f5a3b0Smrg 2690*14f5a3b0Smrg * testsuite/24_iterators/container_access.cc (test03): Make il3 static. 2691*14f5a3b0Smrg 2692*14f5a3b0Smrg2017-05-08 Jonathan Wakely <jwakely@redhat.com> 2693*14f5a3b0Smrg 2694*14f5a3b0Smrg * include/std/optional: Use a separate static_assert per condition. 2695*14f5a3b0Smrg * testsuite/20_util/optional/cons/value_neg.cc: Update dg-error line 2696*14f5a3b0Smrg numbers. 2697*14f5a3b0Smrg 2698*14f5a3b0Smrg * doc/xml/manual/mt_allocator.xml: Clarify deallocation behaviour. 2699*14f5a3b0Smrg * doc/html/*: Regenerate. 2700*14f5a3b0Smrg 2701*14f5a3b0Smrg2017-05-02 Hugo Beauzée-Luyssen <hugo@beauzee.fr> 2702*14f5a3b0Smrg 2703*14f5a3b0Smrg PR libstdc++/69506 2704*14f5a3b0Smrg * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. 2705*14f5a3b0Smrg 2706*14f5a3b0Smrg2017-04-29 François Dumont <fdumont@gcc.gnu.org> 2707*14f5a3b0Smrg 2708*14f5a3b0Smrg * testsuite/libstdc++-prettyprinters/48362.cc: Replace a regexp-test 2709*14f5a3b0Smrg by a note-test. 2710*14f5a3b0Smrg 2711*14f5a3b0Smrg2017-04-28 Jonathan Wakely <jwakely@redhat.com> 2712*14f5a3b0Smrg 2713*14f5a3b0Smrg PR libstdc++/80553 2714*14f5a3b0Smrg * include/bits/stl_construct.h (_Destroy, _Destroy_n): Add static 2715*14f5a3b0Smrg assertions to ensure type is destructible. 2716*14f5a3b0Smrg (destroy_at, destroy, destroy_n): Move from stl_uninitialized.h. 2717*14f5a3b0Smrg * include/bits/stl_uninitialized.h (destroy_at, destroy, destroy_n): 2718*14f5a3b0Smrg Move to stl_construct.h. 2719*14f5a3b0Smrg * testsuite/20_util/specialized_algorithms/memory_management_tools/ 2720*14f5a3b0Smrg destroy_neg.cc: New test. 2721*14f5a3b0Smrg * testsuite/23_containers/vector/cons/destructible_neg.cc: New test. 2722*14f5a3b0Smrg 2723*14f5a3b0Smrg * testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Remove 2724*14f5a3b0Smrg superfluous "" in dg-error. 2725*14f5a3b0Smrg 2726*14f5a3b0Smrg2017-04-28 Tom de Vries <tom@codesourcery.com> 2727*14f5a3b0Smrg 2728*14f5a3b0Smrg * testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Remove 2729*14f5a3b0Smrg superfluous '{ target *-*-* }' in dg-(error|warning|message|bogus). 2730*14f5a3b0Smrg 2731*14f5a3b0Smrg2017-04-27 Jonathan Wakely <jwakely@redhat.com> 2732*14f5a3b0Smrg 2733*14f5a3b0Smrg * include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp 2734*14f5a3b0Smrg (PB_DS_CLASS_C_DEC::end()): Remove redundant const in cast type. 2735*14f5a3b0Smrg * testsuite/util/testsuite_rng.h (twister_rand_gen::get_prob()): 2736*14f5a3b0Smrg Likewise. 2737*14f5a3b0Smrg 2738*14f5a3b0Smrg2017-04-26 Jonathan Wakely <jwakely@redhat.com> 2739*14f5a3b0Smrg 2740*14f5a3b0Smrg * testsuite/23_containers/deque/allocator/move_assign-2.cc: Improve 2741*14f5a3b0Smrg comment. Ensure first test works because allocator type propagates and 2742*14f5a3b0Smrg not because is_always_equal is true. 2743*14f5a3b0Smrg * testsuite/23_containers/vector/52591.cc: Likewise. Restore original 2744*14f5a3b0Smrg testcase that instantiates the move-assignment operator. 2745*14f5a3b0Smrg 2746*14f5a3b0Smrg2017-04-24 Jonathan Wakely <jwakely@redhat.com> 2747*14f5a3b0Smrg 2748*14f5a3b0Smrg PR libstdc++/80506 2749*14f5a3b0Smrg * include/bits/random.tcc (gamma_distribution::operator()): Fix magic 2750*14f5a3b0Smrg number used in loop condition. 2751*14f5a3b0Smrg 2752*14f5a3b0Smrg PR libstdc++/80504 2753*14f5a3b0Smrg * include/bits/refwrap.h (ref, cref): Qualify calls. 2754*14f5a3b0Smrg * testsuite/20_util/reference_wrapper/80504.cc: New test. 2755*14f5a3b0Smrg 2756*14f5a3b0Smrg PR libstdc++/80493 2757*14f5a3b0Smrg * include/experimental/optional (optional::swap): Fix exception 2758*14f5a3b0Smrg specification. 2759*14f5a3b0Smrg 2760*14f5a3b0Smrg2017-04-21 Jonathan Wakely <jwakely@redhat.com> 2761*14f5a3b0Smrg 2762*14f5a3b0Smrg PR libstdc++/80316 2763*14f5a3b0Smrg * include/std/future (_State_baseV2::_Setter::operator()): Remove 2764*14f5a3b0Smrg _S_check calls that are done after the pointer to the shared state is 2765*14f5a3b0Smrg already dereferenced. 2766*14f5a3b0Smrg (_State_baseV2::_Setter<_Res, void>): Define specialization for void 2767*14f5a3b0Smrg as partial specialization so it can be defined within the definition 2768*14f5a3b0Smrg of _State_baseV2. 2769*14f5a3b0Smrg (_State_baseV2::__setter): Call _S_check. 2770*14f5a3b0Smrg (_State_baseV2::__setter(promise<void>*)): Add overload for use by 2771*14f5a3b0Smrg promise<void>::set_value and promise<void>::set_value_at_thread_exit. 2772*14f5a3b0Smrg (promise<T>, promise<T&>, promise<void>): Make _State a friend. 2773*14f5a3b0Smrg (_State_baseV2::_Setter<void, void>): Remove explicit specialization. 2774*14f5a3b0Smrg (promise<void>::set_value, promise<void>::set_value_at_thread_exit): 2775*14f5a3b0Smrg Use new __setter overload. 2776*14f5a3b0Smrg * testsuite/30_threads/promise/members/at_thread_exit2.cc: New test. 2777*14f5a3b0Smrg * testsuite/30_threads/promise/members/set_exception.cc: Test 2778*14f5a3b0Smrg promise<T&> and promise<void> specializations. 2779*14f5a3b0Smrg * testsuite/30_threads/promise/members/set_exception2.cc: Likewise. 2780*14f5a3b0Smrg Test for no_state error condition. 2781*14f5a3b0Smrg * testsuite/30_threads/promise/members/set_value2.cc: Likewise. 2782*14f5a3b0Smrg 2783*14f5a3b0Smrg * include/backward/auto_ptr.h: Ignore deprecated warnings from use 2784*14f5a3b0Smrg of auto_ptr. 2785*14f5a3b0Smrg * include/bits/shared_ptr.h: Likewise. 2786*14f5a3b0Smrg * include/bits/shared_ptr_base.h: Likewise. 2787*14f5a3b0Smrg * include/bits/unique_ptr.h: Likewise. 2788*14f5a3b0Smrg * libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc: Adjust 2789*14f5a3b0Smrg dg-error lineno. 2790*14f5a3b0Smrg * libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc: Likewise. 2791*14f5a3b0Smrg * libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc: 2792*14f5a3b0Smrg Likewise. 2793*14f5a3b0Smrg * libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: 2794*14f5a3b0Smrg Likewise. 2795*14f5a3b0Smrg 2796*14f5a3b0Smrg2017-04-20 Edward Smith-Rowland <3dw4rd@verizon.net> 2797*14f5a3b0Smrg 2798*14f5a3b0Smrg PR libstdc++/68397 std::tr1::expint fails ... long double arguments. 2799*14f5a3b0Smrg * include/tr1/exp_integral.tcc: Increase iteration limits. 2800*14f5a3b0Smrg * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ 2801*14f5a3b0Smrg pr68397.cc: New test. 2802*14f5a3b0Smrg * testsuite/special_functions/14_expint/pr68397.cc: New test. 2803*14f5a3b0Smrg 2804*14f5a3b0Smrg2017-04-20 Jonathan Wakely <jwakely@redhat.com> 2805*14f5a3b0Smrg 2806*14f5a3b0Smrg PR libstdc++/79862 2807*14f5a3b0Smrg * include/std/atomic [!_GLIBCXX_USE_C99_STDINT_TR1] (atomic_int8_t) 2808*14f5a3b0Smrg (atomic_uint8_t, atomic_int16_t, atomic_uint16_t, atomic_int32_t, 2809*14f5a3b0Smrg (atomic_uint32_t, atomic_int64_t, atomic_uint64_t) 2810*14f5a3b0Smrg (atomic_int_least8_t, atomic_uint_least8_t, atomic_int_least16_t) 2811*14f5a3b0Smrg (atomic_uint_least16_t, atomic_int_least32_t, atomic_uint_least32_t) 2812*14f5a3b0Smrg (atomic_int_least64_t, atomic_uint_least64_t, atomic_int_fast8_t) 2813*14f5a3b0Smrg (atomic_uint_fast8_t, atomic_int_fast16_t, atomic_uint_fast16_t) 2814*14f5a3b0Smrg (atomic_int_fast32_t, atomic_uint_fast32_t, atomic_int_fast64_t) 2815*14f5a3b0Smrg (atomic_uint_fast64_t, atomic_intmax_t, atomic_uintmax_t): Don't 2816*14f5a3b0Smrg define. 2817*14f5a3b0Smrg 2818*14f5a3b0Smrg2017-04-19 Jonathan Wakely <jwakely@redhat.com> 2819*14f5a3b0Smrg 2820*14f5a3b0Smrg * doc/xml/manual/abi.xml: Rephrase one of the references to the 2821*14f5a3b0Smrg Itanium C++ ABI. 2822*14f5a3b0Smrg * doc/xml/manual/test.xml: Document DejaGnu 1.5.3 requirement. 2823*14f5a3b0Smrg * doc/html/*: Regenerate. 2824*14f5a3b0Smrg 2825*14f5a3b0Smrg * libsupc++/new: Update comment on #endif directive. 2826*14f5a3b0Smrg 2827*14f5a3b0Smrg PR libstdc++/80448 2828*14f5a3b0Smrg * include/experimental/bits/fs_dir.h (directory_iterator) 2829*14f5a3b0Smrg (recursive_directory_iterator): Remove noexcept from defaulted 2830*14f5a3b0Smrg constructors. 2831*14f5a3b0Smrg 2832*14f5a3b0Smrg PR libstdc++/80446 2833*14f5a3b0Smrg * include/std/type_traits (is_aggregate): Change __has_builtin checks. 2834*14f5a3b0Smrg * libsupc++/new (launder): Likewise. 2835*14f5a3b0Smrg 2836*14f5a3b0Smrg2017-04-18 Jonathan Wakely <jwakely@redhat.com> 2837*14f5a3b0Smrg 2838*14f5a3b0Smrg * include/std/functional (default_searcher, __boyer_moore_array_base) 2839*14f5a3b0Smrg (__is_std_equal_to, __boyer_moore_base_t, boyer_moore_searcher) 2840*14f5a3b0Smrg (boyer_moore_horspool_searcher): Remove redundant namespace 2841*14f5a3b0Smrg qualification. 2842*14f5a3b0Smrg (default_searcher::operator()): Construct return value early and 2843*14f5a3b0Smrg advance second member in-place. 2844*14f5a3b0Smrg (boyer_moore_horspool_searcher::operator()): Increment random access 2845*14f5a3b0Smrg iterator directly instead of using std::next. 2846*14f5a3b0Smrg (boyer_moore_searcher::operator()): Fix return value. 2847*14f5a3b0Smrg * testsuite/20_util/function_objects/searchers.cc: Check both parts 2848*14f5a3b0Smrg of return values. 2849*14f5a3b0Smrg 2850*14f5a3b0Smrg2017-04-12 Gerald Pfeifer <gerald@pfeifer.com> 2851*14f5a3b0Smrg 2852*14f5a3b0Smrg * doc/xml/faq.xml: Update reference link to C++ ABI for Itanium. 2853*14f5a3b0Smrg * doc/xml/manual/abi.xml. Ditto (thrice). 2854*14f5a3b0Smrg 2855*14f5a3b0Smrg2017-04-03 Jonathan Wakely <jwakely@redhat.com> 2856*14f5a3b0Smrg 2857*14f5a3b0Smrg * doc/xml/manual/status_cxx2017.xml: Remove duplicate table entry. 2858*14f5a3b0Smrg * doc/html/*: Regenerate. 2859*14f5a3b0Smrg 2860*14f5a3b0Smrg * testsuite/20_util/reference_wrapper/invoke.cc: Uncomment tests 2861*14f5a3b0Smrg that no longer fail. 2862*14f5a3b0Smrg 2863*14f5a3b0Smrg * include/bits/ios_base.h: Correct comment. 2864*14f5a3b0Smrg * testsuite/util/testsuite_hooks.h: Likewise. 2865*14f5a3b0Smrg 2866*14f5a3b0Smrg * doc/xml/manual/status_cxx2017.xml: Update C++17 status table. 2867*14f5a3b0Smrg * doc/xml/manual/appendix_contributing.xml (contrib.organization): Add 2868*14f5a3b0Smrg directories for debug, parallel and profile headers. 2869*14f5a3b0Smrg * doc/html/*: Regenerate. 2870*14f5a3b0Smrg 2871*14f5a3b0Smrg * include/bits/char_traits.h (__gnu_cxx::char_traits): Add 2872*14f5a3b0Smrg _GLIBCXX14_CONSTEXPR on assign, compare, find, and length. 2873*14f5a3b0Smrg (std::char_traits<char>, std::char_traits<wchar_t>): Add 2874*14f5a3b0Smrg _GLIBCXX17_CONSTEXPR on assign. 2875*14f5a3b0Smrg (std::char_traits<char16_t>, std::char_traits<char32_t>): Add 2876*14f5a3b0Smrg _GLIBCXX17_CONSTEXPR on assign, compare, find, and length. 2877*14f5a3b0Smrg * testsuite/21_strings/char_traits/requirements/ 2878*14f5a3b0Smrg constexpr_functions_c++17.cc: New test. 2879*14f5a3b0Smrg 2880*14f5a3b0Smrg2017-04-03 Ville Voutilainen <ville.voutilainen@gmail.com> 2881*14f5a3b0Smrg 2882*14f5a3b0Smrg PR libstdc++/79141 2883*14f5a3b0Smrg * include/bits/stl_pair.h (__nonesuch_no_braces): New. 2884*14f5a3b0Smrg (operator=(typename conditional< 2885*14f5a3b0Smrg __and_<is_copy_assignable<_T1>, 2886*14f5a3b0Smrg is_copy_assignable<_T2>>::value, 2887*14f5a3b0Smrg const pair&, const __nonesuch&>::type)): Change __nonesuch 2888*14f5a3b0Smrg to __nonesuch_no_braces. 2889*14f5a3b0Smrg (operator=(typename conditional< 2890*14f5a3b0Smrg __not_<__and_<is_copy_assignable<_T1>, 2891*14f5a3b0Smrg is_copy_assignable<_T2>>>::value, 2892*14f5a3b0Smrg const pair&, const __nonesuch&>::type)): Likewise. 2893*14f5a3b0Smrg (operator=(typename conditional< 2894*14f5a3b0Smrg __and_<is_move_assignable<_T1>, 2895*14f5a3b0Smrg is_move_assignable<_T2>>::value, 2896*14f5a3b0Smrg pair&&, __nonesuch&&>::type)): Likewise. 2897*14f5a3b0Smrg * testsuite/20_util/pair/79141.cc: New. 2898*14f5a3b0Smrg 2899*14f5a3b0Smrg2017-04-03 Ville Voutilainen <ville.voutilainen@gmail.com> 2900*14f5a3b0Smrg 2901*14f5a3b0Smrg Implement std::is_aggregate. 2902*14f5a3b0Smrg * include/std/type_traits (is_aggregate, is_aggregate_v): New. 2903*14f5a3b0Smrg * testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc: 2904*14f5a3b0Smrg New. 2905*14f5a3b0Smrg * testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise. 2906*14f5a3b0Smrg * testsuite/20_util/is_aggregate/value.cc: Likewise. 2907*14f5a3b0Smrg 2908*14f5a3b0Smrg2017-03-29 Ville Voutilainen <ville.voutilainen@gmail.com> 2909*14f5a3b0Smrg 2910*14f5a3b0Smrg Adjust optional's pretty printer for LWG 2900. 2911*14f5a3b0Smrg * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter.__init__): 2912*14f5a3b0Smrg Look at the nested payload in case of non-experimental optional. 2913*14f5a3b0Smrg 2914*14f5a3b0Smrg2017-03-29 Ville Voutilainen <ville.voutilainen@gmail.com> 2915*14f5a3b0Smrg 2916*14f5a3b0Smrg Implement LWG 2900, The copy and move constructors 2917*14f5a3b0Smrg of optional are not constexpr. 2918*14f5a3b0Smrg * include/std/optional (_Optional_payload): New. 2919*14f5a3b0Smrg (_Optional_base): Remove the bool parameter. 2920*14f5a3b0Smrg (_Optional_base<_Tp, false>): Remove. 2921*14f5a3b0Smrg (_Optional_base()): Adjust. 2922*14f5a3b0Smrg (_Optional_base(nullopt_t)): Likewise. 2923*14f5a3b0Smrg (_Optional_base(in_place_t, _Args&&...)): Likewise. 2924*14f5a3b0Smrg (_Optional_base(in_place_t, initializer_list<_Up>, _Args&&...)): 2925*14f5a3b0Smrg Likewise. 2926*14f5a3b0Smrg (_Optional_base(const _Optional_base&)): Likewise. 2927*14f5a3b0Smrg (_Optional_base(_Optional_base&&)): Likewise. 2928*14f5a3b0Smrg (operator=(const _Optional_base&)): Likewise. 2929*14f5a3b0Smrg (operator=(_Optional_base&&)): Likewise. 2930*14f5a3b0Smrg (~_Optional_base()): Remove. 2931*14f5a3b0Smrg (_M_is_engaged()): Adjust. 2932*14f5a3b0Smrg (_M_get()): Likewise. 2933*14f5a3b0Smrg (_M_construct(_Args&&...)): Likewise. 2934*14f5a3b0Smrg (_M_destruct()): Likewise. 2935*14f5a3b0Smrg (_M_reset()): Likewise. 2936*14f5a3b0Smrg (_Optional_base::_Empty_byte): Remove. 2937*14f5a3b0Smrg (_Optional_base::_M_empty): Remove. 2938*14f5a3b0Smrg (_Optional_base::_M_payload): Adjust. 2939*14f5a3b0Smrg * testsuite/20_util/optional/cons/value_neg.cc: Adjust. 2940*14f5a3b0Smrg * testsuite/20_util/optional/constexpr/cons/value.cc: Add tests. 2941*14f5a3b0Smrg 2942*14f5a3b0Smrg2017-03-28 Jonathan Wakely <jwakely@redhat.com> 2943*14f5a3b0Smrg 2944*14f5a3b0Smrg PR libstdc++/80137 2945*14f5a3b0Smrg * include/bits/random.tcc (generate_canonical): Use std::nextafter 2946*14f5a3b0Smrg or numeric_limits::epsilon() to reduce out-of-range values. 2947*14f5a3b0Smrg * testsuite/26_numerics/random/uniform_real_distribution/operators/ 2948*14f5a3b0Smrg 64351.cc: Verify complexity requirement is met. 2949*14f5a3b0Smrg 2950*14f5a3b0Smrg * doc/xml/manual/abi.xml: Add xml:id anchor. 2951*14f5a3b0Smrg * doc/xml/manual/using.xml (manual.intro.using.macros): Document 2952*14f5a3b0Smrg _GLIBCXX_RELEASE. Link to new anchor for __GLIBCXX__ notes. 2953*14f5a3b0Smrg (concurrency.io.structure): Add markup. 2954*14f5a3b0Smrg * doc/html/*: Regenerate. 2955*14f5a3b0Smrg 2956*14f5a3b0Smrg PR libstdc++/80229 2957*14f5a3b0Smrg * include/bits/shared_ptr_base.h 2958*14f5a3b0Smrg (__shared_ptr::_M_enable_shared_from_this_with): Change parameters to 2959*14f5a3b0Smrg non-const and then use remove_cv to get unqualified type. 2960*14f5a3b0Smrg * testsuite/20_util/enable_shared_from_this/members/const.cc: Don't 2961*14f5a3b0Smrg cast away constness on object created const. 2962*14f5a3b0Smrg * testsuite/20_util/shared_ptr/cons/80229.cc: New test. 2963*14f5a3b0Smrg 2964*14f5a3b0Smrg2017-03-26 Markus Trippelsdorf <markus@trippelsdorf.de> 2965*14f5a3b0Smrg 2966*14f5a3b0Smrg PR libstdc++/80183 2967*14f5a3b0Smrg * include/bits/stl_tree.h: 2968*14f5a3b0Smrg (_Rb_tree_header::_M_move_data(_Rb_tree_header&)): Also save _M_color. 2969*14f5a3b0Smrg 2970*14f5a3b0Smrg2017-03-23 Jonathan Wakely <jwakely@redhat.com> 2971*14f5a3b0Smrg 2972*14f5a3b0Smrg * testsuite/23_containers/array/tuple_interface/ 2973*14f5a3b0Smrg tuple_element_debug_neg.cc: Adjust dg-error. 2974*14f5a3b0Smrg * testsuite/23_containers/list/operations/78389.cc: Fix less-than to 2975*14f5a3b0Smrg define a valid strict weak ordering. 2976*14f5a3b0Smrg * testsuite/23_containers/priority_queue/67085.cc: Disable test for 2977*14f5a3b0Smrg Debug Mode, due to debug checks making extra copies of predicate. 2978*14f5a3b0Smrg * testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc: 2979*14f5a3b0Smrg Likewise. 2980*14f5a3b0Smrg 2981*14f5a3b0Smrg * doc/xml/faq.xml: Add link. 2982*14f5a3b0Smrg * doc/xml/manual/backwards_compatibility.xml: Remove outdated 2983*14f5a3b0Smrg information on pre-ISO headers. Replace broken link to C++ FAQ Lite. 2984*14f5a3b0Smrg * doc/xml/manual/io.xml: Update broken link. 2985*14f5a3b0Smrg * doc/html/*: Regenerate. 2986*14f5a3b0Smrg 2987*14f5a3b0Smrg2017-03-23 Daniel Kruegler <daniel.kruegler@gmail.com> 2988*14f5a3b0Smrg 2989*14f5a3b0Smrg Implement LWG 2686, Why is std::hash specialized for error_code, 2990*14f5a3b0Smrg but not error_condition? 2991*14f5a3b0Smrg * include/std/system_error (hash<error_condition>): Define for C++17. 2992*14f5a3b0Smrg * testsuite/20_util/hash/operators/size_t.cc (hash<error_condition>): 2993*14f5a3b0Smrg Instantiate test for error_condition. 2994*14f5a3b0Smrg * testsuite/20_util/hash/requirements/explicit_instantiation.cc 2995*14f5a3b0Smrg (hash<error_condition>): Instantiate hash<error_condition>. 2996*14f5a3b0Smrg 2997*14f5a3b0Smrg * include/bits/c++config (_GLIBCXX17_INLINE): Define. 2998*14f5a3b0Smrg * include/bits/regex_constants.h (All std::regex_constants constants): 2999*14f5a3b0Smrg Add _GLIBCXX17_INLINE as per P0607R0. 3000*14f5a3b0Smrg * include/bits/std_mutex.h (defer_lock, try_to_lock, adopt_lock): 3001*14f5a3b0Smrg Likewise. 3002*14f5a3b0Smrg * include/bits/stl_pair.h (piecewise_construct): Likewise. 3003*14f5a3b0Smrg * include/bits/uses_allocator.h (allocator_arg, uses_allocator_v) 3004*14f5a3b0Smrg (__is_uses_allocator_constructible_v) 3005*14f5a3b0Smrg (__is_nothrow_uses_allocator_constructible_v): Likewise. 3006*14f5a3b0Smrg * include/std/chrono (treat_as_floating_point_v): Likewise. 3007*14f5a3b0Smrg * include/std/functional (is_bind_expression_v, is_placeholder_v): 3008*14f5a3b0Smrg Likewise. 3009*14f5a3b0Smrg * include/std/optional (nullopt): Likewise. 3010*14f5a3b0Smrg * include/std/ratio (ratio_equal_v, ratio_not_equal_v, ratio_less_v) 3011*14f5a3b0Smrg ratio_less_equal_v, ratio_greater_v, ratio_greater_equal_v): Likewise. 3012*14f5a3b0Smrg * include/std/system_error (is_error_code_enum_v) 3013*14f5a3b0Smrg (is_error_condition_enum_v): Likewise. 3014*14f5a3b0Smrg * include/std/tuple (tuple_size_v, ignore): Likewise. 3015*14f5a3b0Smrg (ignore): Declare ignore constexpr as per LWG 2773, declare assignment 3016*14f5a3b0Smrg constexpr as per LWG 2933. 3017*14f5a3b0Smrg * include/std/type_traits (All variable templates): Add 3018*14f5a3b0Smrg _GLIBCXX17_INLINE as per P0607R0. 3019*14f5a3b0Smrg * include/std/variant (variant_size_v, variant_npos, __index_of_v) 3020*14f5a3b0Smrg (__tuple_count_v, __exactly_once): Likewise. 3021*14f5a3b0Smrg * testsuite/18_support/headers/new/synopsis.cc 3022*14f5a3b0Smrg (hardware_destructive_interference_size) 3023*14f5a3b0Smrg (hardware_constructive_interference_size): Likewise for commented-out 3024*14f5a3b0Smrg variables. 3025*14f5a3b0Smrg * testsuite/20_util/tuple/creation_functions/constexpr.cc: Add new 3026*14f5a3b0Smrg test function for constexpr std::ignore (LWG 2773). 3027*14f5a3b0Smrg * testsuite/20_util/tuple/creation_functions/constexpr_cpp14.cc: New 3028*14f5a3b0Smrg test for LWG 2933. 3029*14f5a3b0Smrg 3030*14f5a3b0Smrg2017-03-22 Jonathan Wakely <jwakely@redhat.com> 3031*14f5a3b0Smrg 3032*14f5a3b0Smrg * include/bits/shared_ptr.h (shared_ptr, weak_ptr): Add deduction 3033*14f5a3b0Smrg guides for C++17. 3034*14f5a3b0Smrg * include/bits/std_function.h (function): Likewise. 3035*14f5a3b0Smrg * include/bits/stl_pair.h (pair): Likewise. 3036*14f5a3b0Smrg * include/debug/array (__gnu_debug::array): Likewise. 3037*14f5a3b0Smrg * include/std/array (array): Likewise. 3038*14f5a3b0Smrg * include/std/functional (make_default_searcher) 3039*14f5a3b0Smrg (make_boyer_moore_searcher, make_boyer_moore_horspool_searcher): 3040*14f5a3b0Smrg Remove generator functions. 3041*14f5a3b0Smrg * include/std/tuple (tuple): Add deduction guides. 3042*14f5a3b0Smrg * include/std/valarray (valarray): Likewise. 3043*14f5a3b0Smrg * testsuite/20_util/function_objects/searchers.cc: Adjust to use 3044*14f5a3b0Smrg class template argument deduction instead of generator functions. 3045*14f5a3b0Smrg * testsuite/20_util/function/cons/deduction.cc: New test. 3046*14f5a3b0Smrg * testsuite/20_util/optional/cons/deduction_guide.cc: Rename to ... 3047*14f5a3b0Smrg * testsuite/20_util/optional/cons/deduction.cc: ... here. 3048*14f5a3b0Smrg * testsuite/20_util/pair/cons/deduction.cc: New test. 3049*14f5a3b0Smrg * testsuite/20_util/shared_ptr/cons/deduction.cc: New test. 3050*14f5a3b0Smrg * testsuite/20_util/tuple/cons/deduction.cc: New test. 3051*14f5a3b0Smrg * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error. 3052*14f5a3b0Smrg * testsuite/20_util/unique_ptr/cons/deduction_neg.cc: New test. 3053*14f5a3b0Smrg * testsuite/20_util/weak_ptr/cons/deduction.cc: New test. 3054*14f5a3b0Smrg * testsuite/23_containers/array/cons/deduction.cc: New test. 3055*14f5a3b0Smrg * testsuite/23_containers/array/cons/deduction_neg.cc: New test. 3056*14f5a3b0Smrg * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: 3057*14f5a3b0Smrg Adjust dg-error. 3058*14f5a3b0Smrg * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise. 3059*14f5a3b0Smrg * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: 3060*14f5a3b0Smrg Likewise. 3061*14f5a3b0Smrg * testsuite/26_numerics/valarray/deduction.cc: New test. 3062*14f5a3b0Smrg * testsuite/30_threads/lock_guard/cons/deduction.cc: New test. 3063*14f5a3b0Smrg * testsuite/30_threads/scoped_lock/cons/deduction.cc: New test. 3064*14f5a3b0Smrg * testsuite/30_threads/unique_lock/cons/deduction.cc: New test. 3065*14f5a3b0Smrg 3066*14f5a3b0Smrg2017-03-20 François Dumont <fdumont@gcc.gnu.org> 3067*14f5a3b0Smrg 3068*14f5a3b0Smrg * include/bits/stl_deque.h (deque): Access allocator value_type only if 3069*14f5a3b0Smrg concept checks are enabled. 3070*14f5a3b0Smrg * include/bits/stl_stack.h (stack): Likewise. 3071*14f5a3b0Smrg * include/bits/stl_vector.h (vector): Likewise. 3072*14f5a3b0Smrg * include/bits/stl_list.h (list): Likewise and check 3073*14f5a3b0Smrg _SGIAssignableConcept only in C++03. 3074*14f5a3b0Smrg * include/bits/stl_map.h (map): Likewise. 3075*14f5a3b0Smrg * include/bits/stl_set.h (set): Likewise. 3076*14f5a3b0Smrg * include/bits/stl_multimap.h (multimap): Likewise. 3077*14f5a3b0Smrg * include/bits/stl_multiset.h (multiset): Likewise. 3078*14f5a3b0Smrg * include/bits/stl_queue.h (queue, priority_queue): Likewise. 3079*14f5a3b0Smrg 3080*14f5a3b0Smrg2017-03-18 Gerald Pfeifer <gerald@pfeifer.com> 3081*14f5a3b0Smrg 3082*14f5a3b0Smrg * doc/xml/manual/appendix_contributing.xml: Convert link to 3083*14f5a3b0Smrg ansi.org to https. 3084*14f5a3b0Smrg Update link to the C++ standard at ansi.org. 3085*14f5a3b0Smrg 3086*14f5a3b0Smrg * doc/xml/faq.xml: Remove information redundant with the above; 3087*14f5a3b0Smrg instead add a reference. 3088*14f5a3b0Smrg 3089*14f5a3b0Smrg2017-03-17 Jonathan Wakely <jwakely@redhat.com> 3090*14f5a3b0Smrg 3091*14f5a3b0Smrg * src/c++11/codecvt.cc (range): Add non-type template parameter and 3092*14f5a3b0Smrg define oerloaded operators for reading and writing code units. 3093*14f5a3b0Smrg (range<Elem, false>): Define partial specialization for accessing 3094*14f5a3b0Smrg wide characters in potentially unaligned byte ranges. 3095*14f5a3b0Smrg (ucs2_span(const char16_t*, const char16_t*, ...)) 3096*14f5a3b0Smrg (ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters 3097*14f5a3b0Smrg to range<const char16_t, false> in order to avoid unaligned reads. 3098*14f5a3b0Smrg (__codecvt_utf16_base<char16_t>::do_out) 3099*14f5a3b0Smrg (__codecvt_utf16_base<char32_t>::do_out) 3100*14f5a3b0Smrg (__codecvt_utf16_base<wchar_t>::do_out): Use range specialization for 3101*14f5a3b0Smrg unaligned data to avoid unaligned writes. 3102*14f5a3b0Smrg (__codecvt_utf16_base<char16_t>::do_in) 3103*14f5a3b0Smrg (__codecvt_utf16_base<char32_t>::do_in) 3104*14f5a3b0Smrg (__codecvt_utf16_base<wchar_t>::do_in): Likewise for writes. Return 3105*14f5a3b0Smrg error if there are unprocessable trailing bytes. 3106*14f5a3b0Smrg (__codecvt_utf16_base<char16_t>::do_length) 3107*14f5a3b0Smrg (__codecvt_utf16_base<char32_t>::do_length) 3108*14f5a3b0Smrg (__codecvt_utf16_base<wchar_t>::do_length): Pass arguments of type 3109*14f5a3b0Smrg range<const char16_t, false> to span functions. 3110*14f5a3b0Smrg * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test. 3111*14f5a3b0Smrg 3112*14f5a3b0Smrg2017-03-16 Jonathan Wakely <jwakely@redhat.com> 3113*14f5a3b0Smrg 3114*14f5a3b0Smrg PR libstdc++/79980 3115*14f5a3b0Smrg * src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type. 3116*14f5a3b0Smrg 3117*14f5a3b0Smrg PR libstdc++/80041 3118*14f5a3b0Smrg * src/c++11/codecvt.cc (__codecvt_utf16_base<wchar_t>::do_out) 3119*14f5a3b0Smrg (__codecvt_utf16_base<wchar_t>::do_in): Convert char arguments to 3120*14f5a3b0Smrg char16_t to work with UTF-16 instead of UTF-8. 3121*14f5a3b0Smrg * testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test. 3122*14f5a3b0Smrg 3123*14f5a3b0Smrg * src/c++11/codecvt.cc (codecvt<char16_t, char, mbstate_t>) 3124*14f5a3b0Smrg (codecvt<char32_t, char, mbstate_t>, __codecvt_utf8_base<char16_t>) 3125*14f5a3b0Smrg (__codecvt_utf8_base<char32_t>, __codecvt_utf8_base<wchar_t>) 3126*14f5a3b0Smrg (__codecvt_utf16_base<char16_t>, __codecvt_utf16_base<char32_t>) 3127*14f5a3b0Smrg (__codecvt_utf16_base<wchar_t>, __codecvt_utf8_utf16_base<char16_t>) 3128*14f5a3b0Smrg (__codecvt_utf8_utf16_base<char32_t>) 3129*14f5a3b0Smrg (__codecvt_utf8_utf16_base<wchar_t>): Fix do_encoding() and 3130*14f5a3b0Smrg do_max_length() return values. 3131*14f5a3b0Smrg * testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test. 3132*14f5a3b0Smrg * testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test. 3133*14f5a3b0Smrg * testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test. 3134*14f5a3b0Smrg 3135*14f5a3b0Smrg PR libstdc++/79980 3136*14f5a3b0Smrg * include/bits/locale_conv.h (__do_str_codecvt): Set __count on 3137*14f5a3b0Smrg error path. 3138*14f5a3b0Smrg * src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads 3139*14f5a3b0Smrg for manipulating codecvt_mode values. 3140*14f5a3b0Smrg (read_utf16_bom): Compare input to BOM constants instead of integral 3141*14f5a3b0Smrg constants that depend on endianness. Take mode parameter by 3142*14f5a3b0Smrg reference and adjust it, to distinguish between no BOM present and 3143*14f5a3b0Smrg UTF-16BE BOM present. 3144*14f5a3b0Smrg (ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom. 3145*14f5a3b0Smrg (surrogates): New enumeration type. 3146*14f5a3b0Smrg (utf16_in, utf16_out): Add surrogates parameter to choose between 3147*14f5a3b0Smrg UTF-16 and UCS2 behaviour. 3148*14f5a3b0Smrg (utf16_span, ucs2_span): Use std::min not std::max. 3149*14f5a3b0Smrg (ucs2_out): Use std::min not std::max. Disallow surrogate pairs. 3150*14f5a3b0Smrg (ucs2_in): Likewise. Adjust calls to read_utf16_bom. 3151*14f5a3b0Smrg * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test. 3152*14f5a3b0Smrg * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test. 3153*14f5a3b0Smrg 3154*14f5a3b0Smrg PR libstdc++/79511 3155*14f5a3b0Smrg * src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0xffff 3156*14f5a3b0Smrg as a surrogate pair. 3157*14f5a3b0Smrg (__codecvt_utf8_utf16_base<char32_t>::do_in): Use native endianness 3158*14f5a3b0Smrg for internal representation. 3159*14f5a3b0Smrg (__codecvt_utf8_utf16_base<wchar_t>::do_in): Likewise. 3160*14f5a3b0Smrg * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test. 3161*14f5a3b0Smrg 3162*14f5a3b0Smrg PR libstdc++/80064 3163*14f5a3b0Smrg * include/bits/stl_heap.h (__is_heap, push_heap, __adjust_heap) 3164*14f5a3b0Smrg (pop_heap, make_heap, sort_heap, is_heap_until, is_heap): Cope with 3165*14f5a3b0Smrg invalid instantiations using function types for _Compare argument. 3166*14f5a3b0Smrg * testsuite/25_algorithms/make_heap/80064.cc: New test. 3167*14f5a3b0Smrg 3168*14f5a3b0Smrg PR libstdc++/67440 3169*14f5a3b0Smrg * python/libstdcxx/v6/printers.py (find_type): Avoid gdb.Type.name 3170*14f5a3b0Smrg for GDB 7.6 compatibility, use gdb.Type.unqualified instead. 3171*14f5a3b0Smrg 3172*14f5a3b0Smrg2017-03-15 Ville Voutilainen <ville.voutilainen@gmail.com> 3173*14f5a3b0Smrg 3174*14f5a3b0Smrg Implement LWG 2857, {variant,optional,any}::emplace should 3175*14f5a3b0Smrg return the constructed value. 3176*14f5a3b0Smrg * include/std/any (emplace(_Args&&...)): Change the return type and 3177*14f5a3b0Smrg return a reference to the constructed value. 3178*14f5a3b0Smrg (emplace(initializer_list<_Up>, _Args&&...)): Likewise. 3179*14f5a3b0Smrg * include/std/optional (emplace(_Args&&...)): Likewise. 3180*14f5a3b0Smrg (emplace(initializer_list<_Up>, _Args&&...)): Likewise. 3181*14f5a3b0Smrg * include/std/variant (emplace<_Tp>(_Args&&...)): Likewise. 3182*14f5a3b0Smrg (emplace<_Tp>(initializer_list<_Up>, _Args&&...)): Likewise. 3183*14f5a3b0Smrg (emplace<_Np>(_Args&&...)): Likewise. 3184*14f5a3b0Smrg (emplace<_Np>(initializer_list<_Up>, _Args&&...)): Likewise. 3185*14f5a3b0Smrg * testsuite/20_util/any/assign/emplace.cc: Add tests for 3186*14f5a3b0Smrg checking the return value of emplace. 3187*14f5a3b0Smrg * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust. 3188*14f5a3b0Smrg * testsuite/20_util/optional/assignment/6.cc: Add tests for 3189*14f5a3b0Smrg checking the return value of emplace. 3190*14f5a3b0Smrg * testsuite/20_util/variant/run.cc: Likewise. 3191*14f5a3b0Smrg 3192*14f5a3b0Smrg2017-03-15 Xi Ruoyao <ryxi@stu.xidian.edu.cn> 3193*14f5a3b0Smrg 3194*14f5a3b0Smrg PR libstdc++/62045 3195*14f5a3b0Smrg * include/ext/pb_ds/qdetail/binary_heap_/binary_heap_.hpp 3196*14f5a3b0Smrg (is_heap): Remove. 3197*14f5a3b0Smrg (push_heap): Remove the wrong checking using is_heap. 3198*14f5a3b0Smrg (make_heap): Remove the assertion using is_heap. 3199*14f5a3b0Smrg * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp 3200*14f5a3b0Smrg (modify): Ditto. 3201*14f5a3b0Smrg (resize_for_insert_if_needed): Add PB_DS_ASSERT_VALID after 3202*14f5a3b0Smrg calling make_heap. 3203*14f5a3b0Smrg 3204*14f5a3b0Smrg2017-03-15 Jonathan Wakely <jwakely@redhat.com> 3205*14f5a3b0Smrg 3206*14f5a3b0Smrg PR libstdc++/62045 3207*14f5a3b0Smrg * testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc: 3208*14f5a3b0Smrg New test. 3209*14f5a3b0Smrg * testsuite/ext/pb_ds/regression/priority_queues.cc: Fix copy&paste 3210*14f5a3b0Smrg error in comment. 3211*14f5a3b0Smrg 3212*14f5a3b0Smrg2017-03-15 Jonathan Wakely <jwakely@redhat.com> 3213*14f5a3b0Smrg 3214*14f5a3b0Smrg * acinclude.m4 (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Fix typo in 3215*14f5a3b0Smrg comment. 3216*14f5a3b0Smrg * config.h.in: Regenerate. 3217*14f5a3b0Smrg * configure: Regenerate. 3218*14f5a3b0Smrg * doc/Makefile.in: Regenerate. 3219*14f5a3b0Smrg 3220*14f5a3b0Smrg2017-03-14 Jonathan Wakely <jwakely@redhat.com> 3221*14f5a3b0Smrg 3222*14f5a3b0Smrg PR libstdc++/79162 3223*14f5a3b0Smrg * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] 3224*14f5a3b0Smrg (basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Replace 3225*14f5a3b0Smrg with a constrained template. 3226*14f5a3b0Smrg [!_GLIBCXX_USE_CXX11_ABI] 3227*14f5a3b0Smrg (basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Likewise. 3228*14f5a3b0Smrg * testsuite/21_strings/basic_string/cons/char/79162.cc: New test. 3229*14f5a3b0Smrg * testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: New test. 3230*14f5a3b0Smrg 3231*14f5a3b0Smrg2017-03-13 Ville Voutilainen <ville.voutilainen@gmail.com> 3232*14f5a3b0Smrg 3233*14f5a3b0Smrg PR libstdc++/80034 3234*14f5a3b0Smrg * include/bits/list.tcc (merge(list&&)): Use const for the size_t 3235*14f5a3b0Smrg in the catch-block. 3236*14f5a3b0Smrg (merge(list&&, _StrictWeakOrdering)): Likewise. 3237*14f5a3b0Smrg * testsuite/23_containers/list/operations/80034.cc: New. 3238*14f5a3b0Smrg 3239*14f5a3b0Smrg2017-03-13 Ville Voutilainen <ville.voutilainen@gmail.com> 3240*14f5a3b0Smrg 3241*14f5a3b0Smrg Implement LWG 2806, Base class of bad_optional_access. 3242*14f5a3b0Smrg * include/std/optional (bad_optional_access): 3243*14f5a3b0Smrg Derive from std::exception. 3244*14f5a3b0Smrg (bad_optional_access::bad_optional_access): Adjust. 3245*14f5a3b0Smrg (bad_optional_access::what): New. 3246*14f5a3b0Smrg (__throw_bad_optional_access(const char*)): 3247*14f5a3b0Smrg Remove the parameter and adjust calls. 3248*14f5a3b0Smrg * testsuite/20_util/optional/cons/value_neg.cc: Adjust. 3249*14f5a3b0Smrg * testsuite/20_util/optional/typedefs.cc: Likewise. 3250*14f5a3b0Smrg 3251*14f5a3b0Smrg2017-03-12 Ville Voutilainen <ville.voutilainen@gmail.com> 3252*14f5a3b0Smrg 3253*14f5a3b0Smrg Implement LWG 2934, optional<const T> doesn't compare with T. 3254*14f5a3b0Smrg * include/std/optional 3255*14f5a3b0Smrg (operator==(const optional<_Tp>&, const optional<_Tp>&)): 3256*14f5a3b0Smrg Turn into operator==(const optional<_Tp>&, const optional<_Up>&). 3257*14f5a3b0Smrg (operator!=(const optional<_Tp>&, const optional<_Tp>&)): 3258*14f5a3b0Smrg Turn into operator!=(const optional<_Tp>&, const optional<_Up>&). 3259*14f5a3b0Smrg (operator<(const optional<_Tp>&, const optional<_Tp>&)): 3260*14f5a3b0Smrg Turn into operator<(const optional<_Tp>&, const optional<_Up>&. 3261*14f5a3b0Smrg (operator>(const optional<_Tp>&, const optional<_Tp>&)): 3262*14f5a3b0Smrg Turn into operator>(const optional<_Tp>&, const optional<_Up>&. 3263*14f5a3b0Smrg (operator<=(const optional<_Tp>&, const optional<_Tp>&)): 3264*14f5a3b0Smrg Turn into operator<=(const optional<_Tp>&, const optional<_Up>&). 3265*14f5a3b0Smrg (operator>=(const optional<_Tp>&, const optional<_Tp>&)): 3266*14f5a3b0Smrg Turn into operator>=(const optional<_Tp>&, const optional<_Up>&). 3267*14f5a3b0Smrg (operator==(const optional<_Tp>&, const _Tp&)): 3268*14f5a3b0Smrg Turn into operator==(const optional<_Tp>&, const _Up&). 3269*14f5a3b0Smrg (operator==(const _Tp&, const optional<_Tp>&)): 3270*14f5a3b0Smrg Turn into operator==(const _Up&, const optional<_Tp>&). 3271*14f5a3b0Smrg (operator!=(const optional<_Tp>&, const _Tp&)): 3272*14f5a3b0Smrg Turn into operator!=(const optional<_Tp>&, const _Up&). 3273*14f5a3b0Smrg (operator!=(const _Tp&, const optional<_Tp>&)): 3274*14f5a3b0Smrg Turn into operator!=(const _Up&, const optional<_Tp>&). 3275*14f5a3b0Smrg (operator<(const optional<_Tp>&, const _Tp&)): 3276*14f5a3b0Smrg Turn into operator<(const optional<_Tp>&, const _Up&). 3277*14f5a3b0Smrg (operator<(const _Tp&, const optional<_Tp>&)): 3278*14f5a3b0Smrg Turn into operator<(const _Up&, const optional<_Tp>&). 3279*14f5a3b0Smrg (operator>(const optional<_Tp>&, const _Tp&)): 3280*14f5a3b0Smrg Turn into operator>(const optional<_Tp>&, const _Up&). 3281*14f5a3b0Smrg (operator>(const _Tp&, const optional<_Tp>&)): 3282*14f5a3b0Smrg Turn into operator>(const _Up&, const optional<_Tp>&). 3283*14f5a3b0Smrg (operator<=(const optional<_Tp>&, const _Tp&)): 3284*14f5a3b0Smrg Turn into operator<=(const optional<_Tp>&, const _Up&). 3285*14f5a3b0Smrg (operator<=(const _Tp&, const optional<_Tp>&)): 3286*14f5a3b0Smrg Turn into operator<=(const _Up&, const optional<_Tp>&). 3287*14f5a3b0Smrg (operator>=(const optional<_Tp>&, const _Tp&)): 3288*14f5a3b0Smrg Turn into operator>=(const optional<_Tp>&, const _Up&). 3289*14f5a3b0Smrg (operator>=(const _Tp&, const optional<_Tp>&)): 3290*14f5a3b0Smrg Turn into operator>=(const _Up&, const optional<_Tp>&). 3291*14f5a3b0Smrg * testsuite/20_util/optional/relops/7.cc: New. 3292*14f5a3b0Smrg 3293*14f5a3b0Smrg2017-03-10 Jonathan Wakely <jwakely@redhat.com> 3294*14f5a3b0Smrg 3295*14f5a3b0Smrg * testsuite/17_intro/names.cc: Undefine macros that clash with 3296*14f5a3b0Smrg identifiers in AIX system headers. 3297*14f5a3b0Smrg 3298*14f5a3b0Smrg * include/bits/invoke.h (__invoke): Use __invoke_result instead of 3299*14f5a3b0Smrg result_of, and __is_nothrow_invocable instead of 3300*14f5a3b0Smrg __is_nothrow_callable. 3301*14f5a3b0Smrg * include/bits/shared_ptr_base.h (__shared_ptr): Use __is_invocable 3302*14f5a3b0Smrg instead of __is_callable. 3303*14f5a3b0Smrg * include/std/functional (invoke): use invoke_result_t instead of 3304*14f5a3b0Smrg result_of_t and is_nothrow_invocable instead of is_nothrow_callable. 3305*14f5a3b0Smrg (_Not_fn): Use __invoke_result instead of result_of. 3306*14f5a3b0Smrg * include/std/type_traits (__result_of_memobj, __result_of_memfun): 3307*14f5a3b0Smrg Remove partial specializations for reference_wrapper types. 3308*14f5a3b0Smrg (__result_of_impl): Use __inv_unwrap to strip reference_wrapper. 3309*14f5a3b0Smrg (__invoke_result): Define replacement for result_of and then use it to 3310*14f5a3b0Smrg define result_of. 3311*14f5a3b0Smrg (__is_callable_impl, __is_callable, __is_nothrow_callable): Replace 3312*14f5a3b0Smrg with __is_invocable_impl, __is_invocable, and __is_nothrow_invocable 3313*14f5a3b0Smrg respectively. 3314*14f5a3b0Smrg (invoke_result, invoke_result_t): Define for C++17. 3315*14f5a3b0Smrg (is_callable, is_nothrow_callable): Replace with is_invocable, 3316*14f5a3b0Smrg is_invocable_r, is_nothrow_invocable, and is_nothrow_invocable_r. 3317*14f5a3b0Smrg (is_callable_v, is_nothrow_callable_v): Replace with is_invocable_v, 3318*14f5a3b0Smrg is_invocable_r_v, is_nothrow_invocable_v, and is_nothrow_invocable_r_v. 3319*14f5a3b0Smrg * include/std/variant (hash<variant<T...>>): Use is_nothrow_invocable_v 3320*14f5a3b0Smrg instead of is_nothrow_callable_v. 3321*14f5a3b0Smrg * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused 3322*14f5a3b0Smrg main function. 3323*14f5a3b0Smrg * testsuite/20_util/function_objects/not_fn/1.cc: Use is_invocable 3324*14f5a3b0Smrg instead of is_callable. 3325*14f5a3b0Smrg * testsuite/20_util/is_callable/*: Rename directory and adjust tests 3326*14f5a3b0Smrg to use new traits. 3327*14f5a3b0Smrg * testsuite/20_util/is_nothrow_callable/*: Likewise. 3328*14f5a3b0Smrg * testsuite/20_util/optional/hash.cc: Use is_invocable_v instead of 3329*14f5a3b0Smrg is_callable. 3330*14f5a3b0Smrg * testsuite/20_util/variant/hash.cc: Likewise. 3331*14f5a3b0Smrg 3332*14f5a3b0Smrg2017-03-10 George Lander <george.lander@arm.com> 3333*14f5a3b0Smrg 3334*14f5a3b0Smrg * acinclude.m4 (glibcxx_cv_obsolete_isnan): Define 3335*14f5a3b0Smrg _GLIBCXX_INCLUDE_NEXT_C_HEADERS before including math.h. 3336*14f5a3b0Smrg * configure: Regenerate. 3337*14f5a3b0Smrg 3338*14f5a3b0Smrg2017-03-09 Jonathan Wakely <jwakely@redhat.com> 3339*14f5a3b0Smrg 3340*14f5a3b0Smrg * include/std/functional (_Not_fn): Define macro to simplify 3341*14f5a3b0Smrg repetitive function definitions. 3342*14f5a3b0Smrg 3343*14f5a3b0Smrg * doc/xml/manual/status_cxx2017.xml: Document std::byte support. 3344*14f5a3b0Smrg * include/c_global/cstddef (std::byte): Define for C++17. 3345*14f5a3b0Smrg * testsuite/18_support/byte/global_neg.cc: New test. 3346*14f5a3b0Smrg * testsuite/18_support/byte/ops.cc: New test. 3347*14f5a3b0Smrg * testsuite/18_support/byte/requirements.cc: New test. 3348*14f5a3b0Smrg 3349*14f5a3b0Smrg2017-03-05 Jonathan Wakely <jwakely@redhat.com> 3350*14f5a3b0Smrg 3351*14f5a3b0Smrg * doc/xml/manual/status_cxx2017.xml: Document P0156R2 status. 3352*14f5a3b0Smrg * doc/html/*: Regenerate. 3353*14f5a3b0Smrg * include/std/mutex (scoped_lock): Implement new C++17 template. 3354*14f5a3b0Smrg * testsuite/30_threads/scoped_lock/cons/1.cc: New test. 3355*14f5a3b0Smrg * testsuite/30_threads/scoped_lock/requirements/ 3356*14f5a3b0Smrg explicit_instantiation.cc: New test. 3357*14f5a3b0Smrg * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: New test. 3358*14f5a3b0Smrg 3359*14f5a3b0Smrg2017-03-02 Gerald Pfeifer <gerald@pfeifer.com> 3360*14f5a3b0Smrg François Dumont <frs.dumont@gmail.com> 3361*14f5a3b0Smrg Jonathan Wakely <jwakely@redhat.com> 3362*14f5a3b0Smrg 3363*14f5a3b0Smrg * doc/xml/manual/debug_mode.xml: Update and simplify note 3364*14f5a3b0Smrg on link- and run-time coexistence. 3365*14f5a3b0Smrg 3366*14f5a3b0Smrg2017-03-02 Jonathan Wakely <jwakely@redhat.com> 3367*14f5a3b0Smrg 3368*14f5a3b0Smrg * testsuite/17_intro/headers/names.cc: Rename to ... 3369*14f5a3b0Smrg * testsuite/17_intro/names.cc: ... here. 3370*14f5a3b0Smrg 3371*14f5a3b0Smrg PR libstdc++/79789 3372*14f5a3b0Smrg * include/bits/hashtable_policy.h (__clp2): Use reserved names for 3373*14f5a3b0Smrg parameters and local variables. 3374*14f5a3b0Smrg * include/bits/ios_base.h (make_error_code, make_error_condition): 3375*14f5a3b0Smrg Likewise. 3376*14f5a3b0Smrg * include/bits/list.tcc (list::sort): Likewise. 3377*14f5a3b0Smrg * include/bits/mask_array.h (mask_array): Likewise. 3378*14f5a3b0Smrg * include/bits/regex.h (regex_token_iterator): Likewise. 3379*14f5a3b0Smrg * include/bits/slice_array.h (slice_array): Likewise. 3380*14f5a3b0Smrg * include/bits/stl_algo.h (__sample): Likewise. 3381*14f5a3b0Smrg * include/std/memory (undeclare_no_pointers): Likewise. 3382*14f5a3b0Smrg * include/std/type_traits (is_callable_v, is_nothrow_callable_v): 3383*14f5a3b0Smrg Likewise. 3384*14f5a3b0Smrg * libsupc++/exception_ptr.h (__dest_thunk): Likewise. 3385*14f5a3b0Smrg * testsuite/17_intro/headers/names.cc: New test. 3386*14f5a3b0Smrg 3387*14f5a3b0Smrg PR libstdc++/79798 3388*14f5a3b0Smrg * include/std/functional (bind::_Res_type_impl): Fix incorrect use of 3389*14f5a3b0Smrg result_of that loses top-level cv-qualifiers. 3390*14f5a3b0Smrg * testsuite/20_util/bind/79798.cc: New test. 3391*14f5a3b0Smrg 3392*14f5a3b0Smrg2017-03-01 Gerald Pfeifer <gerald@pfeifer.com> 3393*14f5a3b0Smrg 3394*14f5a3b0Smrg * doc/xml/manual/documentation_hacking.xml: Tweak link to 3395*14f5a3b0Smrg doxygen.org. 3396*14f5a3b0Smrg 3397*14f5a3b0Smrg2017-02-23 Jonathan Wakely <jwakely@redhat.com> 3398*14f5a3b0Smrg 3399*14f5a3b0Smrg * include/experimental/iterator: Include <iterator>. 3400*14f5a3b0Smrg * testsuite/experimental/iterator/requirements.cc: Check for contents 3401*14f5a3b0Smrg of <iterator>. 3402*14f5a3b0Smrg 3403*14f5a3b0Smrg2017-02-19 Dinka Ranns <dinka.ranns@googlemail.com> 3404*14f5a3b0Smrg 3405*14f5a3b0Smrg C++17 GB50 resolution 3406*14f5a3b0Smrg * include/std/chrono (duration::operator++()): Add 3407*14f5a3b0Smrg _GLIBCXX17_CONSTEXPR. 3408*14f5a3b0Smrg (duration::operator++(int)): Likewise. 3409*14f5a3b0Smrg (duration::operator--()): Likewise. 3410*14f5a3b0Smrg (duration::operator--(int)): Likewise. 3411*14f5a3b0Smrg (duration::operator+=(const duration&)): Likewise. 3412*14f5a3b0Smrg (duration::operator-=(const duration&)): Likewise. 3413*14f5a3b0Smrg (duration::operator*=(const rep&)): Likewise. 3414*14f5a3b0Smrg (duration::operator/=(const rep&)): Likewise. 3415*14f5a3b0Smrg (duration::operator%=(const rep&)): Likewise. 3416*14f5a3b0Smrg (duration::operator%=(const duration&)): Likewise. 3417*14f5a3b0Smrg (time_point::operator+=(const duration&)): Likewise. 3418*14f5a3b0Smrg (time_point::operator-=(const duration&)): Likewise. 3419*14f5a3b0Smrg * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: New test. 3420*14f5a3b0Smrg * testsuite/20_util/duration/literals/range.cc: Adjust dg-error. 3421*14f5a3b0Smrg * testsuite/20_util/time_point/arithmetic/constexpr.cc: New test. 3422*14f5a3b0Smrg 3423*14f5a3b0Smrg2017-02-19 Gerald Pfeifer <gerald@pfeifer.com> 3424*14f5a3b0Smrg 3425*14f5a3b0Smrg * doc/xml/manual/debug.xml: Adjust link to ThreadSanitizer. 3426*14f5a3b0Smrg 3427*14f5a3b0Smrg2017-02-18 Gerald Pfeifer <gerald@pfeifer.com> 3428*14f5a3b0Smrg 3429*14f5a3b0Smrg * doc/xml/manual/io.xml: Update link to groups.google.com. 3430*14f5a3b0Smrg Tweak link description. 3431*14f5a3b0Smrg 3432*14f5a3b0Smrg2017-02-18 Gerald Pfeifer <gerald@pfeifer.com> 3433*14f5a3b0Smrg 3434*14f5a3b0Smrg * doc/xml/manual/profile_mode.xml: Fix link. 3435*14f5a3b0Smrg 3436*14f5a3b0Smrg2017-02-16 Gerald Pfeifer <gerald@pfeifer.com> 3437*14f5a3b0Smrg 3438*14f5a3b0Smrg * doc/xml/manual/policy_data_structures.xml: Simplify and 3439*14f5a3b0Smrg standardize references to boost.org. 3440*14f5a3b0Smrg * doc/xml/manual/policy_data_structures_biblio.xml: Ditto. 3441*14f5a3b0Smrg * doc/xml/manual/shared_ptr.xml: Ditto. 3442*14f5a3b0Smrg 3443*14f5a3b0Smrg2017-02-16 Jonathan Wakely <jwakely@redhat.com> 3444*14f5a3b0Smrg 3445*14f5a3b0Smrg PR libstdc++/60936 3446*14f5a3b0Smrg * src/c++11/snprintf_lite.cc (__concat_size_t): Calculate length 3447*14f5a3b0Smrg written to buffer, not length remaining in buffer. 3448*14f5a3b0Smrg 3449*14f5a3b0Smrg2017-02-15 Tim Shen <timshen@google.com> 3450*14f5a3b0Smrg 3451*14f5a3b0Smrg PR libstdc++/78723 3452*14f5a3b0Smrg * include/std/variant (operator<(), operator>(), operator<=(), 3453*14f5a3b0Smrg operator>=(), operator==(), operator!=()): Implement P0393R3. 3454*14f5a3b0Smrg * testsuite/20_util/variant/compile.cc: Adjust tests. 3455*14f5a3b0Smrg * testsuite/20_util/variant/run.cc: Adjust tests. 3456*14f5a3b0Smrg 3457*14f5a3b0Smrg2017-02-15 Tim Shen <timshen@google.com> 3458*14f5a3b0Smrg 3459*14f5a3b0Smrg PR libstdc++/79513 3460*14f5a3b0Smrg * include/std/variant (visit()): Forward variant types to the return 3461*14f5a3b0Smrg type detection code. 3462*14f5a3b0Smrg * testsuite/20_util/variant/compile.cc: Add test cases. 3463*14f5a3b0Smrg 3464*14f5a3b0Smrg2017-02-13 H.J. Lu <hongjiu.lu@intel.com> 3465*14f5a3b0Smrg 3466*14f5a3b0Smrg PR libstdc++/79348 3467*14f5a3b0Smrg * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. 3468*14f5a3b0Smrg 3469*14f5a3b0Smrg2017-02-13 Jakub Jelinek <jakub@redhat.com> 3470*14f5a3b0Smrg 3471*14f5a3b0Smrg PR libstdc++/79348 3472*14f5a3b0Smrg * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. 3473*14f5a3b0Smrg * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise. 3474*14f5a3b0Smrg * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise. 3475*14f5a3b0Smrg * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise. 3476*14f5a3b0Smrg * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Likewise. 3477*14f5a3b0Smrg * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise. 3478*14f5a3b0Smrg * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Likewise. 3479*14f5a3b0Smrg * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise. 3480*14f5a3b0Smrg * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise. 3481*14f5a3b0Smrg 3482*14f5a3b0Smrg2017-02-13 Jonathan Wakely <jwakely@redhat.com> 3483*14f5a3b0Smrg 3484*14f5a3b0Smrg PR libstdc++/79486 3485*14f5a3b0Smrg * include/std/future (__future_base::_Task_state::_M_run) 3486*14f5a3b0Smrg (__future_base::_Task_state::_M_run_delayed): Use lvalue types in 3487*14f5a3b0Smrg result_of expressions. 3488*14f5a3b0Smrg * testsuite/30_threads/packaged_task/79486.cc: New. 3489*14f5a3b0Smrg 3490*14f5a3b0Smrg2017-02-11 Jonathan Wakely <jwakely@redhat.com> 3491*14f5a3b0Smrg 3492*14f5a3b0Smrg PR libstdc++/79467 3493*14f5a3b0Smrg * include/bits/shared_ptr_base.h (__shared_ptr(_Yp*, _Deleter)) 3494*14f5a3b0Smrg (__shared_ptr(_Yp*, _Deleter, _Alloc)): Use lvalue types in 3495*14f5a3b0Smrg __is_callable check. 3496*14f5a3b0Smrg * testsuite/20_util/shared_ptr/cons/79467.cc: New. 3497*14f5a3b0Smrg 3498*14f5a3b0Smrg * include/bits/atomic_base.h: Re-indent. 3499*14f5a3b0Smrg 3500*14f5a3b0Smrg2017-02-10 Gerald Pfeifer <gerald@pfeifer.com> 3501*14f5a3b0Smrg 3502*14f5a3b0Smrg * doc/xml/manual/profile_mode.xml: Update a paper reference. 3503*14f5a3b0Smrg 3504*14f5a3b0Smrg2017-02-08 Gerald Pfeifer <gerald@pfeifer.com> 3505*14f5a3b0Smrg 3506*14f5a3b0Smrg * src/c++11/snprintf_lite.cc (__err): Use https for bug reporting. 3507*14f5a3b0Smrg 3508*14f5a3b0Smrg2017-02-08 Jonathan Wakely <jwakely@redhat.com> 3509*14f5a3b0Smrg 3510*14f5a3b0Smrg * doc/xml/manual/policy_data_structures.xml: Fix spelling of author's 3511*14f5a3b0Smrg name. 3512*14f5a3b0Smrg * doc/xml/manual/policy_data_structures_biblio.xml: Likewise. Remove 3513*14f5a3b0Smrg broken links to texts that are no longer online. 3514*14f5a3b0Smrg * doc/xml/manual/profile_mode.xml: Update links to CGO 2009 paper and 3515*14f5a3b0Smrg LCPC 2006 paper. 3516*14f5a3b0Smrg * doc/xml/manual/using.xml: Update links to memory model information. 3517*14f5a3b0Smrg * doc/xml/manual/using_exceptions.xml: Update link to "Appendix E: 3518*14f5a3b0Smrg Standard-Library Exception Safety". 3519*14f5a3b0Smrg * doc/html/*: Regenerate. 3520*14f5a3b0Smrg 3521*14f5a3b0Smrg2017-02-08 Gerald Pfeifer <gerald@pfeifer.com> 3522*14f5a3b0Smrg 3523*14f5a3b0Smrg * doc/xml/manual/profile_mode.xml: Unbreak link to 3524*14f5a3b0Smrg "Optimizing Sorting with Machine Learning Algorithms". 3525*14f5a3b0Smrg 3526*14f5a3b0Smrg2017-02-08 Gerald Pfeifer <gerald@pfeifer.com> 3527*14f5a3b0Smrg 3528*14f5a3b0Smrg * src/c++11/snprintf_lite.cc (__err): Update bug reporting URL. 3529*14f5a3b0Smrg 3530*14f5a3b0Smrg2017-02-08 Gerald Pfeifer <gerald@pfeifer.com> 3531*14f5a3b0Smrg 3532*14f5a3b0Smrg * doc/xml/manual/abi.xml: Update link to "Sun Studio 11: C++ 3533*14f5a3b0Smrg Migration Guide". 3534*14f5a3b0Smrg 3535*14f5a3b0Smrg2017-02-07 Gerald Pfeifer <gerald@pfeifer.com> 3536*14f5a3b0Smrg 3537*14f5a3b0Smrg * doc/html/ext/lwg-active.html: Remove. 3538*14f5a3b0Smrg * doc/html/ext/lwg-closed.html: Ditto. 3539*14f5a3b0Smrg * doc/html/ext/lwg-defects.html: Ditto. 3540*14f5a3b0Smrg 3541*14f5a3b0Smrg * doc/Makefile.am (xml_extradir): Remove. 3542*14f5a3b0Smrg (xml_extra): Ditto. 3543*14f5a3b0Smrg (stamp-html-docbook-lwg): Remove recipe... 3544*14f5a3b0Smrg (stamp-html-docbook-data): ...and its use here. 3545*14f5a3b0Smrg * doc/Makefile.in: Regenerate. 3546*14f5a3b0Smrg 3547*14f5a3b0Smrg * doc/xml/manual/intro.xml: Shorten two paragraphs explaining 3548*14f5a3b0Smrg the relationship to the upstream working group. 3549*14f5a3b0Smrg Replace a local link to ../ext/lwg-active.html by the upstream one. 3550*14f5a3b0Smrg Replace all reference to ../ext/lwg-defects.html by a new entity 3551*14f5a3b0Smrg &DR; which refers to the upstream address. 3552*14f5a3b0Smrg 3553*14f5a3b0Smrg2017-02-07 Gerald Pfeifer <gerald@pfeifer.com> 3554*14f5a3b0Smrg 3555*14f5a3b0Smrg * doc/xml/manual/status_cxx2017.xml: Fix link to N4284. 3556*14f5a3b0Smrg 3557*14f5a3b0Smrg2017-02-06 Jonathan Wakely <jwakely@redhat.com> 3558*14f5a3b0Smrg 3559*14f5a3b0Smrg PR libstdc++/79323 3560*14f5a3b0Smrg * testsuite/20_util/duration/literals/range.cc: Prune extra output 3561*14f5a3b0Smrg at -O0. 3562*14f5a3b0Smrg 3563*14f5a3b0Smrg2017-02-06 Gerald Pfeifer <gerald@pfeifer.com> 3564*14f5a3b0Smrg 3565*14f5a3b0Smrg * doc/xml/manual/documentation_hacking.xml: Update URL of the 3566*14f5a3b0Smrg DocBook Element Reference. Use that term as link description 3567*14f5a3b0Smrg instead of "online". 3568*14f5a3b0Smrg epubcheck has moved to GitHub. 3569*14f5a3b0Smrg Remove obsolete link to DocBook Publishing Tools. 3570*14f5a3b0Smrg 3571*14f5a3b0Smrg2017-02-03 Jonathan Wakely <jwakely@redhat.com> 3572*14f5a3b0Smrg 3573*14f5a3b0Smrg PR libstdc++/66145 3574*14f5a3b0Smrg * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Restore ABI override 3575*14f5a3b0Smrg so new ios::failure can be caught even when old ABI is the default. 3576*14f5a3b0Smrg * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. 3577*14f5a3b0Smrg * testsuite/27_io/basic_istream/extractors_arithmetic/char/ 3578*14f5a3b0Smrg exceptions_failbit.cc: Likewise. 3579*14f5a3b0Smrg * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ 3580*14f5a3b0Smrg exceptions_failbit.cc: Likewise. 3581*14f5a3b0Smrg * testsuite/27_io/basic_istream/extractors_other/char/ 3582*14f5a3b0Smrg exceptions_null.cc: Likewise. 3583*14f5a3b0Smrg * testsuite/27_io/basic_istream/extractors_other/wchar_t/ 3584*14f5a3b0Smrg exceptions_null.cc: Likewise. 3585*14f5a3b0Smrg * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. 3586*14f5a3b0Smrg * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. 3587*14f5a3b0Smrg * testsuite/27_io/basic_ostream/inserters_other/char/ 3588*14f5a3b0Smrg exceptions_null.cc: Likewise. 3589*14f5a3b0Smrg * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ 3590*14f5a3b0Smrg exceptions_null.cc: Likewise. 3591*14f5a3b0Smrg * testsuite/27_io/ios_base/storage/2.cc: Likewise. 3592*14f5a3b0Smrg 3593*14f5a3b0Smrg PR libstdc++/60936 3594*14f5a3b0Smrg * src/c++11/Makefile.am: Add new files. 3595*14f5a3b0Smrg * src/c++11/Makefile.in: Regenerate. 3596*14f5a3b0Smrg * src/c++11/cow-string-inst.cc [!_GLIBCXX_USE_CXX11_ABI] 3597*14f5a3b0Smrg (operator<<, operator>>, getline): Move explicit instantiations to ... 3598*14f5a3b0Smrg * src/c++11/cow-string-io-inst.cc: ... new file. 3599*14f5a3b0Smrg * src/c++11/cow-wstring-inst.cc [!_GLIBCXX_USE_CXX11_ABI] 3600*14f5a3b0Smrg (operator<<, operator>>, getline): Move explicit instantiations to ... 3601*14f5a3b0Smrg * src/c++11/cow-wstring-io-inst.cc: ... new file. 3602*14f5a3b0Smrg * src/c++11/functexcept.cc (__throw_ios_failure, __throw_system_error) 3603*14f5a3b0Smrg (__throw_future_error, __throw_bad_function_call): 3604*14f5a3b0Smrg (__throw_regex_error): Move functions for C++11 exceptions to the 3605*14f5a3b0Smrg files that define the exception types. 3606*14f5a3b0Smrg * src/c++11/functional.cc (__throw_bad_function_call): Move here. 3607*14f5a3b0Smrg * src/c++11/future.cc (__throw_future_error): Likewise. 3608*14f5a3b0Smrg * src/c++11/ios.cc (__throw_ios_failure): Likewise. 3609*14f5a3b0Smrg * src/c++11/regex.cc (__throw_regex_error): Likewise. 3610*14f5a3b0Smrg * src/c++11/snprintf_lite.cc (__concat_size_t): Print decimal 3611*14f5a3b0Smrg representation directly instead of calling __int_to_char. 3612*14f5a3b0Smrg * src/c++11/sso_string.cc (__sso_string): New file for definition 3613*14f5a3b0Smrg of __sso_string type. 3614*14f5a3b0Smrg * src/c++11/string-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for 3615*14f5a3b0Smrg explicit instantiations of narrow string I/O functions. 3616*14f5a3b0Smrg * src/c++11/system_error.cc (__throw_system_error): Move here. 3617*14f5a3b0Smrg (__sso_string): Move to new file. 3618*14f5a3b0Smrg * src/c++11/wstring-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for 3619*14f5a3b0Smrg explicit instantiations of wide string I/O functions. 3620*14f5a3b0Smrg * src/c++98/misc-inst.cc [_GLIBCXX_USE_CXX11_ABI] (operator<<) 3621*14f5a3b0Smrg (operator>>, getline): Remove explicit instantiations from here. 3622*14f5a3b0Smrg 3623*14f5a3b0Smrg2017-02-02 H.J. Lu <hongjiu.lu@intel.com> 3624*14f5a3b0Smrg 3625*14f5a3b0Smrg * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. 3626*14f5a3b0Smrg 3627*14f5a3b0Smrg2017-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3628*14f5a3b0Smrg 3629*14f5a3b0Smrg * configure.host: Separate Solaris/SPARC and x86 baselines. 3630*14f5a3b0Smrg * config/abi/post/solaris2.10/baseline_symbols.txt: Move ... 3631*14f5a3b0Smrg * config/abi/post/sparc-solaris2.10/baseline_symbols.txt: ... here. 3632*14f5a3b0Smrg * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Move ... 3633*14f5a3b0Smrg * config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt: 3634*14f5a3b0Smrg ... here. 3635*14f5a3b0Smrg * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Move ... 3636*14f5a3b0Smrg * config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: ... here. 3637*14f5a3b0Smrg * config/abi/post/i386-solaris2.10/baseline_symbols.txt: New file. 3638*14f5a3b0Smrg * config/abi/post/solaris2.11/baseline_symbols.txt: Move ... 3639*14f5a3b0Smrg * config/abi/post/sparc-solaris2.11/baseline_symbols.txt: ... here. 3640*14f5a3b0Smrg * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Move ... 3641*14f5a3b0Smrg * config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt: 3642*14f5a3b0Smrg ... here. 3643*14f5a3b0Smrg * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Move ... 3644*14f5a3b0Smrg * config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: ... here. 3645*14f5a3b0Smrg * config/abi/post/i386-solaris2.11/baseline_symbols.txt: New file. 3646*14f5a3b0Smrg 3647*14f5a3b0Smrg * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. 3648*14f5a3b0Smrg * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. 3649*14f5a3b0Smrg * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. 3650*14f5a3b0Smrg * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise. 3651*14f5a3b0Smrg * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise. 3652*14f5a3b0Smrg * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise. 3653*14f5a3b0Smrg 3654*14f5a3b0Smrg2017-02-01 Jonathan Wakely <jwakely@redhat.com> 3655*14f5a3b0Smrg 3656*14f5a3b0Smrg PR libstdc++/78346 3657*14f5a3b0Smrg * include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator 3658*14f5a3b0Smrg not its referent. 3659*14f5a3b0Smrg (_Iter_comp_to_iter): Likewise. 3660*14f5a3b0Smrg * testsuite/25_algorithms/search/78346.cc: New test. 3661*14f5a3b0Smrg 3662*14f5a3b0Smrg PR libstdc++/79254 3663*14f5a3b0Smrg * config/abi/pre/gnu.ver: Remove recently added symbols. 3664*14f5a3b0Smrg * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] 3665*14f5a3b0Smrg (basic_string::_M_copy_assign): Remove. 3666*14f5a3b0Smrg (basic_string::operator=(const basic_string&)): Don't dispatch to 3667*14f5a3b0Smrg _M_copy_assign. If source object is small just deallocate, otherwise 3668*14f5a3b0Smrg perform new allocation before making any changes. 3669*14f5a3b0Smrg * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] 3670*14f5a3b0Smrg (basic_string::_M_copy_assign(const basic_string&, true_type)): 3671*14f5a3b0Smrg Remove. 3672*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: 3673*14f5a3b0Smrg Test cases where the allocators are equal or the string is small. 3674*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: 3675*14f5a3b0Smrg Likewise. 3676*14f5a3b0Smrg 3677*14f5a3b0Smrg2017-01-30 Ville Voutilainen <ville.voutilainen@gmail.com> 3678*14f5a3b0Smrg 3679*14f5a3b0Smrg Implement LWG 2825, LWG 2756 breaks class template argument 3680*14f5a3b0Smrg deduction for optional. 3681*14f5a3b0Smrg * include/std/optional: Add a deduction guide. 3682*14f5a3b0Smrg * testsuite/20_util/optional/cons/deduction_guide.cc: New. 3683*14f5a3b0Smrg 3684*14f5a3b0Smrg2017-01-27 Jonathan Wakely <jwakely@redhat.com> 3685*14f5a3b0Smrg 3686*14f5a3b0Smrg PR libstdc++/79254 3687*14f5a3b0Smrg * config/abi/pre/gnu.ver: Add new symbols. 3688*14f5a3b0Smrg * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] 3689*14f5a3b0Smrg (basic_string::_M_copy_assign): New overloaded functions to perform 3690*14f5a3b0Smrg copy assignment. 3691*14f5a3b0Smrg (basic_string::operator=(const basic_string&)): Dispatch to 3692*14f5a3b0Smrg _M_copy_assign. 3693*14f5a3b0Smrg * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] 3694*14f5a3b0Smrg (basic_string::_M_copy_assign(const basic_string&, true_type)): 3695*14f5a3b0Smrg Define, performing rollback on exception. 3696*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: 3697*14f5a3b0Smrg Test exception-safety guarantee. 3698*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: 3699*14f5a3b0Smrg Likewise. 3700*14f5a3b0Smrg * testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make 3701*14f5a3b0Smrg std::swap visible. 3702*14f5a3b0Smrg 3703*14f5a3b0Smrg2017-01-26 Jonathan Wakely <jwakely@redhat.com> 3704*14f5a3b0Smrg 3705*14f5a3b0Smrg PR libstdc++/70607 3706*14f5a3b0Smrg * include/tr1/complex (conj): Remove using-declaration and restore 3707*14f5a3b0Smrg overloads, reverting previous change. 3708*14f5a3b0Smrg 3709*14f5a3b0Smrg * testsuite/23_containers/list/operations/78389.cc: Fix for C++11 3710*14f5a3b0Smrg mode. 3711*14f5a3b0Smrg * testsuite/23_containers/priority_queue/requirements/constructible.cc: 3712*14f5a3b0Smrg Mark as unsupported in C++98 mode. 3713*14f5a3b0Smrg * testsuite/23_containers/queue/requirements/constructible.cc: 3714*14f5a3b0Smrg Likewise. 3715*14f5a3b0Smrg * testsuite/23_containers/stack/requirements/constructible.cc: 3716*14f5a3b0Smrg Likewise. 3717*14f5a3b0Smrg * testsuite/25_algorithms/make_heap/movable.cc: Fix for C++11 mode. 3718*14f5a3b0Smrg 3719*14f5a3b0Smrg PR libstdc++/79243 3720*14f5a3b0Smrg * include/bits/c++config (literals::string_view_literals::__7): Add. 3721*14f5a3b0Smrg Only declare versioned namespaces for the relevant C++ dialects. 3722*14f5a3b0Smrg * include/experimental/bits/erase_if.h (fundamentals_v2::__detail): 3723*14f5a3b0Smrg Add versioning macros. 3724*14f5a3b0Smrg * include/experimental/bits/lfts_config.h: 3725*14f5a3b0Smrg (fundamentals_v1::__detail::__7, fundamentals_v2::__detail::__7): Add. 3726*14f5a3b0Smrg * include/experimental/string_view (fundamentals_v2::__detail): 3727*14f5a3b0Smrg Add versioning macros. 3728*14f5a3b0Smrg (fundamentals_v2::__detail::__identity): Remove. 3729*14f5a3b0Smrg (fundamentals_v2::__detail::__idt): Use common_type instead of 3730*14f5a3b0Smrg __detail::__identity. 3731*14f5a3b0Smrg * include/std/string_view (__detail::__identity, __detail::__idt): 3732*14f5a3b0Smrg Likewise. 3733*14f5a3b0Smrg (literals::string_view_literals): Fix nesting of versioning macros. 3734*14f5a3b0Smrg 3735*14f5a3b0Smrg PR libstdc++/79190 3736*14f5a3b0Smrg * libsupc++/del_opa.cc (operator delete(void*, std::align_val_t)) 3737*14f5a3b0Smrg [!_GLIBCXX_HAVE_ALIGNED_ALLOC && !_GLIBCXX_HAVE_POSIX_MEMALIGN 3738*14f5a3b0Smrg && !_GLIBCXX_HAVE_MEMALIGN && !_GLIBCXX_HAVE__ALIGNED_MALLOC]: 3739*14f5a3b0Smrg Retrieve original pointer value allocated by malloc. 3740*14f5a3b0Smrg * libsupc++/new_opa.cc [!_GLIBCXX_HAVE_ALIGNED_ALLOC 3741*14f5a3b0Smrg && !_GLIBCXX_HAVE_POSIX_MEMALIGN && !_GLIBCXX_HAVE_MEMALIGN 3742*14f5a3b0Smrg && !_GLIBCXX_HAVE__ALIGNED_MALLOC] (aligned_alloc(size_t, size_t)): 3743*14f5a3b0Smrg Define, adjusting pointer value allocated by malloc and storing for 3744*14f5a3b0Smrg retrieval by operator delete. 3745*14f5a3b0Smrg 3746*14f5a3b0Smrg2017-01-26 Jakub Jelinek <jakub@redhat.com> 3747*14f5a3b0Smrg 3748*14f5a3b0Smrg * libsupc++/eh_atomics.h: Update copyright years. 3749*14f5a3b0Smrg * testsuite/20_util/unique_ptr/cons/default.cc: Update copyright years. 3750*14f5a3b0Smrg 3751*14f5a3b0Smrg2017-01-25 Jonathan Wakely <jwakely@redhat.com> 3752*14f5a3b0Smrg 3753*14f5a3b0Smrg PR libstdc++/61791 3754*14f5a3b0Smrg PR libstdc++/70607 3755*14f5a3b0Smrg * include/std/complex (real(T), imag(T)): Add _GLIBCXX_CONSTEXPR. 3756*14f5a3b0Smrg (proj(T), conj(T)): Change return types per DR 1522. 3757*14f5a3b0Smrg * include/tr1/complex (conj): Remove overloads and use std::conj. 3758*14f5a3b0Smrg * testsuite/26_numerics/complex/dr781_dr1137.cc: Rename to... 3759*14f5a3b0Smrg * testsuite/26_numerics/complex/dr781.cc: ... this, and update. 3760*14f5a3b0Smrg * testsuite/26_numerics/complex/value_operations/constexpr2.cc: Test 3761*14f5a3b0Smrg real(T) and imag(T). Allow testing for C++11 too. 3762*14f5a3b0Smrg 3763*14f5a3b0Smrg2017-01-24 Jonathan Wakely <jwakely@redhat.com> 3764*14f5a3b0Smrg 3765*14f5a3b0Smrg PR libstdc++/79206 3766*14f5a3b0Smrg * include/experimental/string_view (operator==): Check sizes first. 3767*14f5a3b0Smrg * include/std/string_view (operator==): Likewise. 3768*14f5a3b0Smrg 3769*14f5a3b0Smrg2017-01-23 Jonathan Wakely <jwakely@redhat.com> 3770*14f5a3b0Smrg 3771*14f5a3b0Smrg * testsuite/experimental/array/make_array.cc: Restore <functional> 3772*14f5a3b0Smrg inclusion. 3773*14f5a3b0Smrg 3774*14f5a3b0Smrg2017-01-23 Thomas Preud'homme <thomas.preudhomme@arm.com> 3775*14f5a3b0Smrg 3776*14f5a3b0Smrg * testsuite/29_atomics/atomic/69301.cc: Require atomic builtins. 3777*14f5a3b0Smrg 3778*14f5a3b0Smrg2017-01-23 Jonathan Wakely <jwakely@redhat.com> 3779*14f5a3b0Smrg 3780*14f5a3b0Smrg PR libstdc++/79195 3781*14f5a3b0Smrg * include/experimental/array (__make_array_elem): New class template 3782*14f5a3b0Smrg and partial specialization. 3783*14f5a3b0Smrg (__is_reference_wrapper): Move into __make_array_elem specialization. 3784*14f5a3b0Smrg (make_array): Use __make_array_elem to determine element type and move 3785*14f5a3b0Smrg static assertion into specialization. Qualify std::forward call. 3786*14f5a3b0Smrg (to_array): Add exception specifiation. 3787*14f5a3b0Smrg * testsuite/experimental/array/make_array.cc: Test argument types 3788*14f5a3b0Smrg without a common type. 3789*14f5a3b0Smrg * testsuite/experimental/array/neg.cc: Adjust expected error message. 3790*14f5a3b0Smrg 3791*14f5a3b0Smrg2017-01-22 Gerald Pfeifer <gerald@pfeifer.com> 3792*14f5a3b0Smrg 3793*14f5a3b0Smrg * doc/xml/manual/debug.xml: code.google.com uses https now. 3794*14f5a3b0Smrg 3795*14f5a3b0Smrg2017-01-22 Gerald Pfeifer <gerald@pfeifer.com> 3796*14f5a3b0Smrg 3797*14f5a3b0Smrg * doc/xml/manual/test.xml: Fix link into gccint online manual. 3798*14f5a3b0Smrg 3799*14f5a3b0Smrg2017-01-21 Ville Voutilainen <ville.voutilainen@gmail.com> 3800*14f5a3b0Smrg 3801*14f5a3b0Smrg Make poisoned hashes SFINAE away the call operator of the hash. 3802*14f5a3b0Smrg * include/bits/functional_hash.h 3803*14f5a3b0Smrg (__poison_hash::__enable_hash_call): New. 3804*14f5a3b0Smrg * include/std/optional (__optional_hash_call_base): New. 3805*14f5a3b0Smrg (hash<optional<_Tp>>): Derive from the new base, 3806*14f5a3b0Smrg move the hash function into that base. 3807*14f5a3b0Smrg * include/std/variant (__variant_hash_call_base_impl): New. 3808*14f5a3b0Smrg (__variant_hash_call_base): Likewise. 3809*14f5a3b0Smrg (hash<variant<_Types...>>): Derive from the new base, 3810*14f5a3b0Smrg move the hash function into that base. 3811*14f5a3b0Smrg * testsuite/20_util/optional/hash.cc: Add tests for is_callable. 3812*14f5a3b0Smrg * testsuite/20_util/variant/hash.cc: Likewise. 3813*14f5a3b0Smrg 3814*14f5a3b0Smrg2017-01-20 Joe Seymour <joe.s@somniumtech.com> 3815*14f5a3b0Smrg 3816*14f5a3b0Smrg * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t. 3817*14f5a3b0Smrg * configure: Regenerate. 3818*14f5a3b0Smrg 3819*14f5a3b0Smrg2017-01-20 Jonathan Wakely <jwakely@redhat.com> 3820*14f5a3b0Smrg 3821*14f5a3b0Smrg PR libstdc++/69240 3822*14f5a3b0Smrg * include/bits/random.h (uniform_real_distribution::param_type) 3823*14f5a3b0Smrg (normal_distribution::param_type, lognormal_distribution::param_type) 3824*14f5a3b0Smrg (gamma_distribution::param_type, chi_squared_distribution::param_type) 3825*14f5a3b0Smrg (cauchy_distribution::param_type, fisher_f_distribution::param_type) 3826*14f5a3b0Smrg (student_t_distribution::param_type) 3827*14f5a3b0Smrg (bernoulli_distribution::param_type, binomial_distribution::param_type) 3828*14f5a3b0Smrg (geometric_distribution::param_type) 3829*14f5a3b0Smrg (negative_binomial_distribution::param_type) 3830*14f5a3b0Smrg (poisson_distribution::param_type) 3831*14f5a3b0Smrg (exponential_distribution::param_type) 3832*14f5a3b0Smrg (weibull_distribution::param_type) 3833*14f5a3b0Smrg (extreme_value_distribution::param_type) 3834*14f5a3b0Smrg (discrete_distribution::param_type) 3835*14f5a3b0Smrg (piecewise_constant_distribution::param_type) 3836*14f5a3b0Smrg (piecewise_linear_distribution::param_type): Define operator!=. 3837*14f5a3b0Smrg * include/bits/uniform_int_dist.h 3838*14f5a3b0Smrg (uniform_int_distribution::param_type): Likewise. 3839*14f5a3b0Smrg * include/ext/random (beta_distribution::param_type) 3840*14f5a3b0Smrg (rice_distribution::param_type, nakagami_distribution::param_type) 3841*14f5a3b0Smrg (pareto_distribution::param_type, k_distribution::param_type) 3842*14f5a3b0Smrg (arcsine_distribution::param_type, hoyt_distribution::param_type) 3843*14f5a3b0Smrg (triangular_distribution::param_type) 3844*14f5a3b0Smrg (von_mises_distribution::param_type) 3845*14f5a3b0Smrg (hypergeometric_distribution::param_type) 3846*14f5a3b0Smrg (logistic_distribution::param_type) 3847*14f5a3b0Smrg (uniform_on_sphere_distribution::param_type) 3848*14f5a3b0Smrg (uniform_inside_sphere_distribution::param_type): Likewise. 3849*14f5a3b0Smrg * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc: 3850*14f5a3b0Smrg Test construction with param_type. 3851*14f5a3b0Smrg * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc: 3852*14f5a3b0Smrg Likewise. 3853*14f5a3b0Smrg * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc: 3854*14f5a3b0Smrg Likewise. 3855*14f5a3b0Smrg * testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc: 3856*14f5a3b0Smrg Likewise. 3857*14f5a3b0Smrg * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc: 3858*14f5a3b0Smrg Likewise. 3859*14f5a3b0Smrg * testsuite/26_numerics/random/extreme_value_distribution/cons/ 3860*14f5a3b0Smrg parms.cc: Likewise. 3861*14f5a3b0Smrg * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc: 3862*14f5a3b0Smrg Likewise. 3863*14f5a3b0Smrg * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc: 3864*14f5a3b0Smrg Likewise. 3865*14f5a3b0Smrg * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc: 3866*14f5a3b0Smrg Likewise. 3867*14f5a3b0Smrg * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc: 3868*14f5a3b0Smrg Likewise. 3869*14f5a3b0Smrg * testsuite/26_numerics/random/negative_binomial_distribution/cons/ 3870*14f5a3b0Smrg parms.cc: Likewise. 3871*14f5a3b0Smrg * testsuite/26_numerics/random/normal_distribution/cons/parms.cc: 3872*14f5a3b0Smrg Likewise. 3873*14f5a3b0Smrg * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc: 3874*14f5a3b0Smrg Likewise. 3875*14f5a3b0Smrg * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc: 3876*14f5a3b0Smrg Likewise. 3877*14f5a3b0Smrg * testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc: 3878*14f5a3b0Smrg Likewise. 3879*14f5a3b0Smrg * testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc: 3880*14f5a3b0Smrg Likewise. 3881*14f5a3b0Smrg * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc: 3882*14f5a3b0Smrg Likewise. 3883*14f5a3b0Smrg * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise. 3884*14f5a3b0Smrg * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise. 3885*14f5a3b0Smrg * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise. 3886*14f5a3b0Smrg * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc: 3887*14f5a3b0Smrg Likewise. 3888*14f5a3b0Smrg * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise. 3889*14f5a3b0Smrg * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise. 3890*14f5a3b0Smrg * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise. 3891*14f5a3b0Smrg * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise. 3892*14f5a3b0Smrg * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise. 3893*14f5a3b0Smrg * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise. 3894*14f5a3b0Smrg * testsuite/ext/random/triangular_distribution/cons/parms.cc: 3895*14f5a3b0Smrg Likewise. 3896*14f5a3b0Smrg * testsuite/ext/random/uniform_inside_sphere_distribution/cons/ 3897*14f5a3b0Smrg parms.cc: Likewise. 3898*14f5a3b0Smrg * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise. 3899*14f5a3b0Smrg 3900*14f5a3b0Smrg PR libstdc++/72792 3901*14f5a3b0Smrg * include/bits/alloc_traits.h (__allocator_traits_base::__diff_type) 3902*14f5a3b0Smrg (__allocator_traits_base::__size_type): Remove. 3903*14f5a3b0Smrg (allocator_traits::_Ptr): New class template to detect const and void 3904*14f5a3b0Smrg pointer types without instantiating pointer_traits::rebind 3905*14f5a3b0Smrg unnecessarily. 3906*14f5a3b0Smrg (allocator_traits::_Diff): Likewise for detecting difference_type. 3907*14f5a3b0Smrg (allocator_traits::_Size): New class template to detect size_type 3908*14f5a3b0Smrg without instantiating make_unsigned unnecessarily. 3909*14f5a3b0Smrg * include/bits/ptr_traits.h (pointer_traits::element_type): Use 3910*14f5a3b0Smrg __detected_or_t instead of __detected_or_t_. 3911*14f5a3b0Smrg * include/std/type_traits (__detected_or_t_): Remove. 3912*14f5a3b0Smrg * testsuite/20_util/allocator_traits/members/pointers.cc: New test. 3913*14f5a3b0Smrg 3914*14f5a3b0Smrg PR libstdc++/72792 3915*14f5a3b0Smrg PR libstdc++/72793 3916*14f5a3b0Smrg * include/bits/alloc_traits.h (__allocator_traits_base::__rebind): 3917*14f5a3b0Smrg Replace with class template using void_t. 3918*14f5a3b0Smrg (__alloc_rebind): Define in terms of 3919*14f5a3b0Smrg __allocator_traits_base::__rebind. 3920*14f5a3b0Smrg (allocator_traits): Remove unconditional static_assert for 3921*14f5a3b0Smrg rebind_alloc. 3922*14f5a3b0Smrg * include/bits/ptr_traits.h (__replace_first_arg): Remove type member. 3923*14f5a3b0Smrg (pointer_traits::__rebind): Replace with class template using void_t. 3924*14f5a3b0Smrg (pointer_traits::rebind): Define in terms of __rebind. 3925*14f5a3b0Smrg (pointer_traits): Remove unconditional static_assert for rebind. 3926*14f5a3b0Smrg * testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test. 3927*14f5a3b0Smrg * testsuite/20_util/pointer_traits/rebind.cc: New test. 3928*14f5a3b0Smrg 3929*14f5a3b0Smrg PR libstdc++/69321 3930*14f5a3b0Smrg * include/experimental/any (__any_caster): Avoid instantiating 3931*14f5a3b0Smrg manager function for types that can't be stored in any. 3932*14f5a3b0Smrg * include/std/any (__any_caster): Likewise. 3933*14f5a3b0Smrg * testsuite/20_util/any/misc/any_cast.cc: Test non-copyable type. 3934*14f5a3b0Smrg * testsuite/experimental/any/misc/any_cast.cc: Likewise. 3935*14f5a3b0Smrg 3936*14f5a3b0Smrg PR libstdc++/64903 3937*14f5a3b0Smrg * include/bits/stl_algo.h (is_partitioned): Use increment instead of 3938*14f5a3b0Smrg std::advance. 3939*14f5a3b0Smrg 3940*14f5a3b0Smrg2017-01-19 Jonathan Wakely <jwakely@redhat.com> 3941*14f5a3b0Smrg 3942*14f5a3b0Smrg PR libstdc++/79156 3943*14f5a3b0Smrg * include/bits/shared_ptr_base.h (__enable_shared_from_this_base): 3944*14f5a3b0Smrg Fix return type. 3945*14f5a3b0Smrg (__enable_shared_from_this): Declare __shared_ptr as a friend. 3946*14f5a3b0Smrg * testsuite/ext/shared_ptr/1.cc: New test. 3947*14f5a3b0Smrg 3948*14f5a3b0Smrg PR libstdc++/64903 3949*14f5a3b0Smrg * include/bits/stl_algo.h (is_partitioned): Don't retest the partition 3950*14f5a3b0Smrg point. 3951*14f5a3b0Smrg * testsuite/25_algorithms/is_partitioned/2.cc: New test. 3952*14f5a3b0Smrg 3953*14f5a3b0Smrg * doc/xml/manual/abi.xml: Fix typo. 3954*14f5a3b0Smrg * doc/html/manual/abi.html: Likewise. 3955*14f5a3b0Smrg 3956*14f5a3b0Smrg PR libstdc++/67085 3957*14f5a3b0Smrg * include/bits/predefined_ops.h (_Iter_less_val, _Val_less_iter): Add 3958*14f5a3b0Smrg converting constructors from _Iter_less_iter. 3959*14f5a3b0Smrg (_Iter_comp_val, _Val_comp_iter): Add converting constructors from 3960*14f5a3b0Smrg _Iter_comp_iter. 3961*14f5a3b0Smrg (__iter_comp_val(_Iter_comp_iter<C>): Use converting constructor. 3962*14f5a3b0Smrg (__val_comp_iter(_Iter_comp_iter<C>): Likewise. 3963*14f5a3b0Smrg * include/bits/stl_heap.h (__is_heap_until, __push_heap, __pop_heap) 3964*14f5a3b0Smrg (__make_heap, __sort_heap): Change _Compare parameters to references. 3965*14f5a3b0Smrg (__is_heap, push_heap, __adjust_heap, __pop_heap, pop_heap) 3966*14f5a3b0Smrg (__make_heap, make_heap, sort_heap, is_heap_until): Pass comparison 3967*14f5a3b0Smrg functions as lvalues. 3968*14f5a3b0Smrg (is_heap): Call __is_heap_until directly to avoid copying __comp. 3969*14f5a3b0Smrg * testsuite/23_containers/priority_queue/67085.cc: Adjust test to 3970*14f5a3b0Smrg count copies during construction with empty sequence. 3971*14f5a3b0Smrg 3972*14f5a3b0Smrg PR libstdc++/67085 3973*14f5a3b0Smrg * include/bits/stl_heap.h (__is_heap): Use _GLIBCXX_MOVE. 3974*14f5a3b0Smrg (__make_heap, __sort_heap): Don't use _GLIBCXX_MOVE inside loops. 3975*14f5a3b0Smrg * testsuite/23_containers/priority_queue/67085.cc: Adjust expected 3976*14f5a3b0Smrg number of copies. 3977*14f5a3b0Smrg * testsuite/25_algorithms/make_heap/movable.cc: New test. 3978*14f5a3b0Smrg 3979*14f5a3b0Smrg PR libstdc++/67085 3980*14f5a3b0Smrg * include/bits/stl_heap.h (push_heap, __adjust_heap, __pop_heap) 3981*14f5a3b0Smrg (pop_heap, __make_heap, make_heap, __sort_heap, sort_heap): Use 3982*14f5a3b0Smrg _GLIBCXX_MOVE when passing comparison function to other functions. 3983*14f5a3b0Smrg (is_heap_until, is_heap): Use std::move when passing comparison 3984*14f5a3b0Smrg function. 3985*14f5a3b0Smrg * testsuite/23_containers/priority_queue/67085.cc: New test. 3986*14f5a3b0Smrg 3987*14f5a3b0Smrg PR libstdc++/78905 3988*14f5a3b0Smrg * doc/xml/manual/abi.xml (abi.versioning.history): Add markup to 3989*14f5a3b0Smrg macro names, filenames, and literal values. Document _GLIBCXX_RELEASE. 3990*14f5a3b0Smrg Document that the deprecated _GLIBCXX_VERSION macro was removed for 3991*14f5a3b0Smrg the 4.0.0 release. 3992*14f5a3b0Smrg * doc/html/*: Regenerate. 3993*14f5a3b0Smrg * include/Makefile.am (_GLIBCXX_RELEASE): Set value. 3994*14f5a3b0Smrg * include/Makefile.in: Regenerate. 3995*14f5a3b0Smrg * include/bits/c++config (_GLIBCXX_RELEASE): Add #define. 3996*14f5a3b0Smrg * testsuite/ext/profile/mutex_extensions_neg.cc: Use lineno of 0 in 3997*14f5a3b0Smrg dg-error. 3998*14f5a3b0Smrg 3999*14f5a3b0Smrg2017-01-18 Jonathan Wakely <jwakely@redhat.com> 4000*14f5a3b0Smrg 4001*14f5a3b0Smrg PR libstdc++/69301 4002*14f5a3b0Smrg * include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use 4003*14f5a3b0Smrg aligned buffer instead of default-initialized variable. 4004*14f5a3b0Smrg * testsuite/29_atomics/atomic/69301.cc: New test. 4005*14f5a3b0Smrg * include/experimental/memory (observer_ptr::release): Use reserved 4006*14f5a3b0Smrg name. 4007*14f5a3b0Smrg * include/ext/pointer.h (_Pointer_adapter::operator++(int)) 4008*14f5a3b0Smrg (_Pointer_adapter::operator--(int)): Likewise. 4009*14f5a3b0Smrg 4010*14f5a3b0Smrg PR libstdc++/68925 4011*14f5a3b0Smrg * include/experimental/random (randint): Use temporary instead of 4012*14f5a3b0Smrg thread_local static. 4013*14f5a3b0Smrg 4014*14f5a3b0Smrg2017-01-17 Joshua Conner <joshconner@google.com> 4015*14f5a3b0Smrg 4016*14f5a3b0Smrg * crossconfig.m4: Add fuchsia OS. 4017*14f5a3b0Smrg * configure: Regenerate. 4018*14f5a3b0Smrg 4019*14f5a3b0Smrg2017-01-17 Jonathan Wakely <jwakely@redhat.com> 4020*14f5a3b0Smrg 4021*14f5a3b0Smrg PR libstdc++/69699 4022*14f5a3b0Smrg * doc/xml/manual/abi.xml (abi.versioning.history): Explain why the 4023*14f5a3b0Smrg __GLIBCXX__ macro is not useful. Remove redundant date information 4024*14f5a3b0Smrg and link to the GCC release timeline. 4025*14f5a3b0Smrg (abi.versioning.active): Move partial sentence into the previous 4026*14f5a3b0Smrg paragraph. 4027*14f5a3b0Smrg * doc/html/*: Regenerate. 4028*14f5a3b0Smrg 4029*14f5a3b0Smrg PR libstdc++/79114 4030*14f5a3b0Smrg * libsupc++/nested_exception.h (throw_with_nested): Use decay instead 4031*14f5a3b0Smrg of remove_reference. 4032*14f5a3b0Smrg * testsuite/18_support/nested_exception/79114.cc: New test. 4033*14f5a3b0Smrg 4034*14f5a3b0Smrg2017-01-17 Jakub Jelinek <jakub@redhat.com> 4035*14f5a3b0Smrg 4036*14f5a3b0Smrg PR other/79046 4037*14f5a3b0Smrg * configure.ac: Add GCC_BASE_VER. 4038*14f5a3b0Smrg * fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to 4039*14f5a3b0Smrg get version from BASE-VER file. 4040*14f5a3b0Smrg * po/Makefile.in: Regenerated. 4041*14f5a3b0Smrg * libsupc++/Makefile.in: Regenerated. 4042*14f5a3b0Smrg * testsuite/Makefile.in: Regenerated. 4043*14f5a3b0Smrg * src/Makefile.in: Regenerated. 4044*14f5a3b0Smrg * configure: Regenerated. 4045*14f5a3b0Smrg * Makefile.in: Regenerated. 4046*14f5a3b0Smrg * include/Makefile.in: Regenerated. 4047*14f5a3b0Smrg * doc/Makefile.in: Regenerated. 4048*14f5a3b0Smrg * python/Makefile.in: Regenerated. 4049*14f5a3b0Smrg * src/c++11/Makefile.in: Regenerated. 4050*14f5a3b0Smrg * src/c++98/Makefile.in: Regenerated. 4051*14f5a3b0Smrg * src/filesystem/Makefile.in: Regenerated. 4052*14f5a3b0Smrg 4053*14f5a3b0Smrg2017-01-16 Jonathan Wakely <jwakely@redhat.com> 4054*14f5a3b0Smrg 4055*14f5a3b0Smrg PR libstdc++/66145 4056*14f5a3b0Smrg * src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure 4057*14f5a3b0Smrg exceptions. 4058*14f5a3b0Smrg * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI 4059*14f5a3b0Smrg for test, so new ios::failure can be caught. 4060*14f5a3b0Smrg * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. 4061*14f5a3b0Smrg * testsuite/27_io/basic_istream/extractors_arithmetic/char/ 4062*14f5a3b0Smrg exceptions_failbit.cc: Likewise. 4063*14f5a3b0Smrg * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ 4064*14f5a3b0Smrg exceptions_failbit.cc: Likewise. 4065*14f5a3b0Smrg * testsuite/27_io/basic_istream/extractors_other/char/ 4066*14f5a3b0Smrg exceptions_null.cc: Likewise. 4067*14f5a3b0Smrg * testsuite/27_io/basic_istream/extractors_other/wchar_t/ 4068*14f5a3b0Smrg exceptions_null.cc: Likewise. 4069*14f5a3b0Smrg * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. 4070*14f5a3b0Smrg * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. 4071*14f5a3b0Smrg * testsuite/27_io/basic_ostream/inserters_other/char/ 4072*14f5a3b0Smrg exceptions_null.cc: Likewise. 4073*14f5a3b0Smrg * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ 4074*14f5a3b0Smrg exceptions_null.cc: Likewise. 4075*14f5a3b0Smrg * testsuite/27_io/ios_base/storage/2.cc: Likewise. 4076*14f5a3b0Smrg 4077*14f5a3b0Smrg PR libstdc++/78702 4078*14f5a3b0Smrg * include/bits/locale_classes.h (locale::facet::__shim): Change from 4079*14f5a3b0Smrg private to protected. 4080*14f5a3b0Smrg * src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to 4081*14f5a3b0Smrg make locale::facet::__shim accessible. 4082*14f5a3b0Smrg 4083*14f5a3b0Smrg2017-01-16 Ville Voutilainen <ville.voutilainen@gmail.com> 4084*14f5a3b0Smrg 4085*14f5a3b0Smrg PR libstdc++/78389 4086*14f5a3b0Smrg * include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments. 4087*14f5a3b0Smrg (merge(list&&, _StrictWeakOrdering)): Likewise. 4088*14f5a3b0Smrg * testsuite/23_containers/list/operations/78389.cc: Add 4089*14f5a3b0Smrg better test for the sizes. 4090*14f5a3b0Smrg 4091*14f5a3b0Smrg2017-01-14 Jonathan Wakely <jwakely@redhat.com> 4092*14f5a3b0Smrg 4093*14f5a3b0Smrg * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc: 4094*14f5a3b0Smrg Skip test when -D_GLIBCXX_PROFILE mode is included in options. 4095*14f5a3b0Smrg * testsuite/23_containers/map/modifiers/extract.cc: Likewise. 4096*14f5a3b0Smrg * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: 4097*14f5a3b0Smrg Likewise. 4098*14f5a3b0Smrg * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise. 4099*14f5a3b0Smrg * testsuite/23_containers/multimap/modifiers/extract.cc: Likewise. 4100*14f5a3b0Smrg * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise. 4101*14f5a3b0Smrg * testsuite/23_containers/set/modifiers/extract.cc: Likewise. 4102*14f5a3b0Smrg * testsuite/23_containers/unordered_map/modifiers/extract.cc: 4103*14f5a3b0Smrg Likewise. 4104*14f5a3b0Smrg * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:: 4105*14f5a3b0Smrg Likewise. 4106*14f5a3b0Smrg * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:: 4107*14f5a3b0Smrg Likewise. 4108*14f5a3b0Smrg * testsuite/23_containers/unordered_set/modifiers/extract.cc: 4109*14f5a3b0Smrg Likewise. 4110*14f5a3b0Smrg * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: 4111*14f5a3b0Smrg Likewise. 4112*14f5a3b0Smrg * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise. 4113*14f5a3b0Smrg * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise. 4114*14f5a3b0Smrg * testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise. 4115*14f5a3b0Smrg * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise. 4116*14f5a3b0Smrg * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise. 4117*14f5a3b0Smrg * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise. 4118*14f5a3b0Smrg * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise. 4119*14f5a3b0Smrg * testsuite/libstdc++-prettyprinters/debug.cc: Likewise. 4120*14f5a3b0Smrg * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise. 4121*14f5a3b0Smrg * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. 4122*14f5a3b0Smrg * testsuite/libstdc++-prettyprinters/simple.cc: Likewise. 4123*14f5a3b0Smrg * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. 4124*14f5a3b0Smrg * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise. 4125*14f5a3b0Smrg 4126*14f5a3b0Smrg2017-01-13 Jonathan Wakely <jwakely@redhat.com> 4127*14f5a3b0Smrg 4128*14f5a3b0Smrg PR libstdc++/65411 4129*14f5a3b0Smrg * config/io/basic_file_stdio.cc (__basic_file<char>::close()): Don't 4130*14f5a3b0Smrg retry fclose on EINTR. 4131*14f5a3b0Smrg 4132*14f5a3b0Smrg * include/profile/base.h: Remove unused header that leads to header 4133*14f5a3b0Smrg cycle in C++17 mode. 4134*14f5a3b0Smrg 4135*14f5a3b0Smrg PR libstdc++/79075 4136*14f5a3b0Smrg * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string): 4137*14f5a3b0Smrg Make _If_sv private. 4138*14f5a3b0Smrg [!_GLIBCXX_USE_CXX11_ABI] (basic_string): Add member functions taking 4139*14f5a3b0Smrg basic_string_view arguments. 4140*14f5a3b0Smrg 4141*14f5a3b0Smrg PR libstdc++/79075 4142*14f5a3b0Smrg * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove 4143*14f5a3b0Smrg redundant option from cxxflags. 4144*14f5a3b0Smrg (check_effective_target_cxx11-abi): Define. 4145*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi 4146*14f5a3b0Smrg effective target. 4147*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise. 4148*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: 4149*14f5a3b0Smrg Likewise. 4150*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/char/minimal.cc: 4151*14f5a3b0Smrg Likewise. 4152*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise. 4153*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/char/move_assign.cc: 4154*14f5a3b0Smrg Likewise. 4155*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: 4156*14f5a3b0Smrg Likewise. 4157*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise. 4158*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: 4159*14f5a3b0Smrg Likewise. 4160*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: 4161*14f5a3b0Smrg Likewise. 4162*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: 4163*14f5a3b0Smrg Likewise. 4164*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: 4165*14f5a3b0Smrg Likewise. 4166*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: 4167*14f5a3b0Smrg Likewise. 4168*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: 4169*14f5a3b0Smrg Likewise. 4170*14f5a3b0Smrg * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: 4171*14f5a3b0Smrg Likewise. 4172*14f5a3b0Smrg * testsuite/23_containers/list/61347.cc: Likewise. 4173*14f5a3b0Smrg * testsuite/27_io/basic_fstream/cons/base.cc: Likewise. 4174*14f5a3b0Smrg * testsuite/27_io/ios_base/failure/cxx11.cc: Likewise. 4175*14f5a3b0Smrg 4176*14f5a3b0Smrg2017-01-13 Ville Voutilainen <ville.voutilainen@gmail.com> 4177*14f5a3b0Smrg 4178*14f5a3b0Smrg PR libstdc++/78389 4179*14f5a3b0Smrg * include/bits/list.tcc (merge(list&&)): 4180*14f5a3b0Smrg Adjust list sizes if the comparator throws. 4181*14f5a3b0Smrg (merge(list&&, _StrictWeakOrdering)): Likewise. 4182*14f5a3b0Smrg (sort()): Splice elements back from the scratch buffers 4183*14f5a3b0Smrg if the comparator throws. 4184*14f5a3b0Smrg (sort(_StrictWeakOrdering)): Likewise. 4185*14f5a3b0Smrg * testsuite/23_containers/list/operations/78389.cc: New. 4186*14f5a3b0Smrg 4187*14f5a3b0Smrg2017-01-13 Jonathan Wakely <jwakely@redhat.com> 4188*14f5a3b0Smrg 4189*14f5a3b0Smrg * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark 4190*14f5a3b0Smrg XFAIL for C++17 until node reinsertion supports fancy pointers. 4191*14f5a3b0Smrg 4192*14f5a3b0Smrg PR libstdc++/78361 4193*14f5a3b0Smrg * testsuite/20_util/add_pointer/value.cc: Test forming function 4194*14f5a3b0Smrg pointers. 4195*14f5a3b0Smrg 4196*14f5a3b0Smrg2017-01-13 Michael Brune <lucdanton@free.fr> 4197*14f5a3b0Smrg 4198*14f5a3b0Smrg PR libstdc++/78361 4199*14f5a3b0Smrg * include/std/type_traits (__is_referenceable): Handle noexcept 4200*14f5a3b0Smrg function types. 4201*14f5a3b0Smrg 4202*14f5a3b0Smrg2017-01-12 Jonathan Wakely <jwakely@redhat.com> 4203*14f5a3b0Smrg 4204*14f5a3b0Smrg PR libstdc++/77528 4205*14f5a3b0Smrg * include/bits/stl_queue.h (queue, priority_queue): Remove default 4206*14f5a3b0Smrg member-initializers and define default constructors as templates with 4207*14f5a3b0Smrg constraints. 4208*14f5a3b0Smrg * include/bits/stl_stack.h (stack): Likewise. 4209*14f5a3b0Smrg * testsuite/23_containers/priority_queue/requirements/constructible.cc: 4210*14f5a3b0Smrg New. 4211*14f5a3b0Smrg * testsuite/23_containers/priority_queue/requirements/ 4212*14f5a3b0Smrg explicit_instantiation/1.cc: Test more instantiations. 4213*14f5a3b0Smrg * testsuite/23_containers/priority_queue/requirements/ 4214*14f5a3b0Smrg explicit_instantiation/1_c++98.cc: Likewise. 4215*14f5a3b0Smrg * testsuite/23_containers/queue/requirements/constructible.cc: New. 4216*14f5a3b0Smrg * testsuite/23_containers/stack/requirements/constructible.cc: New. 4217*14f5a3b0Smrg 4218*14f5a3b0Smrg PR libstdc++/66284 4219*14f5a3b0Smrg * doc/xml/manual/intro.xml: Document LWG 2781 change. 4220*14f5a3b0Smrg * doc/html/*: Regenerate. 4221*14f5a3b0Smrg * include/std/functional (_Function_base::_Ref_manager): Remove. 4222*14f5a3b0Smrg (_Function_handler): Remove partial specializations for 4223*14f5a3b0Smrg reference_wrapper. 4224*14f5a3b0Smrg (function::target): Remove special case for const qualification. 4225*14f5a3b0Smrg * testsuite/20_util/function/6.cc: Adjust tests for target type. 4226*14f5a3b0Smrg * testsuite/20_util/function/7.cc: Likewise. 4227*14f5a3b0Smrg * testsuite/20_util/function/8.cc: Likewise. 4228*14f5a3b0Smrg 4229*14f5a3b0Smrg2017-01-11 Jonathan Wakely <jwakely@redhat.com> 4230*14f5a3b0Smrg 4231*14f5a3b0Smrg PR libstdc++/78134 4232*14f5a3b0Smrg * include/bits/stl_map.h (map::lower_bound, map::upper_bound) 4233*14f5a3b0Smrg (map::equal_range): Fix return type of heterogeneous overloads. 4234*14f5a3b0Smrg * include/bits/stl_multimap.h (multimap::lower_bound) 4235*14f5a3b0Smrg (multimap::upper_bound, multimap::equal_range): Likewise. 4236*14f5a3b0Smrg * include/bits/stl_multiset.h (multiset::lower_bound) 4237*14f5a3b0Smrg (multiset::upper_bound, multiset::equal_range): Likewise. 4238*14f5a3b0Smrg * include/bits/stl_set.h (set::lower_bound, set::upper_bound) 4239*14f5a3b0Smrg (set::equal_range): Likewise. 4240*14f5a3b0Smrg * testsuite/23_containers/map/operations/2.cc 4241*14f5a3b0Smrg * testsuite/23_containers/multimap/operations/2.cc 4242*14f5a3b0Smrg * testsuite/23_containers/multiset/operations/2.cc 4243*14f5a3b0Smrg * testsuite/23_containers/set/operations/2.cc 4244*14f5a3b0Smrg 4245*14f5a3b0Smrg PR libstdc++/78273 4246*14f5a3b0Smrg * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume 4247*14f5a3b0Smrg the heterogeneous comparison can only find one match. 4248*14f5a3b0Smrg * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise. 4249*14f5a3b0Smrg * testsuite/23_containers/map/operations/2.cc: Test count works with 4250*14f5a3b0Smrg comparison function that just partitions rather than sorting. 4251*14f5a3b0Smrg * testsuite/23_containers/set/operations/2.cc: Likewise. 4252*14f5a3b0Smrg 4253*14f5a3b0Smrg2017-01-11 Ville Voutilainen <ville.voutilainen@gmail.com> 4254*14f5a3b0Smrg 4255*14f5a3b0Smrg Reduce the size of variant, it doesn't need an index of 4256*14f5a3b0Smrg type size_t internally. 4257*14f5a3b0Smrg * include/std/variant (parse_numbers.h): New include. 4258*14f5a3b0Smrg (__select_index): New. 4259*14f5a3b0Smrg (_Variant_storage<false, _Types...>::_M_reset_impl): Use 4260*14f5a3b0Smrg _index_type for comparison with variant_npos. 4261*14f5a3b0Smrg (_Variant_storage<false, _Types...>::__index_type): New. 4262*14f5a3b0Smrg (_Variant_storage<false, _Types...>::_M_index): Change the 4263*14f5a3b0Smrg type from size_t to __index_type. 4264*14f5a3b0Smrg (_Variant_storage<true, _Types...>::__index_type): New. 4265*14f5a3b0Smrg (_Variant_storage<true, _Types...>::_M_index): Change the 4266*14f5a3b0Smrg type from size_t to __index_type. 4267*14f5a3b0Smrg (_Variant_base::_M_valid): Use _Storage::__index_type 4268*14f5a3b0Smrg for comparison with variant_npos. 4269*14f5a3b0Smrg (variant::index): Use _Base::_Storage::__index_type 4270*14f5a3b0Smrg for comparison with variant_npos. 4271*14f5a3b0Smrg * testsuite/20_util/variant/index_type.cc: New. 4272*14f5a3b0Smrg 4273*14f5a3b0Smrg2017-01-10 Jonathan Wakely <jwakely@redhat.com> 4274*14f5a3b0Smrg 4275*14f5a3b0Smrg * testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust 4276*14f5a3b0Smrg effective target selector to prevent running in C++17 mode. 4277*14f5a3b0Smrg 4278*14f5a3b0Smrg PR libstdc++/77528 4279*14f5a3b0Smrg * include/bits/stl_queue.h (queue::c): Add default member initializer. 4280*14f5a3b0Smrg (queue::queue()): Add constructor and define as defaulted. 4281*14f5a3b0Smrg (queue::queue(_Sequence&&)): Remove default argument. 4282*14f5a3b0Smrg (priority_queue::c, priority_queue::comp): Add default member 4283*14f5a3b0Smrg initializers. 4284*14f5a3b0Smrg (priority_queue::priority_queue()): Add constructor and define as 4285*14f5a3b0Smrg defaulted. 4286*14f5a3b0Smrg (priority_queue::priority_queue(const _Compare&, _Sequence&&)): 4287*14f5a3b0Smrg Remove default argument for first parameter. 4288*14f5a3b0Smrg * include/bits/stl_stack.h (stack::c): Add default member initializer. 4289*14f5a3b0Smrg (stack::stack()): Add constructor and define as defaulted. 4290*14f5a3b0Smrg (stack::stack(const _Sequence&)): Remove default argument. 4291*14f5a3b0Smrg * testsuite/23_containers/priority_queue/requirements/ 4292*14f5a3b0Smrg explicit_instantiation/1.cc: Test explicit instantiation with 4293*14f5a3b0Smrg non-DefaultConstructible sequence. 4294*14f5a3b0Smrg * testsuite/23_containers/priority_queue/77528.cc: New test. 4295*14f5a3b0Smrg * testsuite/23_containers/priority_queue/requirements/ 4296*14f5a3b0Smrg explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc. 4297*14f5a3b0Smrg * testsuite/23_containers/queue/77528.cc: New test. 4298*14f5a3b0Smrg * testsuite/23_containers/queue/requirements/explicit_instantiation/ 4299*14f5a3b0Smrg 1.cc: Test explicit instantiation with non-DefaultConstructible 4300*14f5a3b0Smrg sequence. 4301*14f5a3b0Smrg * testsuite/23_containers/queue/requirements/explicit_instantiation/ 4302*14f5a3b0Smrg 1_c++0x.cc: Replace with 1_c++98.cc. 4303*14f5a3b0Smrg * testsuite/23_containers/stack/77528.cc: New test. 4304*14f5a3b0Smrg * testsuite/23_containers/stack/requirements/explicit_instantiation/ 4305*14f5a3b0Smrg 1.cc: Test explicit instantiation with non-DefaultConstructible 4306*14f5a3b0Smrg sequence. 4307*14f5a3b0Smrg * testsuite/23_containers/stack/requirements/explicit_instantiation/ 4308*14f5a3b0Smrg 1_c++0x.cc: Replace with 1_c++98.cc. 4309*14f5a3b0Smrg 4310*14f5a3b0Smrg2017-01-10 Felipe Magno de Almeida <felipe@expertisesolutions.com.br> 4311*14f5a3b0Smrg 4312*14f5a3b0Smrg * include/bits/locale_facets_nonio.tcc 4313*14f5a3b0Smrg (time_get::_M_extract_via_format): Avoid compilation errors with 4314*14f5a3b0Smrg non-standard struct tm. 4315*14f5a3b0Smrg 4316*14f5a3b0Smrg2017-01-10 François Dumont <fdumont@gcc.gnu.org> 4317*14f5a3b0Smrg Jonathan Wakely <jwakely@redhat.com> 4318*14f5a3b0Smrg 4319*14f5a3b0Smrg * python/libstdcxx/v6/printers.py (_versioned_namespace): Define. 4320*14f5a3b0Smrg (is_specialization, strip_versioned_namespace): New helpers functions 4321*14f5a3b0Smrg to work with symbols in the versioned namespace. 4322*14f5a3b0Smrg (Printer.add_version): Add second name using versioned namespace. 4323*14f5a3b0Smrg (add_one_template_type_printer, add_one_type_printer): Add second 4324*14f5a3b0Smrg type printers using versioned namespace. 4325*14f5a3b0Smrg (register_type_printers): Add template type printer for basic_string. 4326*14f5a3b0Smrg (build_libstdcxx_dictionary): Remove dead code. 4327*14f5a3b0Smrg * python/libstdcxx/v6/xmethods.py: Make all matchers look for 4328*14f5a3b0Smrg versioned namespace. 4329*14f5a3b0Smrg * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected 4330*14f5a3b0Smrg results. 4331*14f5a3b0Smrg * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise. 4332*14f5a3b0Smrg 4333*14f5a3b0Smrg2017-01-09 Jonathan Wakely <jwakely@redhat.com> 4334*14f5a3b0Smrg 4335*14f5a3b0Smrg PR libstdc++/79017 4336*14f5a3b0Smrg * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround 4337*14f5a3b0Smrg functions separately on darwin and if they're missing define 4338*14f5a3b0Smrg _GLIBCXX_NO_C99_ROUNDING_FUNCS. 4339*14f5a3b0Smrg * config.h.in: Regenerate. 4340*14f5a3b0Smrg * configure: Regenerate. 4341*14f5a3b0Smrg * include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint) 4342*14f5a3b0Smrg (llrintf, llrintl, llround, llroundf, llroundl): Do not define. 4343*14f5a3b0Smrg 4344*14f5a3b0Smrg * testsuite/30_threads/condition_variable/members/3.cc: Use new macro 4345*14f5a3b0Smrg to detect correct thread_local destructors. 4346*14f5a3b0Smrg * testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS): 4347*14f5a3b0Smrg Define. 4348*14f5a3b0Smrg 4349*14f5a3b0Smrg2017-01-09 Jonathan Wakely <jwakely@redhat.com> 4350*14f5a3b0Smrg Aditya Kumar <hiraditya@msn.com> 4351*14f5a3b0Smrg 4352*14f5a3b0Smrg PR libstdc++/66414 4353*14f5a3b0Smrg * include/bits/basic_string.tcc 4354*14f5a3b0Smrg (basic_string::find(const CharT*, size_type, size_type)): Optimize. 4355*14f5a3b0Smrg 4356*14f5a3b0Smrg2017-01-06 Jonathan Wakely <jwakely@redhat.com> 4357*14f5a3b0Smrg 4358*14f5a3b0Smrg * testsuite/21_strings/basic_string/operations/find/char/6.cc: New. 4359*14f5a3b0Smrg * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New. 4360*14f5a3b0Smrg 4361*14f5a3b0Smrg * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp: 4362*14f5a3b0Smrg Include <cassert> header. 4363*14f5a3b0Smrg 4364*14f5a3b0Smrg PR libstdc++/78968 4365*14f5a3b0Smrg * crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*. 4366*14f5a3b0Smrg * configure: Regenerate. 4367*14f5a3b0Smrg 4368*14f5a3b0Smrg2017-01-06 Barrett Adair <barrettellisadair@gmail.com> 4369*14f5a3b0Smrg Jonathan Wakely <jwakely@redhat.com> 4370*14f5a3b0Smrg 4371*14f5a3b0Smrg * include/std/variant (variant, swap): Replace __and_ usage with fold 4372*14f5a3b0Smrg expressions. 4373*14f5a3b0Smrg 4374*14f5a3b0Smrg2017-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4375*14f5a3b0Smrg 4376*14f5a3b0Smrg PR go/78978 4377*14f5a3b0Smrg * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove. 4378*14f5a3b0Smrg * configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of 4379*14f5a3b0Smrg GLIBCXX_CHECK_ASSEMBLER_HWCAP. 4380*14f5a3b0Smrg * fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of 4381*14f5a3b0Smrg HWCAP_FLAGS. 4382*14f5a3b0Smrg * aclocal.m4: Regenerate. 4383*14f5a3b0Smrg * configure: Regenerate. 4384*14f5a3b0Smrg * Makefile.in, doc/Makefile.in, include/Makefile.in, 4385*14f5a3b0Smrg libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in, 4386*14f5a3b0Smrg src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in, 4387*14f5a3b0Smrg src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate. 4388*14f5a3b0Smrg 4389*14f5a3b0Smrg2017-01-06 Jonathan Wakely <jwakely@redhat.com> 4390*14f5a3b0Smrg 4391*14f5a3b0Smrg * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition. 4392*14f5a3b0Smrg 4393*14f5a3b0Smrg PR libstdc++/78991 4394*14f5a3b0Smrg * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val) 4395*14f5a3b0Smrg (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val) 4396*14f5a3b0Smrg (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and 4397*14f5a3b0Smrg move function objects. 4398*14f5a3b0Smrg (__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter) 4399*14f5a3b0Smrg (__iter_comp_val, __iter_comp_iter, __negate): Move function objects. 4400*14f5a3b0Smrg * testsuite/25_algorithms/sort/78991.cc: New test. 4401*14f5a3b0Smrg 4402*14f5a3b0Smrg2017-01-05 Jonathan Wakely <jwakely@redhat.com> 4403*14f5a3b0Smrg 4404*14f5a3b0Smrg * include/bits/std_function.h (function::_Signature_type): Remove. 4405*14f5a3b0Smrg (function::function(_Functor)): Adjust. 4406*14f5a3b0Smrg 4407*14f5a3b0Smrg2017-01-05 Tim Shen <timshen@google.com> 4408*14f5a3b0Smrg 4409*14f5a3b0Smrg PR libstdc++/78996 4410*14f5a3b0Smrg * include/std/variant (__gen_vtable_impl): rename __unused to 4411*14f5a3b0Smrg __dimensions to avoid naming conflict. 4412*14f5a3b0Smrg 4413*14f5a3b0Smrg2017-01-04 Jonathan Wakely <jwakely@redhat.com> 4414*14f5a3b0Smrg 4415*14f5a3b0Smrg PR libstdc++/78968 4416*14f5a3b0Smrg * config.h.in: Regenerate. 4417*14f5a3b0Smrg * configure: Likewise. 4418*14f5a3b0Smrg * configure.ac: Check for __cxa_thread_atexit. 4419*14f5a3b0Smrg * libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]: 4420*14f5a3b0Smrg Don't define __cxa_thread_atexit if libc provides it. 4421*14f5a3b0Smrg 4422*14f5a3b0Smrg2017-01-04 Ville Voutilainen <ville.voutilainen@gmail.com> 4423*14f5a3b0Smrg 4424*14f5a3b0Smrg Implement 2801, Default-constructibility of unique_ptr. 4425*14f5a3b0Smrg * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New. 4426*14f5a3b0Smrg (unique_ptr::_DeleterConstraint): Likewise. 4427*14f5a3b0Smrg (unique_ptr()): Constrain. 4428*14f5a3b0Smrg (unique_ptr(pointer)): Likewise. 4429*14f5a3b0Smrg (unique_ptr(nullptr_t)): Likewise. 4430*14f5a3b0Smrg (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New. 4431*14f5a3b0Smrg (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain. 4432*14f5a3b0Smrg (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise. 4433*14f5a3b0Smrg (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise. 4434*14f5a3b0Smrg * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust. 4435*14f5a3b0Smrg * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise. 4436*14f5a3b0Smrg * testsuite/20_util/unique_ptr/cons/default.cc: New. 4437*14f5a3b0Smrg * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust. 4438*14f5a3b0Smrg 4439*14f5a3b0Smrg2017-01-04 Pauli Nieminen <suokkos@gmail.com> 4440*14f5a3b0Smrg Jonathan Wakely <jwakely@redhat.com> 4441*14f5a3b0Smrg 4442*14f5a3b0Smrg PR libstdc++/64735 4443*14f5a3b0Smrg * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define. 4444*14f5a3b0Smrg * config.h.in: Regenerate. 4445*14f5a3b0Smrg * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46] 4446*14f5a3b0Smrg (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make 4447*14f5a3b0Smrg exports for exception_ptr, nested_exception, and future conditional. 4448*14f5a3b0Smrg [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add 4449*14f5a3b0Smrg exports for exception_ptr, nested_exception, and future conditional. 4450*14f5a3b0Smrg * configure: Regenerate. 4451*14f5a3b0Smrg * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER. 4452*14f5a3b0Smrg * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE 4453*14f5a3b0Smrg * libsupc++/eh_atomics.h: New file for internal use only. 4454*14f5a3b0Smrg (__eh_atomic_inc, __eh_atomic_dec): New. 4455*14f5a3b0Smrg * libsupc++/eh_ptr.cc (exception_ptr::_M_addref) 4456*14f5a3b0Smrg (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup) 4457*14f5a3b0Smrg (rethrow_exception): Use eh_atomics.h reference counting helpers. 4458*14f5a3b0Smrg * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise. 4459*14f5a3b0Smrg * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise. 4460*14f5a3b0Smrg * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE. 4461*14f5a3b0Smrg * libsupc++/exception_ptr.h: Likewise. 4462*14f5a3b0Smrg * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro. 4463*14f5a3b0Smrg * libsupc++/nested_exception.cc: Remove check for 4464*14f5a3b0Smrg ATOMIC_INT_LOCK_FREE. 4465*14f5a3b0Smrg * libsupc++/nested_exception.h: Likewise. 4466*14f5a3b0Smrg * src/c++11/future.cc: Likewise. 4467*14f5a3b0Smrg * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks. 4468*14f5a3b0Smrg * testsuite/18_support/nested_exception/*: Likewise. 4469*14f5a3b0Smrg * testsuite/30_threads/async/*: Likewise. 4470*14f5a3b0Smrg * testsuite/30_threads/future/*: Likewise. 4471*14f5a3b0Smrg * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise. 4472*14f5a3b0Smrg * testsuite/30_threads/packaged_task/*: Likewise. 4473*14f5a3b0Smrg * testsuite/30_threads/promise/*: Likewise. 4474*14f5a3b0Smrg * testsuite/30_threads/shared_future/*: Likewise. 4475*14f5a3b0Smrg 4476*14f5a3b0Smrg2017-01-03 Gerald Pfeifer <gerald@pfeifer.com> 4477*14f5a3b0Smrg 4478*14f5a3b0Smrg * doc/xml/manual/documentation_hacking.xml: sourceforge.net now 4479*14f5a3b0Smrg defaults to https; adjust reference. 4480*14f5a3b0Smrg 4481*14f5a3b0Smrg2017-01-03 Jonathan Wakely <jwakely@redhat.com> 4482*14f5a3b0Smrg 4483*14f5a3b0Smrg PR libstdc++/78956 4484*14f5a3b0Smrg * include/std/thread (thread(const thread&&)): Add deleted 4485*14f5a3b0Smrg constructor. 4486*14f5a3b0Smrg * testsuite/30_threads/thread/cons/lwg2097.cc: New test. 4487*14f5a3b0Smrg 4488*14f5a3b0Smrg * doc/xml/manual/spine.xml: Update copyright years. 4489*14f5a3b0Smrg * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir. 4490*14f5a3b0Smrg * doc/xml/manual/test.xml: Likewise. 4491*14f5a3b0Smrg * doc/html/*: Regenerate. 4492*14f5a3b0Smrg 4493*14f5a3b0Smrg2017-01-01 Gerald Pfeifer <gerald@pfeifer.com> 4494*14f5a3b0Smrg 4495*14f5a3b0Smrg * doc/xml/faq.xml: Update address of C++ ABI link. 4496*14f5a3b0Smrg * doc/xml/manual/abi.xml: Ditto. 4497*14f5a3b0Smrg 4498*14f5a3b0Smrg2017-01-01 Jakub Jelinek <jakub@redhat.com> 4499*14f5a3b0Smrg 4500*14f5a3b0Smrg Update copyright years. 4501*14f5a3b0Smrg 4502*14f5a3b0SmrgCopyright (C) 2017 Free Software Foundation, Inc. 4503*14f5a3b0Smrg 4504*14f5a3b0SmrgCopying and distribution of this file, with or without modification, 4505*14f5a3b0Smrgare permitted in any medium without royalty provided the copyright 4506*14f5a3b0Smrgnotice and this notice are preserved. 4507