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