1*f9a78e0eSmrg2015-12-27 Edward Smith-Rowland <3dw4rd@verizon.net> 2*f9a78e0eSmrg 3*f9a78e0eSmrg * include/bits/c++0x_warning.h Remove experimental language. 4*f9a78e0eSmrg 5*f9a78e0eSmrg2015-12-24 Jason Merrill <jason@redhat.com> 6*f9a78e0eSmrg 7*f9a78e0eSmrg * testsuite/ext/bitmap_allocator/check_deallocate_null.cc 8*f9a78e0eSmrg * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc: 9*f9a78e0eSmrg Correct use of __GXX_WEAK__ macro. 10*f9a78e0eSmrg 11*f9a78e0eSmrg2015-12-22 Jonathan Wakely <jwakely@redhat.com> 12*f9a78e0eSmrg 13*f9a78e0eSmrg PR libstdc++/59768 14*f9a78e0eSmrg * include/std/functional (__invfwd): Add inline specifier. 15*f9a78e0eSmrg 16*f9a78e0eSmrg2015-12-21 Jonathan Wakely <jwakely@redhat.com> 17*f9a78e0eSmrg 18*f9a78e0eSmrg PR libstdc++/68982 19*f9a78e0eSmrg testsuite/20_util/function_objects/mem_fn/68276.cc: Rename to ... 20*f9a78e0eSmrg testsuite/20_util/function_objects/mem_fn/68982.cc: Correct bug number. 21*f9a78e0eSmrg 22*f9a78e0eSmrg PR libstdc++/68995 23*f9a78e0eSmrg * include/std/functional (_function_handler, function): Qualify 24*f9a78e0eSmrg __callable_functor. 25*f9a78e0eSmrg * testsuite/20_util/function/68995.cc: New. 26*f9a78e0eSmrg 27*f9a78e0eSmrg PR libstdc++/68276 28*f9a78e0eSmrg * include/std/functional (__invoke_impl, _Mem_fn::operator()): Qualify 29*f9a78e0eSmrg std::forward. 30*f9a78e0eSmrg testsuite/20_util/function_objects/mem_fn/68276.cc: New. 31*f9a78e0eSmrg 32*f9a78e0eSmrg2015-12-21 Ville Voutilainen <ville.voutilainen@gmail.com> 33*f9a78e0eSmrg 34*f9a78e0eSmrg PR libstdc++/66693 35*f9a78e0eSmrg * include/std/tuple (tuple_element, tuple_size, tuple_element_t, 36*f9a78e0eSmrg __tuple_element_t): Move to... 37*f9a78e0eSmrg * include/std/utility: ...here. 38*f9a78e0eSmrg * testsuite/20_util/pair/astuple/astuple.cc: Adjust. 39*f9a78e0eSmrg * testsuite/20_util/pair/astuple/astuple_cpp14.cc: New. 40*f9a78e0eSmrg * testsuite/20_util/tuple/tuple_element.cc: Adjust. 41*f9a78e0eSmrg * testsuite/20_util/tuple/tuple_element_t.cc: Likewise. 42*f9a78e0eSmrg * testsuite/20_util/tuple/tuple_size.cc: Likewise. 43*f9a78e0eSmrg * testsuite/23_containers/array/tuple_interface/tuple_element.cc: 44*f9a78e0eSmrg Likewise. 45*f9a78e0eSmrg * testsuite/23_containers/array/tuple_interface/tuple_element_cpp14.cc: 46*f9a78e0eSmrg New. 47*f9a78e0eSmrg * testsuite/23_containers/array/tuple_interface/tuple_size.cc: Adjust. 48*f9a78e0eSmrg 49*f9a78e0eSmrg2015-12-18 Ville Voutilainen <ville.voutilainen@gmail.com> 50*f9a78e0eSmrg 51*f9a78e0eSmrg Fix a regression introduced by the fix of libstdc++/68276. 52*f9a78e0eSmrg * src/c++11/ios.cc (_M_grow_words): Catch bad_alloc again so that 53*f9a78e0eSmrg bad_array_new_length is handled properly. 54*f9a78e0eSmrg 55*f9a78e0eSmrg2015-12-18 Ville Voutilainen <ville.voutilainen@gmail.com> 56*f9a78e0eSmrg 57*f9a78e0eSmrg PR libstdc++/68276 58*f9a78e0eSmrg 59*f9a78e0eSmrg * src/c++11/ios.cc (_M_grow_words): Use nothrow new. 60*f9a78e0eSmrg * testsuite/27_io/ios_base/storage/11584.cc: Adjust. 61*f9a78e0eSmrg 62*f9a78e0eSmrg2015-12-18 Andris Pavenis <andris.pavenis@iki.fi> 63*f9a78e0eSmrg 64*f9a78e0eSmrg * config/os/djgpp/error_constants.h: update according to DJGPP errno 65*f9a78e0eSmrg macros. 66*f9a78e0eSmrg 67*f9a78e0eSmrg2015-12-15 Jonathan Wakely <jwakely@redhat.com> 68*f9a78e0eSmrg 69*f9a78e0eSmrg PR libstdc++/68921 70*f9a78e0eSmrg * src/c++11/futex.cc 71*f9a78e0eSmrg (__atomic_futex_unsigned_base::_M_futex_wait_until): Use null pointer 72*f9a78e0eSmrg as timeout argument. 73*f9a78e0eSmrg 74*f9a78e0eSmrg * include/std/functional (_Mu<_Arg, false, false>::operator()): Restore 75*f9a78e0eSmrg accidentally-removed volatile qualifier. 76*f9a78e0eSmrg 77*f9a78e0eSmrg * include/std/functional (is_placeholder, is_bind_expression): Update 78*f9a78e0eSmrg comments. 79*f9a78e0eSmrg (_Safe_tuple_element): Replace with _Safe_tuple_element_t alias 80*f9a78e0eSmrg template. 81*f9a78e0eSmrg (_Mu): Remove vestigial TR1 return types and update coments. 82*f9a78e0eSmrg 83*f9a78e0eSmrg PR libstdc++/68912 84*f9a78e0eSmrg * include/std/functional (_Bind::operator()): Use lvalue functor to 85*f9a78e0eSmrg deduce return type. 86*f9a78e0eSmrg * testsuite/20_util/bind/68912.cc: New. 87*f9a78e0eSmrg 88*f9a78e0eSmrg2015-12-15 Tim Shen <timshen@google.com> 89*f9a78e0eSmrg 90*f9a78e0eSmrg PR libstdc++/68863 91*f9a78e0eSmrg * include/bits/regex_executor.tcc (_Executor::_M_lookahead): 92*f9a78e0eSmrg Copy the captured content for lookahead, so that the backreferences 93*f9a78e0eSmrg inside can refer to them. 94*f9a78e0eSmrg * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc: 95*f9a78e0eSmrg New testcase. 96*f9a78e0eSmrg 97*f9a78e0eSmrg2015-12-14 Ville Voutilainen <ville.voutilainen@gmail.com> 98*f9a78e0eSmrg 99*f9a78e0eSmrg Document the implementation of Logical Operator Type Traits. 100*f9a78e0eSmrg 101*f9a78e0eSmrg * doc/html/index.html: Regenerate. 102*f9a78e0eSmrg * doc/html/manual/status.html: Likewise. 103*f9a78e0eSmrg * doc/xml/manual/status_cxx2017.xml: Add P0013R1 to C++ 201z 104*f9a78e0eSmrg and to Library Fundamentals 2 TS. 105*f9a78e0eSmrg 106*f9a78e0eSmrg2015-12-11 Jonathan Wakely <jwakely@redhat.com> 107*f9a78e0eSmrg 108*f9a78e0eSmrg PR libstdc++/59768 109*f9a78e0eSmrg * include/std/functional (_Unwrap, __invfwd): Define. 110*f9a78e0eSmrg (__invoke_impl): Remove reference_wrapper overloads and use __invfwd. 111*f9a78e0eSmrg * include/std/type_traits (__result_of_memobj, __result_of_memfun): 112*f9a78e0eSmrg Add partial specializations for const reference_wrappers and simplify. 113*f9a78e0eSmrg * testsuite/20_util/bind/ref_neg.cc: Use dg-excess-errors. 114*f9a78e0eSmrg * testsuite/20_util/function_objects/invoke/59768.cc: New. 115*f9a78e0eSmrg 116*f9a78e0eSmrg2015-12-11 Ville Voutilainen <ville.voutilainen@gmail.com> 117*f9a78e0eSmrg 118*f9a78e0eSmrg PR libstdc++/68139 119*f9a78e0eSmrg 120*f9a78e0eSmrg * libsupc++/nested_exception.h (_S_rethrow): Use std::__addressof. 121*f9a78e0eSmrg * testsuite/18_support/nested_exception/68139.cc: New. 122*f9a78e0eSmrg 123*f9a78e0eSmrg2015-12-10 Jonathan Wakely <jwakely@redhat.com> 124*f9a78e0eSmrg 125*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Replace 126*f9a78e0eSmrg -std=gnu++1y with -std=gnu++14. 127*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cast/cast.cc: Likewise. 128*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc: 129*f9a78e0eSmrg Likewise. 130*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: 131*f9a78e0eSmrg Likewise. 132*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: 133*f9a78e0eSmrg Likewise. 134*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: 135*f9a78e0eSmrg Likewise. 136*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: 137*f9a78e0eSmrg Likewise. 138*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc: 139*f9a78e0eSmrg Likewise. 140*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: 141*f9a78e0eSmrg Likewise. 142*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc: 143*f9a78e0eSmrg Likewise. 144*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc: 145*f9a78e0eSmrg Likewise. 146*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc: 147*f9a78e0eSmrg Likewise. 148*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise. 149*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: 150*f9a78e0eSmrg Likewise. 151*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: 152*f9a78e0eSmrg Likewise. 153*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc: 154*f9a78e0eSmrg Likewise. 155*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/observers/operators.cc: 156*f9a78e0eSmrg Likewise. 157*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc: 158*f9a78e0eSmrg Likewise. 159*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/observers/use_count.cc: 160*f9a78e0eSmrg Likewise. 161*f9a78e0eSmrg 162*f9a78e0eSmrg PR libstdc++/68825 163*f9a78e0eSmrg * include/experimental/bits/shared_ptr.h (__shared_ptr, __weak_ptr, 164*f9a78e0eSmrg experimental::shared_ptr, experimental::weak_ptr): Constrain 165*f9a78e0eSmrg assignment operators. 166*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: 167*f9a78e0eSmrg Change to a compile-only test and change dg-excess-errors to dg-error. 168*f9a78e0eSmrg 169*f9a78e0eSmrg * doc/doxygen/user.cfg.in: Use EXTENSION_MAPPING tag. Add new headers 170*f9a78e0eSmrg to INPUT. Remove obsolete XML_SCHEMA and XML_DTD tags. Update 171*f9a78e0eSmrg PREDEFINED macros. Set BRIEF_MEMBER_DESC for man-pages. 172*f9a78e0eSmrg * include/backward/strstream: Correct @file comment. 173*f9a78e0eSmrg * include/bits/forward_list.h: Improve Doxygen comments. 174*f9a78e0eSmrg * include/bits/locale_facets_nonio.h: Likewise. 175*f9a78e0eSmrg * include/bits/mutex.h: Likewise. 176*f9a78e0eSmrg * include/bits/shared_ptr.h: Likewise. 177*f9a78e0eSmrg * include/bits/stl_deque.h: Likewise. 178*f9a78e0eSmrg * include/debug/vector (_Safe_vector): Add @brief section to comment. 179*f9a78e0eSmrg * include/experimental/bits/fs_dir.h: Correct @file comment. 180*f9a78e0eSmrg * include/experimental/bits/fs_fwd.h: Likewise. 181*f9a78e0eSmrg * include/experimental/bits/fs_ops.h: Likewise. 182*f9a78e0eSmrg * include/experimental/bits/fs_path.h: Likewise. 183*f9a78e0eSmrg * include/experimental/bits/string_view.tcc: Likewise. 184*f9a78e0eSmrg * include/experimental/optional: Document experimental status. 185*f9a78e0eSmrg * include/experimental/string_view: Correct @file comment. 186*f9a78e0eSmrg * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Reduce 187*f9a78e0eSmrg whitespace to avoid Doxygen bug. 188*f9a78e0eSmrg * include/std/bitset: Remove redundant @class Doxygen command. Add 189*f9a78e0eSmrg parentheses to avoid Doxygen bug. 190*f9a78e0eSmrg * include/std/mutex: Improve Doxygen comments. 191*f9a78e0eSmrg * include/tr2/dynamic_bitset: Add missing @param documentation. 192*f9a78e0eSmrg * scripts/run_doxygen: Rename man pages for std::experimental types. 193*f9a78e0eSmrg 194*f9a78e0eSmrg2015-12-04 Jonathan Wakely <jwakely@redhat.com> 195*f9a78e0eSmrg 196*f9a78e0eSmrg PR libstdc++/57060 197*f9a78e0eSmrg * include/std/thread (operator==(thread::id, thread::id)): Do not use 198*f9a78e0eSmrg __gthread_equal. 199*f9a78e0eSmrg (operator<(thread::id, thread::id)): Add comment. 200*f9a78e0eSmrg (this_thread::get_id()): Do not use __gthread_self for single-threaded 201*f9a78e0eSmrg programs using glibc. 202*f9a78e0eSmrg * testsuite/30_threads/this_thread/57060.cc: New. 203*f9a78e0eSmrg 204*f9a78e0eSmrg2015-12-02 Jonathan Wakely <jwakely@redhat.com> 205*f9a78e0eSmrg 206*f9a78e0eSmrg PR libstdc++/56383 207*f9a78e0eSmrg * testsuite/20_util/enable_shared_from_this/56383.cc: New. 208*f9a78e0eSmrg * include/bits/shared_ptr_base.h (__enable_shared_from_this): Make 209*f9a78e0eSmrg friend declaration match previous declaration of 210*f9a78e0eSmrg __enable_shared_from_this_helper. 211*f9a78e0eSmrg * include/bits/shared_ptr.h (enable_shared_from_this): Likewise. 212*f9a78e0eSmrg 213*f9a78e0eSmrg2015-12-01 Jonathan Wakely <jwakely@redhat.com> 214*f9a78e0eSmrg 215*f9a78e0eSmrg * include/experimental/bits/fs_path.h (path::_Cmpt): Move definition 216*f9a78e0eSmrg after __is_encoded_char explicit specializations. 217*f9a78e0eSmrg 218*f9a78e0eSmrg2015-11-26 Jonathan Wakely <jwakely@redhat.com> 219*f9a78e0eSmrg 220*f9a78e0eSmrg * testsuite/libstdc++-prettyprinters/debug.cc: Add -std=gnu++98 to 221*f9a78e0eSmrg dg-options and avoid use of uniform-init. 222*f9a78e0eSmrg 223*f9a78e0eSmrg * testsuite/libstdc++-prettyprinters/simple.cc: Add -std=gnu++98 to 224*f9a78e0eSmrg dg-options and avoid use of uniform-init. 225*f9a78e0eSmrg 226*f9a78e0eSmrg2015-11-26 David Edelsohn <dje.gcc@gmail.com> 227*f9a78e0eSmrg 228*f9a78e0eSmrg * configure: Regenerate. 229*f9a78e0eSmrg 230*f9a78e0eSmrg2015-11-25 Jonathan Wakely <jwakely@redhat.com> 231*f9a78e0eSmrg 232*f9a78e0eSmrg * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Explicitly 233*f9a78e0eSmrg check minimum and maximum values, and size of underlying type. 234*f9a78e0eSmrg * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise. 235*f9a78e0eSmrg * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise. 236*f9a78e0eSmrg 237*f9a78e0eSmrg2015-11-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 238*f9a78e0eSmrg 239*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY) <solaris2*>: Use 240*f9a78e0eSmrg -Wl,-R in VTV_CXXLINKFLAGS. 241*f9a78e0eSmrg * configure: Regenerate. 242*f9a78e0eSmrg 243*f9a78e0eSmrg * testsuite/18_support/bad_exception/23591_thread-1.c: Use 244*f9a78e0eSmrg -fvtable-verify=none on Solaris 12+. 245*f9a78e0eSmrg 246*f9a78e0eSmrg2015-11-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 247*f9a78e0eSmrg 248*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test. 249*f9a78e0eSmrg * configure.ac: Use it. 250*f9a78e0eSmrg * configure: Regenerate. 251*f9a78e0eSmrg * config.h.in: Regenerate. 252*f9a78e0eSmrg 253*f9a78e0eSmrg * include/c_global/cmath [__cplusplus >= 201103L] 254*f9a78e0eSmrg (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO. 255*f9a78e0eSmrg (std::isfinite): Likewise. 256*f9a78e0eSmrg (std::isinf): Likewise. 257*f9a78e0eSmrg (std::isnan): Likewise. 258*f9a78e0eSmrg (std::isnormal): Likewise. 259*f9a78e0eSmrg (std::signbit): Likewise. 260*f9a78e0eSmrg (std::isgreater): Likewise. 261*f9a78e0eSmrg (std::isgreaterequal): Likewise. 262*f9a78e0eSmrg (std::isless): Likewise. 263*f9a78e0eSmrg (std::islessequal): Likewise. 264*f9a78e0eSmrg (std::islessgreater): Likewise. 265*f9a78e0eSmrg (std::isunordered): Likewise. 266*f9a78e0eSmrg (std::acosh): Likewise. 267*f9a78e0eSmrg (std::asinh): Likewise. 268*f9a78e0eSmrg (std::atanh): Likewise. 269*f9a78e0eSmrg (std::cbrt): Likewise. 270*f9a78e0eSmrg (std::copysign): Likewise. 271*f9a78e0eSmrg (std::erf): Likewise. 272*f9a78e0eSmrg (std::erfc): Likewise. 273*f9a78e0eSmrg (std::exp2): Likewise. 274*f9a78e0eSmrg (std::expm1): Likewise. 275*f9a78e0eSmrg (std::fdim): Likewise. 276*f9a78e0eSmrg (std::fma): Likewise. 277*f9a78e0eSmrg (std::fmax): Likewise. 278*f9a78e0eSmrg (std::fmin): Likewise. 279*f9a78e0eSmrg (std::hypot): Likewise. 280*f9a78e0eSmrg (std::ilogb): Likewise. 281*f9a78e0eSmrg (std::lgamma): Likewise. 282*f9a78e0eSmrg (std::llrint): Likewise. 283*f9a78e0eSmrg (std::llround): Likewise. 284*f9a78e0eSmrg (std::log1p): Likewise. 285*f9a78e0eSmrg (std::log2): Likewise. 286*f9a78e0eSmrg (std::logb): Likewise. 287*f9a78e0eSmrg (std::lrint): Likewise. 288*f9a78e0eSmrg (std::lround): Likewise. 289*f9a78e0eSmrg (std::nearbyint): Likewise. 290*f9a78e0eSmrg (std::nextafter): Likewise. 291*f9a78e0eSmrg (std::nexttoward): Likewise. 292*f9a78e0eSmrg (std::remainder): Likewise. 293*f9a78e0eSmrg (std::remquo): Likewise. 294*f9a78e0eSmrg (std::rint): Likewise. 295*f9a78e0eSmrg (std::round): Likewise. 296*f9a78e0eSmrg (std::scalbln): Likewise. 297*f9a78e0eSmrg (std::scalbn): Likewise. 298*f9a78e0eSmrg (std::tgamma): Likewise. 299*f9a78e0eSmrg (std::trunc): Likewise. 300*f9a78e0eSmrg * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh): 301*f9a78e0eSmrg Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO. 302*f9a78e0eSmrg (std::tr1::asinh): Likewise. 303*f9a78e0eSmrg (std::tr1::atanh): Likewise. 304*f9a78e0eSmrg (std::tr1::cbrt): Likewise. 305*f9a78e0eSmrg (std::tr1::copysign): Likewise. 306*f9a78e0eSmrg (std::tr1::erf): Likewise. 307*f9a78e0eSmrg (std::tr1::erfc): Likewise. 308*f9a78e0eSmrg (std::tr1::exp2): Likewise. 309*f9a78e0eSmrg (std::tr1::expm1): Likewise. 310*f9a78e0eSmrg (std::tr1::fabs): Likewise. 311*f9a78e0eSmrg (std::tr1::fdim): Likewise. 312*f9a78e0eSmrg (std::tr1::fma): Likewise. 313*f9a78e0eSmrg (std::tr1::fmax): Likewise. 314*f9a78e0eSmrg (std::tr1::fmin): Likewise. 315*f9a78e0eSmrg (std::tr1::hypot): Likewise. 316*f9a78e0eSmrg (std::tr1::ilogb): Likewise. 317*f9a78e0eSmrg (std::tr1::lgamma): Likewise. 318*f9a78e0eSmrg (std::tr1::llrint): Likewise. 319*f9a78e0eSmrg (std::tr1::llround): Likewise. 320*f9a78e0eSmrg (std::tr1::log1p): Likewise. 321*f9a78e0eSmrg (std::tr1::log2): Likewise. 322*f9a78e0eSmrg (std::tr1::logb): Likewise. 323*f9a78e0eSmrg (std::tr1::lrint): Likewise. 324*f9a78e0eSmrg (std::tr1::lround): Likewise. 325*f9a78e0eSmrg (std::tr1::nearbyint): Likewise. 326*f9a78e0eSmrg (std::tr1::nextafter): Likewise. 327*f9a78e0eSmrg (std::tr1::nexttoward): Likewise. 328*f9a78e0eSmrg (std::tr1::remainder): Likewise. 329*f9a78e0eSmrg (std::tr1::remquo): Likewise. 330*f9a78e0eSmrg (std::tr1::rint): Likewise. 331*f9a78e0eSmrg (std::tr1::scalbln): Likewise. 332*f9a78e0eSmrg (std::tr1::scalbn): Likewise. 333*f9a78e0eSmrg (std::tr1::tgamma): Likewise. 334*f9a78e0eSmrg (std::tr1::trunc): Likewise. 335*f9a78e0eSmrg (std::tr1::pow): Likewise. 336*f9a78e0eSmrg 337*f9a78e0eSmrg * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: 338*f9a78e0eSmrg Restrict dg-xfail-if, dg-excess-errors to *-*-solaris2.1[01]*. 339*f9a78e0eSmrg 340*f9a78e0eSmrg2015-11-21 David Edelsohn <dje.gcc@gmail.com> 341*f9a78e0eSmrg 342*f9a78e0eSmrg * testsuite/23_containers/vector/profile/vector.cc: Add maxdata 343*f9a78e0eSmrg option on AIX. 344*f9a78e0eSmrg 345*f9a78e0eSmrg2015-11-20 Jan Kratochvil <jan.kratochvil@redhat.com> 346*f9a78e0eSmrg 347*f9a78e0eSmrg PR libstdc++/68448 348*f9a78e0eSmrg * python/hook.in: Call register_libstdcxx_printers. 349*f9a78e0eSmrg * python/libstdcxx/v6/__init__.py: Wrap it to 350*f9a78e0eSmrg register_libstdcxx_printers. 351*f9a78e0eSmrg 352*f9a78e0eSmrg2015-11-17 Jonathan Wakely <jwakely@redhat.com> 353*f9a78e0eSmrg 354*f9a78e0eSmrg PR libstdc++/66059 355*f9a78e0eSmrg * include/std/utility (_Build_index_tuple): Optimise. 356*f9a78e0eSmrg 357*f9a78e0eSmrg2015-11-16 Doug Evans <dje@google.com> 358*f9a78e0eSmrg 359*f9a78e0eSmrg PR libstdc++/67440 360*f9a78e0eSmrg * python/libstdcxx/v6/printers.py (find_type): Handle "const" in 361*f9a78e0eSmrg type name. 362*f9a78e0eSmrg * testsuite/libstdc++-prettyprinters/debug.cc: Add test for 363*f9a78e0eSmrg const set<int>. 364*f9a78e0eSmrg * testsuite/libstdc++-prettyprinters/simple.cc: Ditto. 365*f9a78e0eSmrg * testsuite/libstdc++-prettyprinters/simple11.cc: Ditto. 366*f9a78e0eSmrg 367*f9a78e0eSmrg2015-11-15 Jonathan Wakely <jwakely@redhat.com> 368*f9a78e0eSmrg 369*f9a78e0eSmrg PR libstdc++/68353 370*f9a78e0eSmrg * include/bits/basic_string.h: Test value of _GLIBCXX_USE_C99_WCHAR 371*f9a78e0eSmrg not whether it is defined. 372*f9a78e0eSmrg * include/ext/vstring.h: Likewise. 373*f9a78e0eSmrg 374*f9a78e0eSmrg2015-11-14 Andreas Tobler <andreast@gcc.gnu.org> 375*f9a78e0eSmrg 376*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Change locale implementation 377*f9a78e0eSmrg from darwin to DragonFly. 378*f9a78e0eSmrg * configure: Regenerate. 379*f9a78e0eSmrg * config/os/bsd/freebsd/ctype_configure_char.cc: Improve locale 380*f9a78e0eSmrg support, do it the same as DragonFly. 381*f9a78e0eSmrg * config/os/bsd/freebsd/os_defines.h: Add fine grained C99 defines. 382*f9a78e0eSmrg 383*f9a78e0eSmrg2015-11-14 Jonathan Wakely <jwakely@redhat.com> 384*f9a78e0eSmrg 385*f9a78e0eSmrg * testsuite/21_strings/basic_string/capacity/char/18654.cc: Use 386*f9a78e0eSmrg real minimum capacity. 387*f9a78e0eSmrg * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: 388*f9a78e0eSmrg Likewise. 389*f9a78e0eSmrg 390*f9a78e0eSmrg2015-11-13 David Edelsohn <dje.gcc@gmail.com> 391*f9a78e0eSmrg 392*f9a78e0eSmrg * testsuite/experimental/random/randint.cc: Add dg-add-options tls. 393*f9a78e0eSmrg 394*f9a78e0eSmrg2015-11-13 Jonathan Wakely <jwakely@redhat.com> 395*f9a78e0eSmrg 396*f9a78e0eSmrg * include/Makefile.am: Add new header. 397*f9a78e0eSmrg * include/Makefile.in: Regenerate. 398*f9a78e0eSmrg * include/experimental/random: New. 399*f9a78e0eSmrg * testsuite/experimental/random/randint.cc: New. 400*f9a78e0eSmrg 401*f9a78e0eSmrg2015-11-13 John Marino <gnugcc@marino.st> 402*f9a78e0eSmrg 403*f9a78e0eSmrg * testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc: 404*f9a78e0eSmrg Use portable locale name 405*f9a78e0eSmrg * testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc: 406*f9a78e0eSmrg Likewise. 407*f9a78e0eSmrg * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise. 408*f9a78e0eSmrg * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise. 409*f9a78e0eSmrg * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc: 410*f9a78e0eSmrg Likewise. 411*f9a78e0eSmrg * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc: 412*f9a78e0eSmrg Likewise. 413*f9a78e0eSmrg * testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc: Likewise. 414*f9a78e0eSmrg * testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc: 415*f9a78e0eSmrg Likewise. 416*f9a78e0eSmrg * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise. 417*f9a78e0eSmrg * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise. 418*f9a78e0eSmrg * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc: 419*f9a78e0eSmrg Likewise. 420*f9a78e0eSmrg * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc: 421*f9a78e0eSmrg Likewise. 422*f9a78e0eSmrg * testsuite/22_locale/codecvt/in/char/wrapped_env.cc: Likewise. 423*f9a78e0eSmrg * testsuite/22_locale/codecvt/in/char/wrapped_locale.cc: Likewise. 424*f9a78e0eSmrg * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise. 425*f9a78e0eSmrg * testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc: Likewise. 426*f9a78e0eSmrg * testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc: Likewise. 427*f9a78e0eSmrg * testsuite/22_locale/codecvt/length/char/wrapped_env.cc: Likewise. 428*f9a78e0eSmrg * testsuite/22_locale/codecvt/length/char/wrapped_locale.cc: Likewise. 429*f9a78e0eSmrg * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise. 430*f9a78e0eSmrg * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise. 431*f9a78e0eSmrg * testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc: Likewise. 432*f9a78e0eSmrg * testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc: 433*f9a78e0eSmrg Likewise. 434*f9a78e0eSmrg * testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc: Likewise. 435*f9a78e0eSmrg * testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc: 436*f9a78e0eSmrg Likewise. 437*f9a78e0eSmrg * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise. 438*f9a78e0eSmrg * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise. 439*f9a78e0eSmrg * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc: 440*f9a78e0eSmrg Likewise. 441*f9a78e0eSmrg * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc: 442*f9a78e0eSmrg Likewise. 443*f9a78e0eSmrg * testsuite/22_locale/codecvt/out/char/wrapped_env.cc: Likewise. 444*f9a78e0eSmrg * testsuite/22_locale/codecvt/out/char/wrapped_locale.cc: Likewise. 445*f9a78e0eSmrg * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise. 446*f9a78e0eSmrg * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise. 447*f9a78e0eSmrg * testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc: Likewise. 448*f9a78e0eSmrg * testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc: Likewise. 449*f9a78e0eSmrg * testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc: Likewise. 450*f9a78e0eSmrg * testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc: Likewise. 451*f9a78e0eSmrg * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise. 452*f9a78e0eSmrg * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise. 453*f9a78e0eSmrg * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: Likewise. 454*f9a78e0eSmrg * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc: 455*f9a78e0eSmrg Likewise. 456*f9a78e0eSmrg * testsuite/22_locale/codecvt_byname/50714.cc: Likewise. 457*f9a78e0eSmrg * testsuite/22_locale/collate/compare/char/1.cc: Likewise. 458*f9a78e0eSmrg * testsuite/22_locale/collate/compare/char/2.cc: Likewise. 459*f9a78e0eSmrg * testsuite/22_locale/collate/compare/char/3.cc: Likewise. 460*f9a78e0eSmrg * testsuite/22_locale/collate/compare/char/wrapped_env.cc: Likewise. 461*f9a78e0eSmrg * testsuite/22_locale/collate/compare/char/wrapped_locale.cc: Likewise. 462*f9a78e0eSmrg * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise. 463*f9a78e0eSmrg * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise. 464*f9a78e0eSmrg * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise. 465*f9a78e0eSmrg * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Likewise. 466*f9a78e0eSmrg * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: 467*f9a78e0eSmrg Likewise. 468*f9a78e0eSmrg * testsuite/22_locale/collate/hash/char/2.cc: Likewise. 469*f9a78e0eSmrg * testsuite/22_locale/collate/hash/char/wrapped_env.cc: Likewise. 470*f9a78e0eSmrg * testsuite/22_locale/collate/hash/char/wrapped_locale.cc: Likewise. 471*f9a78e0eSmrg * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise. 472*f9a78e0eSmrg * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Likewise. 473*f9a78e0eSmrg * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Likewise. 474*f9a78e0eSmrg * testsuite/22_locale/collate/transform/char/2.cc: Likewise. 475*f9a78e0eSmrg * testsuite/22_locale/collate/transform/char/3.cc: Likewise. 476*f9a78e0eSmrg * testsuite/22_locale/collate/transform/char/wrapped_env.cc: Likewise. 477*f9a78e0eSmrg * testsuite/22_locale/collate/transform/char/wrapped_locale.cc: 478*f9a78e0eSmrg Likewise. 479*f9a78e0eSmrg * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise. 480*f9a78e0eSmrg * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise. 481*f9a78e0eSmrg * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: 482*f9a78e0eSmrg Likewise. 483*f9a78e0eSmrg * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc: 484*f9a78e0eSmrg Likewise. 485*f9a78e0eSmrg * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise. 486*f9a78e0eSmrg * testsuite/22_locale/ctype/cons/char/wrapped_env.cc: Likewise. 487*f9a78e0eSmrg * testsuite/22_locale/ctype/cons/char/wrapped_locale.cc: Likewise. 488*f9a78e0eSmrg * testsuite/22_locale/ctype/is/char/2.cc: Likewise. 489*f9a78e0eSmrg * testsuite/22_locale/ctype/is/char/wrapped_env.cc: Likewise. 490*f9a78e0eSmrg * testsuite/22_locale/ctype/is/char/wrapped_locale.cc: Likewise. 491*f9a78e0eSmrg * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise. 492*f9a78e0eSmrg * testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc: Likewise. 493*f9a78e0eSmrg * testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc: Likewise. 494*f9a78e0eSmrg * testsuite/22_locale/ctype/narrow/char/wrapped_env.cc: Likewise. 495*f9a78e0eSmrg * testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc: Likewise. 496*f9a78e0eSmrg * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc: Likewise. 497*f9a78e0eSmrg * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: Likewise. 498*f9a78e0eSmrg * testsuite/22_locale/ctype/scan/char/wrapped_env.cc: Likewise. 499*f9a78e0eSmrg * testsuite/22_locale/ctype/scan/char/wrapped_locale.cc: Likewise. 500*f9a78e0eSmrg * testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc: Likewise. 501*f9a78e0eSmrg * testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc: Likewise. 502*f9a78e0eSmrg * testsuite/22_locale/ctype/to/char/wrapped_env.cc: Likewise. 503*f9a78e0eSmrg * testsuite/22_locale/ctype/to/char/wrapped_locale.cc: Likewise. 504*f9a78e0eSmrg * testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc: Likewise. 505*f9a78e0eSmrg * testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc: Likewise. 506*f9a78e0eSmrg * testsuite/22_locale/ctype/widen/char/wrapped_env.cc: Likewise. 507*f9a78e0eSmrg * testsuite/22_locale/ctype/widen/char/wrapped_locale.cc: Likewise. 508*f9a78e0eSmrg * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise. 509*f9a78e0eSmrg * testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc: Likewise. 510*f9a78e0eSmrg * testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc: Likewise. 511*f9a78e0eSmrg * testsuite/22_locale/facet/2.cc: Likewise. 512*f9a78e0eSmrg * testsuite/22_locale/locale/cons/12352.cc: Likewise. 513*f9a78e0eSmrg * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise. 514*f9a78e0eSmrg * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise. 515*f9a78e0eSmrg * testsuite/22_locale/locale/cons/2.cc: Likewise. 516*f9a78e0eSmrg * testsuite/22_locale/locale/cons/38365.cc: Likewise. 517*f9a78e0eSmrg * testsuite/22_locale/locale/cons/38368.cc: Likewise. 518*f9a78e0eSmrg * testsuite/22_locale/locale/cons/4.cc: Likewise. 519*f9a78e0eSmrg * testsuite/22_locale/locale/cons/40184.cc: Likewise. 520*f9a78e0eSmrg * testsuite/22_locale/locale/cons/7.cc: Likewise. 521*f9a78e0eSmrg * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise. 522*f9a78e0eSmrg * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise. 523*f9a78e0eSmrg * testsuite/22_locale/messages/13631.cc: Likewise. 524*f9a78e0eSmrg * testsuite/22_locale/messages/members/char/1.cc: Likewise. 525*f9a78e0eSmrg * testsuite/22_locale/messages/members/char/2.cc: Likewise. 526*f9a78e0eSmrg * testsuite/22_locale/messages/members/char/3.cc: Likewise. 527*f9a78e0eSmrg * testsuite/22_locale/messages/members/char/wrapped_env.cc: Likewise. 528*f9a78e0eSmrg * testsuite/22_locale/messages/members/char/wrapped_locale.cc: 529*f9a78e0eSmrg Likewise. 530*f9a78e0eSmrg * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise. 531*f9a78e0eSmrg * testsuite/22_locale/money_get/get/char/1.cc: Likewise. 532*f9a78e0eSmrg * testsuite/22_locale/money_get/get/char/10.cc: Likewise. 533*f9a78e0eSmrg * testsuite/22_locale/money_get/get/char/11.cc: Likewise. 534*f9a78e0eSmrg * testsuite/22_locale/money_get/get/char/11528.cc: Likewise. 535*f9a78e0eSmrg * testsuite/22_locale/money_get/get/char/12.cc: Likewise. 536*f9a78e0eSmrg * testsuite/22_locale/money_get/get/char/13.cc: Likewise. 537*f9a78e0eSmrg * testsuite/22_locale/money_get/get/char/15.cc: Likewise. 538*f9a78e0eSmrg * testsuite/22_locale/money_get/get/char/16.cc: Likewise. 539*f9a78e0eSmrg * testsuite/22_locale/money_get/get/char/17.cc: Likewise. 540*f9a78e0eSmrg * testsuite/22_locale/money_get/get/char/18.cc: Likewise. 541*f9a78e0eSmrg * testsuite/22_locale/money_get/get/char/2.cc: Likewise. 542*f9a78e0eSmrg * testsuite/22_locale/money_get/get/char/3.cc: Likewise. 543*f9a78e0eSmrg * testsuite/22_locale/money_get/get/char/4.cc: Likewise. 544*f9a78e0eSmrg * testsuite/22_locale/money_get/get/char/wrapped_env.cc: Likewise. 545*f9a78e0eSmrg * testsuite/22_locale/money_get/get/char/wrapped_locale.cc: Likewise. 546*f9a78e0eSmrg * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise. 547*f9a78e0eSmrg * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise. 548*f9a78e0eSmrg * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise. 549*f9a78e0eSmrg * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise. 550*f9a78e0eSmrg * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise. 551*f9a78e0eSmrg * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise. 552*f9a78e0eSmrg * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise. 553*f9a78e0eSmrg * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise. 554*f9a78e0eSmrg * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise. 555*f9a78e0eSmrg * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise. 556*f9a78e0eSmrg * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise. 557*f9a78e0eSmrg * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise. 558*f9a78e0eSmrg * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise. 559*f9a78e0eSmrg * testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc: Likewise. 560*f9a78e0eSmrg * testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc: 561*f9a78e0eSmrg Likewise. 562*f9a78e0eSmrg * testsuite/22_locale/money_put/put/char/1.cc: Likewise. 563*f9a78e0eSmrg * testsuite/22_locale/money_put/put/char/2.cc: Likewise. 564*f9a78e0eSmrg * testsuite/22_locale/money_put/put/char/3.cc: Likewise. 565*f9a78e0eSmrg * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise. 566*f9a78e0eSmrg * testsuite/22_locale/money_put/put/char/wrapped_env.cc: Likewise. 567*f9a78e0eSmrg * testsuite/22_locale/money_put/put/char/wrapped_locale.cc: Likewise. 568*f9a78e0eSmrg * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise. 569*f9a78e0eSmrg * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise. 570*f9a78e0eSmrg * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise. 571*f9a78e0eSmrg * testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc: Likewise. 572*f9a78e0eSmrg * testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc: 573*f9a78e0eSmrg Likewise. 574*f9a78e0eSmrg * testsuite/22_locale/moneypunct/40712.cc: Likewise. 575*f9a78e0eSmrg * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise. 576*f9a78e0eSmrg * testsuite/22_locale/moneypunct/members/char/wrapped_env.cc: 577*f9a78e0eSmrg Likewise. 578*f9a78e0eSmrg * testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc: 579*f9a78e0eSmrg Likewise. 580*f9a78e0eSmrg * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise. 581*f9a78e0eSmrg * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc: 582*f9a78e0eSmrg Likewise. 583*f9a78e0eSmrg * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc: 584*f9a78e0eSmrg Likewise. 585*f9a78e0eSmrg * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: 586*f9a78e0eSmrg Likewise. 587*f9a78e0eSmrg * testsuite/22_locale/num_get/get/char/1.cc: Likewise. 588*f9a78e0eSmrg * testsuite/22_locale/num_get/get/char/3.cc: Likewise. 589*f9a78e0eSmrg * testsuite/22_locale/num_get/get/char/5.cc: Likewise. 590*f9a78e0eSmrg * testsuite/22_locale/num_get/get/char/6.cc: Likewise. 591*f9a78e0eSmrg * testsuite/22_locale/num_get/get/char/9.cc: Likewise. 592*f9a78e0eSmrg * testsuite/22_locale/num_get/get/char/wrapped_env.cc: Likewise. 593*f9a78e0eSmrg * testsuite/22_locale/num_get/get/char/wrapped_locale.cc: Likewise. 594*f9a78e0eSmrg * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise. 595*f9a78e0eSmrg * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise. 596*f9a78e0eSmrg * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise. 597*f9a78e0eSmrg * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise. 598*f9a78e0eSmrg * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise. 599*f9a78e0eSmrg * testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc: Likewise. 600*f9a78e0eSmrg * testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc: Likewise. 601*f9a78e0eSmrg * testsuite/22_locale/num_put/put/char/1.cc: Likewise. 602*f9a78e0eSmrg * testsuite/22_locale/num_put/put/char/20909.cc: Likewise. 603*f9a78e0eSmrg * testsuite/22_locale/num_put/put/char/20914.cc: Likewise. 604*f9a78e0eSmrg * testsuite/22_locale/num_put/put/char/3.cc: Likewise. 605*f9a78e0eSmrg * testsuite/22_locale/num_put/put/char/5.cc: Likewise. 606*f9a78e0eSmrg * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise. 607*f9a78e0eSmrg * testsuite/22_locale/num_put/put/char/wrapped_env.cc: Likewise. 608*f9a78e0eSmrg * testsuite/22_locale/num_put/put/char/wrapped_locale.cc: Likewise. 609*f9a78e0eSmrg * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise. 610*f9a78e0eSmrg * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise. 611*f9a78e0eSmrg * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise. 612*f9a78e0eSmrg * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise. 613*f9a78e0eSmrg * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise. 614*f9a78e0eSmrg * testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc: Likewise. 615*f9a78e0eSmrg * testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc: Likewise. 616*f9a78e0eSmrg * testsuite/22_locale/numpunct/members/char/2.cc: Likewise. 617*f9a78e0eSmrg * testsuite/22_locale/numpunct/members/char/3.cc: Likewise. 618*f9a78e0eSmrg * testsuite/22_locale/numpunct/members/char/wrapped_env.cc: Likewise. 619*f9a78e0eSmrg * testsuite/22_locale/numpunct/members/char/wrapped_locale.cc: 620*f9a78e0eSmrg Likewise. 621*f9a78e0eSmrg * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise. 622*f9a78e0eSmrg * testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc: 623*f9a78e0eSmrg Likewise. 624*f9a78e0eSmrg * testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc: 625*f9a78e0eSmrg Likewise. 626*f9a78e0eSmrg * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise. 627*f9a78e0eSmrg * testsuite/22_locale/time_get/date_order/char/wrapped_env.cc: 628*f9a78e0eSmrg Likewise. 629*f9a78e0eSmrg * testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc: 630*f9a78e0eSmrg Likewise. 631*f9a78e0eSmrg * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc: 632*f9a78e0eSmrg Likewise. 633*f9a78e0eSmrg * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc: 634*f9a78e0eSmrg Likewise. 635*f9a78e0eSmrg * testsuite/22_locale/time_get/get/char/2.cc: Likewise. 636*f9a78e0eSmrg * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise. 637*f9a78e0eSmrg * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise. 638*f9a78e0eSmrg * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise. 639*f9a78e0eSmrg * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise. 640*f9a78e0eSmrg * testsuite/22_locale/time_get/get_date/char/wrapped_env.cc: Likewise. 641*f9a78e0eSmrg * testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc: 642*f9a78e0eSmrg Likewise. 643*f9a78e0eSmrg * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise. 644*f9a78e0eSmrg * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise. 645*f9a78e0eSmrg * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise. 646*f9a78e0eSmrg * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise. 647*f9a78e0eSmrg * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc: 648*f9a78e0eSmrg Likewise. 649*f9a78e0eSmrg * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc: 650*f9a78e0eSmrg Likewise. 651*f9a78e0eSmrg * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise. 652*f9a78e0eSmrg * testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc: 653*f9a78e0eSmrg Likewise. 654*f9a78e0eSmrg * testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc: 655*f9a78e0eSmrg Likewise. 656*f9a78e0eSmrg * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise. 657*f9a78e0eSmrg * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc: 658*f9a78e0eSmrg Likewise. 659*f9a78e0eSmrg * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc: 660*f9a78e0eSmrg Likewise. 661*f9a78e0eSmrg * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise. 662*f9a78e0eSmrg * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise. 663*f9a78e0eSmrg * testsuite/22_locale/time_get/get_time/char/wrapped_env.cc: 664*f9a78e0eSmrg Likewise. 665*f9a78e0eSmrg * testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc: 666*f9a78e0eSmrg Likewise. 667*f9a78e0eSmrg * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise. 668*f9a78e0eSmrg * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise. 669*f9a78e0eSmrg * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc: 670*f9a78e0eSmrg Likewise. 671*f9a78e0eSmrg * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc: 672*f9a78e0eSmrg Likewise. 673*f9a78e0eSmrg * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise. 674*f9a78e0eSmrg * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise. 675*f9a78e0eSmrg * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise. 676*f9a78e0eSmrg * testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc: 677*f9a78e0eSmrg Likewise. 678*f9a78e0eSmrg * testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc: 679*f9a78e0eSmrg Likewise. 680*f9a78e0eSmrg * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise. 681*f9a78e0eSmrg * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc: 682*f9a78e0eSmrg Likewise. 683*f9a78e0eSmrg * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc: 684*f9a78e0eSmrg Likewise. 685*f9a78e0eSmrg * testsuite/22_locale/time_get/get_year/char/wrapped_env.cc: Likewise. 686*f9a78e0eSmrg * testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc: 687*f9a78e0eSmrg Likewise. 688*f9a78e0eSmrg * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc: 689*f9a78e0eSmrg Likewise. 690*f9a78e0eSmrg * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc: 691*f9a78e0eSmrg Likewise. 692*f9a78e0eSmrg * testsuite/22_locale/time_put/put/char/17038.cc: Likewise. 693*f9a78e0eSmrg * testsuite/22_locale/time_put/put/char/2.cc: Likewise. 694*f9a78e0eSmrg * testsuite/22_locale/time_put/put/char/3.cc: Likewise. 695*f9a78e0eSmrg * testsuite/22_locale/time_put/put/char/4.cc: Likewise. 696*f9a78e0eSmrg * testsuite/22_locale/time_put/put/char/6.cc: Likewise. 697*f9a78e0eSmrg * testsuite/22_locale/time_put/put/char/7.cc: Likewise. 698*f9a78e0eSmrg * testsuite/22_locale/time_put/put/char/8.cc: Likewise. 699*f9a78e0eSmrg * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise. 700*f9a78e0eSmrg * testsuite/22_locale/time_put/put/char/wrapped_env.cc: Likewise. 701*f9a78e0eSmrg * testsuite/22_locale/time_put/put/char/wrapped_locale.cc: Likewise. 702*f9a78e0eSmrg * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise. 703*f9a78e0eSmrg * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise. 704*f9a78e0eSmrg * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise. 705*f9a78e0eSmrg * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise. 706*f9a78e0eSmrg * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise. 707*f9a78e0eSmrg * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise. 708*f9a78e0eSmrg * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise. 709*f9a78e0eSmrg * testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc: Likewise. 710*f9a78e0eSmrg * testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc: Likewise. 711*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise. 712*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise. 713*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise. 714*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise. 715*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise. 716*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise. 717*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise. 718*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise. 719*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise. 720*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise. 721*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise. 722*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise. 723*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise. 724*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise. 725*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise. 726*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise. 727*f9a78e0eSmrg * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise. 728*f9a78e0eSmrg * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc: 729*f9a78e0eSmrg Likewise. 730*f9a78e0eSmrg * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc: 731*f9a78e0eSmrg Likewise. 732*f9a78e0eSmrg * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise. 733*f9a78e0eSmrg * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise. 734*f9a78e0eSmrg * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise. 735*f9a78e0eSmrg * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise. 736*f9a78e0eSmrg * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise. 737*f9a78e0eSmrg * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise. 738*f9a78e0eSmrg * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise. 739*f9a78e0eSmrg * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise. 740*f9a78e0eSmrg * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc: 741*f9a78e0eSmrg Likewise. 742*f9a78e0eSmrg * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise. 743*f9a78e0eSmrg * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: 744*f9a78e0eSmrg Likewise. 745*f9a78e0eSmrg * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise. 746*f9a78e0eSmrg * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc: 747*f9a78e0eSmrg Likewise. 748*f9a78e0eSmrg * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise. 749*f9a78e0eSmrg * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: 750*f9a78e0eSmrg Likewise. 751*f9a78e0eSmrg * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise. 752*f9a78e0eSmrg * testsuite/27_io/objects/wchar_t/9520.cc: Likewise. 753*f9a78e0eSmrg * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Check 754*f9a78e0eSmrg for named locale as appropriate for target. 755*f9a78e0eSmrg * testsuite/util/testsuite_hooks.h (ISO_8859): Define macro to form 756*f9a78e0eSmrg target's preferred form of locale name. 757*f9a78e0eSmrg 758*f9a78e0eSmrg2015-11-13 Jennifer Yao <jenny.hyphen.fa@gmail.com> 759*f9a78e0eSmrg Jonathan Wakely <jwakely@redhat.com> 760*f9a78e0eSmrg 761*f9a78e0eSmrg PR libstdc++/58393 762*f9a78e0eSmrg PR libstdc++/61580 763*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_ENABLE_C99): Perform tests twice, with 764*f9a78e0eSmrg -std=c++11 as well as -std=c++98, and define separate macros for each. 765*f9a78e0eSmrg Cache the results of checking for complex math and wide character 766*f9a78e0eSmrg functions. Reformat for readability. 767*f9a78e0eSmrg * config.h.in: Regenerate. 768*f9a78e0eSmrg * include/bits/c++config: Define _GLIBCXX_USE_C99_XXX macros to 769*f9a78e0eSmrg either _GLIBCXX98_USE_C99_XXX or _GLIBCXX11_USE_C99_XXX according to 770*f9a78e0eSmrg language standard in use. 771*f9a78e0eSmrg * config/locale/dragonfly/c_locale.h (std::__convert_from_v): Replace 772*f9a78e0eSmrg _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. 773*f9a78e0eSmrg * config/locale/generic/c_locale.h (std::__convert_from_v): Likewise. 774*f9a78e0eSmrg * config/locale/gnu/c_locale.h (std::__convert_from_v): Likewise. 775*f9a78e0eSmrg * config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99_STDIO, 776*f9a78e0eSmrg _GLIBCXX_USE_C99_STDLIB, and _GLIBCXX_USE_C99_WCHAR. 777*f9a78e0eSmrg * configure: Regenerate. 778*f9a78e0eSmrg * include/bits/basic_string.h: Make numeric conversion functions 779*f9a78e0eSmrg depend on _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, or 780*f9a78e0eSmrg _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99. 781*f9a78e0eSmrg * include/ext/vstring.h: Likewise. 782*f9a78e0eSmrg * include/bits/locale_facets.tcc (std::num_put::_M_insert_float): 783*f9a78e0eSmrg Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. 784*f9a78e0eSmrg * include/bits/locale_facets_nonio.tcc (std::money_put::do_put): 785*f9a78e0eSmrg Likewise. 786*f9a78e0eSmrg * include/c_compatibility/math.h: Replace _GLIBCXX_USE_C99 with 787*f9a78e0eSmrg _GLIBCXX_USE_C99_MATH. 788*f9a78e0eSmrg * include/c_compatibility/wchar.h: Replace _GLIBCXX_USE_C99 with 789*f9a78e0eSmrg _GLIBCXX_USE_C99_WCHAR. 790*f9a78e0eSmrg * include/c_global/cstdio: Replace _GLIBCXX_USE_C99 with 791*f9a78e0eSmrg _GLIBCXX_USE_C99_STDIO. 792*f9a78e0eSmrg * include/c_global/cstdlib: Replace _GLIBCXX_USE_C99 with 793*f9a78e0eSmrg _GLIBCXX_USE_C99_STDLIB. 794*f9a78e0eSmrg * include/c_global/cwchar: Replace _GLIBCXX_USE_C99 with 795*f9a78e0eSmrg _GLIBCXX_USE_C99_WCHAR. 796*f9a78e0eSmrg * include/c_std/cstdio: Replace _GLIBCXX_USE_C99 with 797*f9a78e0eSmrg _GLIBCXX_USE_C99_STDIO. 798*f9a78e0eSmrg * include/c_std/cstdlib: Replace _GLIBCXX_USE_C99 with 799*f9a78e0eSmrg _GLIBCXX_USE_C99_STDLIB. 800*f9a78e0eSmrg * include/c_std/cwchar: Replace _GLIBCXX_USE_C99 with 801*f9a78e0eSmrg _GLIBCXX_USE_C99_WCHAR. 802*f9a78e0eSmrg * include/tr1/cstdio: Replace _GLIBCXX_USE_C99 with 803*f9a78e0eSmrg _GLIBCXX_USE_C99_STDIO. 804*f9a78e0eSmrg * include/tr1/cstdlib: Replace _GLIBCXX_USE_C99 with 805*f9a78e0eSmrg _GLIBCXX_USE_C99_STDLIB. 806*f9a78e0eSmrg * include/tr1/cwchar: Replace _GLIBCXX_USE_C99 with 807*f9a78e0eSmrg _GLIBCXX_USE_C99_WCHAR. 808*f9a78e0eSmrg * include/tr1/stdlib.h: Replace _GLIBCXX_USE_C99 with 809*f9a78e0eSmrg _GLIBCXX_USE_C99_STDLIB. 810*f9a78e0eSmrg * src/c++98/locale_facets.cc (std::__num_base::_S_format_float): 811*f9a78e0eSmrg Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. 812*f9a78e0eSmrg * testsuite/18_support/exception_ptr/60612-terminate.cc: Replace 813*f9a78e0eSmrg _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. 814*f9a78e0eSmrg * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise. 815*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc 816*f9a78e0eSmrg (test01): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. 817*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ 818*f9a78e0eSmrg stof.cc: Likewise. 819*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ 820*f9a78e0eSmrg stoi.cc: Likewise. 821*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ 822*f9a78e0eSmrg stol.cc: Likewise. 823*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ 824*f9a78e0eSmrg stold.cc: Likewise. 825*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ 826*f9a78e0eSmrg stoll.cc: Likewise. 827*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ 828*f9a78e0eSmrg stoul.cc: Likewise. 829*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ 830*f9a78e0eSmrg stoull.cc: Likewise. 831*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ 832*f9a78e0eSmrg to_wstring.cc: Likewise. 833*f9a78e0eSmrg * testsuite/26_numerics/headers/cstdlib/13943.cc: Replace 834*f9a78e0eSmrg _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. 835*f9a78e0eSmrg * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Likewise. 836*f9a78e0eSmrg * testsuite/lib/libstdc++.exp (check_v3_target_string_conversions): 837*f9a78e0eSmrg Change preprocessor #if conditional so that it uses 838*f9a78e0eSmrg _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, and 839*f9a78e0eSmrg _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99. 840*f9a78e0eSmrg * testsuite/tr1/8_c_compatibility/cmath/templates.cc: Replace 841*f9a78e0eSmrg _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_MATH. 842*f9a78e0eSmrg * testsuite/tr1/8_c_compatibility/cstdio/functions.cc: Replace 843*f9a78e0eSmrg _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. 844*f9a78e0eSmrg * testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Replace 845*f9a78e0eSmrg _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. 846*f9a78e0eSmrg * testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Likewise. 847*f9a78e0eSmrg * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Replace 848*f9a78e0eSmrg _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. 849*f9a78e0eSmrg * testsuite/util/testsuite_fs.h: Replace _GLIBCXX_USE_C99 with 850*f9a78e0eSmrg _GLIBCXX_USE_C99_STDIO. 851*f9a78e0eSmrg 852*f9a78e0eSmrg2015-11-13 Jonathan Wakely <jwakely@redhat.com> 853*f9a78e0eSmrg 854*f9a78e0eSmrg * include/experimental/bits/shared_ptr.h: Tweak comments. 855*f9a78e0eSmrg 856*f9a78e0eSmrg2015-11-13 Fan You <youfan.noey@gmail.com> 857*f9a78e0eSmrg Jonathan Wakely <jwakely@redhat.com> 858*f9a78e0eSmrg 859*f9a78e0eSmrg * include/Makefile.am: Add new header. 860*f9a78e0eSmrg * include/Makefile.in: Regenerate. 861*f9a78e0eSmrg * include/experimental/bits/shared_ptr.h: New. 862*f9a78e0eSmrg * include/experimental/memory: Include new header. 863*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/assign/assign.cc: New. 864*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cast/cast.cc: New. 865*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc: 866*f9a78e0eSmrg New. 867*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: New. 868*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: New. 869*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: New. 870*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: New. 871*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc: New. 872*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: New. 873*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc: New. 874*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc: 875*f9a78e0eSmrg New. 876*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc: New. 877*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/dest/dest.cc: New. 878*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: New. 879*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: New. 880*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc: 881*f9a78e0eSmrg New. 882*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/observers/operators.cc: 883*f9a78e0eSmrg New. 884*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc: 885*f9a78e0eSmrg New. 886*f9a78e0eSmrg * testsuite/experimental/memory/shared_ptr/observers/use_count.cc: New. 887*f9a78e0eSmrg 888*f9a78e0eSmrg2015-11-13 Jonathan Wakely <jwakely@redhat.com> 889*f9a78e0eSmrg 890*f9a78e0eSmrg * include/Makefile.am: Add new header. 891*f9a78e0eSmrg * include/Makefile.in: Regenerate. 892*f9a78e0eSmrg * include/experimental/memory_resource: Add feature-test macro. 893*f9a78e0eSmrg * include/experimental/regex: New. 894*f9a78e0eSmrg * include/experimental/deque: Add alias template using PMR. 895*f9a78e0eSmrg * include/experimental/forward_list: Likewise. 896*f9a78e0eSmrg * include/experimental/list: Likewise. 897*f9a78e0eSmrg * include/experimental/map: Likewise. 898*f9a78e0eSmrg * include/experimental/set: Likewise. 899*f9a78e0eSmrg * include/experimental/string: Likewise. 900*f9a78e0eSmrg * include/experimental/unordered_map: Likewise. 901*f9a78e0eSmrg * include/experimental/unordered_set: Likewise. 902*f9a78e0eSmrg * include/experimental/vector: Likewise. 903*f9a78e0eSmrg 904*f9a78e0eSmrg2015-11-13 Fan You <youfan.noey@gmail.com> 905*f9a78e0eSmrg 906*f9a78e0eSmrg * include/Makefile.am: Add new headers. 907*f9a78e0eSmrg * include/Makefile.in: Regenerate. 908*f9a78e0eSmrg * include/bits/uses_allocator.h (__erased_type): Define. 909*f9a78e0eSmrg (__uses_allocator_helper): Check for __erased_type. 910*f9a78e0eSmrg * include/experimental/memory_resource: New. 911*f9a78e0eSmrg * include/experimental/utlity: New. 912*f9a78e0eSmrg * testsuite/experimental/type_erased_allocator/1.cc: New. 913*f9a78e0eSmrg * testsuite/experimental/type_erased_allocator/1_neg.cc: New. 914*f9a78e0eSmrg * testsuite/experimental/type_erased_allocator/2.cc: New. 915*f9a78e0eSmrg * testsuite/experimental/type_erased_allocator/uses_allocator.cc: New. 916*f9a78e0eSmrg 917*f9a78e0eSmrg2015-11-12 Jonathan Wakely <jwakely@redhat.com> 918*f9a78e0eSmrg 919*f9a78e0eSmrg PR libstdc++/56158 920*f9a78e0eSmrg * include/bits/ios_base.h (_Ios_Fmtflags, _Ios_Openmode, _Ios_Iostate): 921*f9a78e0eSmrg Define enumerators to ensure all values of type int are valid values 922*f9a78e0eSmrg of the enumeration type. 923*f9a78e0eSmrg * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Add new cases. 924*f9a78e0eSmrg * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise. 925*f9a78e0eSmrg * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise. 926*f9a78e0eSmrg 927*f9a78e0eSmrg * include/std/thread: Include <cerrno> for EINTR. 928*f9a78e0eSmrg 929*f9a78e0eSmrg2015-11-12 Ville Voutilainen <ville.voutilainen@gmail.com> 930*f9a78e0eSmrg 931*f9a78e0eSmrg Implement D0013R2, logical type traits. 932*f9a78e0eSmrg 933*f9a78e0eSmrg * include/experimental/type_traits (conjunction, disjunction, 934*f9a78e0eSmrg negation, conjunction_v, disjunction_v, negation_v): New. 935*f9a78e0eSmrg * include/std/type_traits (conjunction, disjunction, negation): 936*f9a78e0eSmrg Likewise. 937*f9a78e0eSmrg * testsuite/20_util/declval/requirements/1_neg.cc: Adjust. 938*f9a78e0eSmrg * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise. 939*f9a78e0eSmrg * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 940*f9a78e0eSmrg Likewise. 941*f9a78e0eSmrg * testsuite/experimental/type_traits/value.cc: Likewise. 942*f9a78e0eSmrg * testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc: New. 943*f9a78e0eSmrg * testsuite/20_util/logical_traits/requirements/typedefs.cc: Likewise. 944*f9a78e0eSmrg * testsuite/20_util/logical_traits/value.cc: Likewise. 945*f9a78e0eSmrg 946*f9a78e0eSmrg2015-11-12 Jonathan Wakely <jwakely@redhat.com> 947*f9a78e0eSmrg 948*f9a78e0eSmrg * include/experimental/bits/string_view.tcc: Fix doxygen @file. 949*f9a78e0eSmrg 950*f9a78e0eSmrg2015-11-11 Jonathan Wakely <jwakely@redhat.com> 951*f9a78e0eSmrg 952*f9a78e0eSmrg * libsupc++/new_handler.cc: Fix for explicit constructor change. 953*f9a78e0eSmrg 954*f9a78e0eSmrg PR libstdc++/60421 955*f9a78e0eSmrg * include/std/thread (this_thread::sleep_for): Retry on EINTR. 956*f9a78e0eSmrg (this_thread::sleep_until): Retry if time not reached. 957*f9a78e0eSmrg * src/c++11/thread.cc (__sleep_for): Retry on EINTR. 958*f9a78e0eSmrg * testsuite/30_threads/this_thread/60421.cc: Test interruption and 959*f9a78e0eSmrg non-steady clocks. 960*f9a78e0eSmrg 961*f9a78e0eSmrg2015-11-11 Ville Voutilainen <ville.voutilainen@gmail.com> 962*f9a78e0eSmrg 963*f9a78e0eSmrg LWG 2510, make the default constructors of library tag types 964*f9a78e0eSmrg explicit. 965*f9a78e0eSmrg * include/bits/mutex.h (defer_lock_t, try_lock_t, 966*f9a78e0eSmrg adopt_lock_t): Add an explicit default constructor. 967*f9a78e0eSmrg * include/bits/stl_pair.h (piecewise_construct_t): Likewise. 968*f9a78e0eSmrg * include/bits/uses_allocator.h (allocator_arg_t): Likewise. 969*f9a78e0eSmrg * libsupc++/new (nothrow_t): Likewise. 970*f9a78e0eSmrg * testsuite/17_intro/tag_type_explicit_ctor.cc: New. 971*f9a78e0eSmrg 972*f9a78e0eSmrg2015-11-11 Jonathan Wakely <jwakely@redhat.com> 973*f9a78e0eSmrg 974*f9a78e0eSmrg PR libstdc++/64651 975*f9a78e0eSmrg * libsupc++/exception_ptr.h (rethrow_exception): Add using-declaration 976*f9a78e0eSmrg to __exception_ptr namespace. 977*f9a78e0eSmrg * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test ADL. 978*f9a78e0eSmrg Remove unnecessary test variables. 979*f9a78e0eSmrg 980*f9a78e0eSmrg2015-11-10 Jonathan Wakely <jwakely@redhat.com> 981*f9a78e0eSmrg 982*f9a78e0eSmrg PR libstdc++/68190 983*f9a78e0eSmrg * include/bits/stl_multiset.h (multiset::find): Fix return types. 984*f9a78e0eSmrg * include/bits/stl_set.h (set::find): Likewise. 985*f9a78e0eSmrg * testsuite/23_containers/map/operations/2.cc: Test find return types. 986*f9a78e0eSmrg * testsuite/23_containers/multimap/operations/2.cc: Likewise. 987*f9a78e0eSmrg * testsuite/23_containers/multiset/operations/2.cc: Likewise. 988*f9a78e0eSmrg * testsuite/23_containers/set/operations/2.cc: Likewise. 989*f9a78e0eSmrg 990*f9a78e0eSmrg * doc/xml/manual/status_cxx2017.xml: Update. 991*f9a78e0eSmrg * doc/html/*: Regenerate. 992*f9a78e0eSmrg 993*f9a78e0eSmrg * include/bits/functional_hash.h: Fix grammar in comment. 994*f9a78e0eSmrg 995*f9a78e0eSmrg2015-11-09 François Dumont <fdumont@gcc.gnu.org> 996*f9a78e0eSmrg 997*f9a78e0eSmrg * include/bits/stl_algo.h 998*f9a78e0eSmrg (partial_sort_copy): Instantiate std::iterator_traits only if concept 999*f9a78e0eSmrg checks. 1000*f9a78e0eSmrg (lower_bound): Likewise. 1001*f9a78e0eSmrg (upper_bound): Likewise. 1002*f9a78e0eSmrg (equal_range): Likewise. 1003*f9a78e0eSmrg (binary_search): Likewise. 1004*f9a78e0eSmrg * include/bits/stl_heap.h (pop_heap): Likewise. 1005*f9a78e0eSmrg 1006*f9a78e0eSmrg2015-11-06 Kai Tietz <ktietz70@googlemail.com> 1007*f9a78e0eSmrg 1008*f9a78e0eSmrg * testsuite/26_numerics/complex/requirements/constexpr.cc 1009*f9a78e0eSmrg * testsuite/26_numerics/complex/requirements/constexpr_functions.cc: 1010*f9a78e0eSmrg Use constexpr where needed. 1011*f9a78e0eSmrg 1012*f9a78e0eSmrg2015-11-06 David Malcolm <dmalcolm@redhat.com> 1013*f9a78e0eSmrg 1014*f9a78e0eSmrg * testsuite/lib/libstdc++.exp (v3_target_compile): Add 1015*f9a78e0eSmrg -fno-diagnostics-show-caret -fdiagnostics-color=never to 1016*f9a78e0eSmrg option's additional_flags. 1017*f9a78e0eSmrg 1018*f9a78e0eSmrg2015-11-03 Jason Merrill <jason@redhat.com> 1019*f9a78e0eSmrg 1020*f9a78e0eSmrg * libsupc++/new: Declare sized deletes. 1021*f9a78e0eSmrg 1022*f9a78e0eSmrg2015-11-03 Ville Voutilainen <ville.voutilainen@gmail.com> 1023*f9a78e0eSmrg 1024*f9a78e0eSmrg Make the default constructors of tuple and pair conditionally explicit. 1025*f9a78e0eSmrg * include/std/type_traits (is_unsigned, __is_array_unknown_bounds, 1026*f9a78e0eSmrg __is_default_constructible_atom, __is_default_constructible_safe, 1027*f9a78e0eSmrg __is_direct_constructible_new_safe, __is_direct_constructible_ref_cast, 1028*f9a78e0eSmrg __is_nt_default_constructible_impl, is_nothrow_default_constructible, 1029*f9a78e0eSmrg is_nothrow_constructible, is_nothrow_assignable, 1030*f9a78e0eSmrg is_trivially_constructible, is_trivially_copy_constructible, 1031*f9a78e0eSmrg is_trivially_move_constructible, is_trivially_assignable, 1032*f9a78e0eSmrg is_trivially_copy_assignable, is_trivially_move_assignable, 1033*f9a78e0eSmrg is_trivially_destructible): Simplify. 1034*f9a78e0eSmrg * include/std/type_traits ( 1035*f9a78e0eSmrg __do_is_implicitly_default_constructible_impl, 1036*f9a78e0eSmrg __is_implicitly_default_constructible_impl, 1037*f9a78e0eSmrg __is_implicitly_default_constructible_safe, 1038*f9a78e0eSmrg __is_implicitly_default_constructible): New. 1039*f9a78e0eSmrg * include/bits/stl_pair.h (pair::pair()): Use it. 1040*f9a78e0eSmrg * include/std/tuple (tuple<_T1, _T2>::tuple): Use it. 1041*f9a78e0eSmrg * include/std/tuple (_ImplicitlyDefaultConstructibleTuple): New. 1042*f9a78e0eSmrg * include/std/tuple (tuple<_Types...>::tuple()): Use it. 1043*f9a78e0eSmrg * testsuite/20_util/declval/requirements/1_neg.cc: Adjust. 1044*f9a78e0eSmrg * testsuite/20_util/is_implicitly_default_constructible/ 1045*f9a78e0eSmrg requirements/explicit_instantiation.cc: New. 1046*f9a78e0eSmrg * testsuite/20_util/is_implicitly_default_constructible/requirements/ 1047*f9a78e0eSmrg typedefs.cc: Likewise. 1048*f9a78e0eSmrg * testsuite/20_util/is_implicitly_default_constructible/value.cc: 1049*f9a78e0eSmrg Likewise. 1050*f9a78e0eSmrg * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust. 1051*f9a78e0eSmrg * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 1052*f9a78e0eSmrg Likewise. 1053*f9a78e0eSmrg * testsuite/20_util/pair/cons/explicit_construct.cc: Likewise. 1054*f9a78e0eSmrg * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise. 1055*f9a78e0eSmrg 1056*f9a78e0eSmrg2015-10-24 Jonathan Wakely <jwakely@redhat.com> 1057*f9a78e0eSmrg 1058*f9a78e0eSmrg * include/std/functional (__invoke_impl): New overloads. 1059*f9a78e0eSmrg (__invoke): Replace with a single function calling __invoke_impl. 1060*f9a78e0eSmrg (invoke): Add C++17 std::invoke. 1061*f9a78e0eSmrg (reference_wrapper::operator()): Qualify call to __invoke. 1062*f9a78e0eSmrg (_Mem_fn_traits_base, _Mem_fn_traits): Remove unused typedefs. 1063*f9a78e0eSmrg (_Mem_fn_base): Remove unused typedefs and implement call operator in 1064*f9a78e0eSmrg terms of __invoke. 1065*f9a78e0eSmrg * include/std/future (__future_base::_Async_state_commonV2): Do not 1066*f9a78e0eSmrg pass reference_wrapper as object argument to call_once. 1067*f9a78e0eSmrg * include/std/type_traits (result_of): Define nested __invoke_type. 1068*f9a78e0eSmrg Handle reference_wrapper as per LWG 2219. 1069*f9a78e0eSmrg * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error directives. 1070*f9a78e0eSmrg * testsuite/20_util/function_objects/mem_fn/55463.cc: Remove tests 1071*f9a78e0eSmrg using member functions of reference_wrapper. 1072*f9a78e0eSmrg 1073*f9a78e0eSmrg2015-10-24 Jonathan Wakely <jwakely@redhat.com> 1074*f9a78e0eSmrg 1075*f9a78e0eSmrg * include/std/future (async): Use deferred function on exception. 1076*f9a78e0eSmrg * testsuite/30_threads/async/except.cc: New. 1077*f9a78e0eSmrg 1078*f9a78e0eSmrg2015-10-21 Jonathan Wakely <jwakely@redhat.com> 1079*f9a78e0eSmrg 1080*f9a78e0eSmrg * include/std/type_traits (__cpp_lib_bool_constant): Define. 1081*f9a78e0eSmrg 1082*f9a78e0eSmrg2015-10-16 Jonathan Wakely <jwakely@redhat.com> 1083*f9a78e0eSmrg 1084*f9a78e0eSmrg * doc/xml/manual/configure.xml: Document 1085*f9a78e0eSmrg --enable-libstdcxx-filesystem-ts option. 1086*f9a78e0eSmrg * doc/xml/manual/status_cxx2014.xml: Document libstdc++fs.a. 1087*f9a78e0eSmrg * doc/xml/manual/using.xml: Likewise. 1088*f9a78e0eSmrg * doc/html/*: Regenerate. 1089*f9a78e0eSmrg 1090*f9a78e0eSmrg2015-10-16 Aurelio Remonda <aurelio.remonda@tallertechnologies.com> 1091*f9a78e0eSmrg 1092*f9a78e0eSmrg * testsuite/25_algorithms/random_shuffle/moveable.cc: Change variable 1093*f9a78e0eSmrg N from const int N = 200000 to const unsigned int N = 10000. 1094*f9a78e0eSmrg Delete useless fill_ascending function call. 1095*f9a78e0eSmrg 1096*f9a78e0eSmrg2015-10-15 Szabolcs Nagy <szabolcs.nagy@arm.com> 1097*f9a78e0eSmrg 1098*f9a78e0eSmrg * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Check for 1099*f9a78e0eSmrg unsupported compiler output. 1100*f9a78e0eSmrg 1101*f9a78e0eSmrg2015-10-13 Nathan Froyd <froydnj@gcc.gnu.org> 1102*f9a78e0eSmrg 1103*f9a78e0eSmrg * config/cpu/i486/opt/bits/opt_random.h: Include pmmintrin.h instead 1104*f9a78e0eSmrg of x86intrin.h, and only do so when __SSE3__ 1105*f9a78e0eSmrg * include/ext/random: Include emmintrin.h instead of x86intrin.h 1106*f9a78e0eSmrg 1107*f9a78e0eSmrg2015-10-11 Joseph Myers <joseph@codesourcery.com> 1108*f9a78e0eSmrg 1109*f9a78e0eSmrg * crossconfig.m4 (GLIBCXX_CROSSCONFIG) <*-linux* | *-uclinux* | 1110*f9a78e0eSmrg *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu | *-cygwin*>: Check for 1111*f9a78e0eSmrg __cxa_thread_atexit_impl. 1112*f9a78e0eSmrg * configure: Regenerate. 1113*f9a78e0eSmrg 1114*f9a78e0eSmrg2015-10-09 Jonathan Wakely <jwakely@redhat.com> 1115*f9a78e0eSmrg 1116*f9a78e0eSmrg * include/experimental/erase_if.h: Move to ... 1117*f9a78e0eSmrg * include/experimental/bits/erase_if.h: New. 1118*f9a78e0eSmrg * include/experimental/fs_dir.h: Move to ... 1119*f9a78e0eSmrg * include/experimental/bits/fs_dir.h: New. 1120*f9a78e0eSmrg * include/experimental/fs_fwd.h: Move to ... 1121*f9a78e0eSmrg * include/experimental/bits/fs_fwd.h: New. 1122*f9a78e0eSmrg * include/experimental/fs_ops.h: Move to ... 1123*f9a78e0eSmrg * include/experimental/bits/fs_ops.h: New. 1124*f9a78e0eSmrg * include/experimental/fs_path.h: Move to ... 1125*f9a78e0eSmrg * include/experimental/bits/fs_path.h: New. 1126*f9a78e0eSmrg * include/experimental/string_view.tcc: Move to ... 1127*f9a78e0eSmrg * include/experimental/bits/string_view.tcc: New. 1128*f9a78e0eSmrg * include/Makefile.am: Add include/experimental/bits sub-directory. 1129*f9a78e0eSmrg * include/Makefile.in: Regenerate. 1130*f9a78e0eSmrg * include/experimental/filesystem: Adjust includes. 1131*f9a78e0eSmrg * include/experimental/map: Likewise. 1132*f9a78e0eSmrg * include/experimental/set: Likewise. 1133*f9a78e0eSmrg * include/experimental/string_view: Likewise. 1134*f9a78e0eSmrg * include/experimental/unordered_map: Likewise. 1135*f9a78e0eSmrg * include/experimental/unordered_set: Likewise. 1136*f9a78e0eSmrg 1137*f9a78e0eSmrg2015-10-05 Ville Voutilainen <ville.voutilainen@gmail.com> 1138*f9a78e0eSmrg 1139*f9a78e0eSmrg PR 67844. 1140*f9a78e0eSmrg * include/std/tuple (_TC::_NonNestedTuple): Eagerly reject 1141*f9a78e0eSmrg conversions from tuple types same as the target tuple. 1142*f9a78e0eSmrg * testsuite/20_util/tuple/67844.cc: New. 1143*f9a78e0eSmrg * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Add 1144*f9a78e0eSmrg a missing copyright header. 1145*f9a78e0eSmrg 1146*f9a78e0eSmrg2015-10-03 Jonathan Wakely <jwakely@redhat.com> 1147*f9a78e0eSmrg 1148*f9a78e0eSmrg * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Remove support 1149*f9a78e0eSmrg for _Manager_alloc. 1150*f9a78e0eSmrg 1151*f9a78e0eSmrg * src/c++98/locale.cc: Fix comment. 1152*f9a78e0eSmrg * src/c++98/locale_init.cc: Likewise. 1153*f9a78e0eSmrg 1154*f9a78e0eSmrg * testsuite/21_strings/basic_string/literals/types.cc: Guard use of 1155*f9a78e0eSmrg wchar_t with _GLIBCXX_USE_WCHAR_T. 1156*f9a78e0eSmrg * testsuite/21_strings/basic_string/literals/values.cc: Likewise. 1157*f9a78e0eSmrg * testsuite/21_strings/basic_string/requirements/citerators.cc: 1158*f9a78e0eSmrg Likewise. 1159*f9a78e0eSmrg * testsuite/22_locale/messages/13631.cc: Likewise. 1160*f9a78e0eSmrg * testsuite/experimental/string_view/literals/types.cc: Likewise. 1161*f9a78e0eSmrg * testsuite/experimental/string_view/literals/values.cc: Likewise. 1162*f9a78e0eSmrg 1163*f9a78e0eSmrg * src/filesystem/Makefile.am: Add cxx11_abi_sources. 1164*f9a78e0eSmrg * src/filesystem/Makefile.in: Regenerate. 1165*f9a78e0eSmrg * src/filesystem/cow-dir.cc: New. 1166*f9a78e0eSmrg * src/filesystem/cow-ops.cc: New. 1167*f9a78e0eSmrg * src/filesystem/cow-path.cc: New. 1168*f9a78e0eSmrg * src/filesystem/dir.cc: Define macro for new ABI. 1169*f9a78e0eSmrg * src/filesystem/ops.cc: Likewise. 1170*f9a78e0eSmrg * src/filesystem/path.cc: Likewise. 1171*f9a78e0eSmrg 1172*f9a78e0eSmrg2015-10-02 Jonathan Wakely <jwakely@redhat.com> 1173*f9a78e0eSmrg 1174*f9a78e0eSmrg * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: 1175*f9a78e0eSmrg Minor tweaks to match narrow char version. 1176*f9a78e0eSmrg 1177*f9a78e0eSmrg * testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard 1178*f9a78e0eSmrg explicit instantiation with check for new ABI. 1179*f9a78e0eSmrg * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: 1180*f9a78e0eSmrg Likewise. Use wchar_t as char_type. 1181*f9a78e0eSmrg 1182*f9a78e0eSmrg * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] 1183*f9a78e0eSmrg (basic_string::front() const, basic_string::back() const): Use 1184*f9a78e0eSmrg noexcept instead of _GLIBCXX_NOEXCEPT macro. 1185*f9a78e0eSmrg (__versa_string::front, __versa_string::back): Likewise. 1186*f9a78e0eSmrg 1187*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment. 1188*f9a78e0eSmrg 1189*f9a78e0eSmrg * include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T] 1190*f9a78e0eSmrg (__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable. 1191*f9a78e0eSmrg * include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T] 1192*f9a78e0eSmrg (path::wstring, path::generic_wstring): Disable. 1193*f9a78e0eSmrg * src/filesystem/path.cc (path::_S_convert_loc) 1194*f9a78e0eSmrg [!_GLIBCXX_USE_WCHAR_T]: Skip conversion. 1195*f9a78e0eSmrg * testsuite/experimental/filesystem/path/assign/assign.cc: Check for 1196*f9a78e0eSmrg wchar_t support. 1197*f9a78e0eSmrg * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise. 1198*f9a78e0eSmrg * testsuite/experimental/filesystem/path/construct/range.cc: Likewise. 1199*f9a78e0eSmrg 1200*f9a78e0eSmrg * testsuite/util/testsuite_fs.h (nonexistent_path): Use less generic 1201*f9a78e0eSmrg name for paths. Prefer snprintf to sprintf. 1202*f9a78e0eSmrg 1203*f9a78e0eSmrg PR libstdc++/67747 1204*f9a78e0eSmrg * src/filesystem/dir.cc (native_readdir): Remove. 1205*f9a78e0eSmrg (_Dir::advance): Use readdir instead of native_readdir. 1206*f9a78e0eSmrg (recursive_directory_iterator(const path&, directory_options, 1207*f9a78e0eSmrg error_code*)): Use swap instead of reset. 1208*f9a78e0eSmrg 1209*f9a78e0eSmrg2015-10-01 Jonathan Wakely <jwakely@redhat.com> 1210*f9a78e0eSmrg 1211*f9a78e0eSmrg * doc/html/manual/errno.html: Add new file. 1212*f9a78e0eSmrg 1213*f9a78e0eSmrg * doc/xml/manual/diagnostics.xml: Document use of errno. 1214*f9a78e0eSmrg * doc/html/*: Regenerate. 1215*f9a78e0eSmrg * config/locale/generic/c_locale.cc (_Save_errno): New helper. 1216*f9a78e0eSmrg (__convert_to_v): Use _Save_errno. 1217*f9a78e0eSmrg * include/ext/string_conversions.h (__stoa): Only restore errno when 1218*f9a78e0eSmrg it isn't set to non-zero. 1219*f9a78e0eSmrg 1220*f9a78e0eSmrg2015-09-30 François Dumont <fdumont@gcc.gnu.org> 1221*f9a78e0eSmrg Jonathan Wakely <jwakely@redhat.com> 1222*f9a78e0eSmrg 1223*f9a78e0eSmrg * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs): 1224*f9a78e0eSmrg Move... 1225*f9a78e0eSmrg * config/locale/gnu/c++locale_internal.h: ...here in std namespace. 1226*f9a78e0eSmrg * config/locale/gnu/c_locale.cc: Move implementation of latter here. 1227*f9a78e0eSmrg * src/c++98/Makefile.am: Compile c++locale.cc with -fimplicit-templates. 1228*f9a78e0eSmrg * src/c++98/Makefile.in: Regenerate. 1229*f9a78e0eSmrg * config/abi/pre/gnu.ver: Adjust. 1230*f9a78e0eSmrg 1231*f9a78e0eSmrg2015-09-30 Matthias Klose <doko@ubuntu.com> 1232*f9a78e0eSmrg 1233*f9a78e0eSmrg * config/cpu/alpha, config/cpu/ia64: Remove empty directories. 1234*f9a78e0eSmrg 1235*f9a78e0eSmrg2015-09-29 Jonathan Wakely <jwakely@redhat.com> 1236*f9a78e0eSmrg 1237*f9a78e0eSmrg * include/ext/string_conversions.h (__stoa): Save and restore errno. 1238*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc: 1239*f9a78e0eSmrg New. 1240*f9a78e0eSmrg 1241*f9a78e0eSmrg PR libstdc++/67583 1242*f9a78e0eSmrg * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Fix sputn call 1243*f9a78e0eSmrg with mismatched arguments. 1244*f9a78e0eSmrg * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise. 1245*f9a78e0eSmrg 1246*f9a78e0eSmrg PR libstdc++/65393 1247*f9a78e0eSmrg * config/abi/pre/gnu.ver: Export new symbols. 1248*f9a78e0eSmrg * include/std/thread (thread::_State, thread::_State_impl): New types. 1249*f9a78e0eSmrg (thread::_M_start_thread): Add overload taking unique_ptr<_State>. 1250*f9a78e0eSmrg (thread::_M_make_routine): Remove. 1251*f9a78e0eSmrg (thread::_S_make_state): Add. 1252*f9a78e0eSmrg (thread::_Impl_base, thread::_Impl, thread::_M_start_thread) 1253*f9a78e0eSmrg [_GLIBCXX_THREAD_ABI_COMPAT] Only declare conditionally. 1254*f9a78e0eSmrg * src/c++11/thread.cc (execute_native_thread_routine): Rename to 1255*f9a78e0eSmrg execute_native_thread_routine_compat and re-define to use _State. 1256*f9a78e0eSmrg (thread::_State::~_State()): Define. 1257*f9a78e0eSmrg (thread::_M_make_thread): Define new overload. 1258*f9a78e0eSmrg (thread::_M_make_thread) [_GLIBCXX_THREAD_ABI_COMPAT]: Only define old 1259*f9a78e0eSmrg overloads conditionally. 1260*f9a78e0eSmrg 1261*f9a78e0eSmrg2015-09-28 Jonathan Wakely <jwakely@redhat.com> 1262*f9a78e0eSmrg 1263*f9a78e0eSmrg * include/std/condition_variable (condition_variable::wait): Add 1264*f9a78e0eSmrg noexcept. 1265*f9a78e0eSmrg * src/c++11/condition_variable.cc (condition_variable::wait): Call 1266*f9a78e0eSmrg std::terminate on error (DR 2135). 1267*f9a78e0eSmrg 1268*f9a78e0eSmrg2015-09-25 Ville Voutilainen <ville.voutilainen@gmail.com> 1269*f9a78e0eSmrg 1270*f9a78e0eSmrg Avoid creating dangling references in case of nested tuples 1271*f9a78e0eSmrg for tuple constructors that construct from other tuples. 1272*f9a78e0eSmrg * include/std/tuple (_TC::_NonNestedTuple): New. 1273*f9a78e0eSmrg * include/std/tuple (tuple::_TNTC): New. 1274*f9a78e0eSmrg * include/std/tuple (tuple(const tuple<_UElements...>&), 1275*f9a78e0eSmrg tuple(tuple<_UElements...>&&): Use _TNTC. 1276*f9a78e0eSmrg * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: New. 1277*f9a78e0eSmrg 1278*f9a78e0eSmrg2015-09-24 Jonathan Wakely <jwakely@redhat.com> 1279*f9a78e0eSmrg 1280*f9a78e0eSmrg PR libstdc++/67707 1281*f9a78e0eSmrg * include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize 1282*f9a78e0eSmrg empty object. 1283*f9a78e0eSmrg * testsuite/23_containers/deque/allocator/move.cc: Check moved-from 1284*f9a78e0eSmrg deque. 1285*f9a78e0eSmrg 1286*f9a78e0eSmrg2015-09-23 Jonathan Wakely <jwakely@redhat.com> 1287*f9a78e0eSmrg 1288*f9a78e0eSmrg * src/filesystem/ops.cc (canonical): Simplify error handling and 1289*f9a78e0eSmrg limit number of symlinks that can be resolved. 1290*f9a78e0eSmrg 1291*f9a78e0eSmrg2015-09-23 Jonathan Wakely <jwakely@redhat.com> 1292*f9a78e0eSmrg 1293*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Remove _GLIBCXX_ 1294*f9a78e0eSmrg prefix from HAVE_STRUCT_DIRENT_D_TYPE. 1295*f9a78e0eSmrg * config.h.in: Regenerate. 1296*f9a78e0eSmrg * configure: Regenerate. 1297*f9a78e0eSmrg * include/experimental/fs_dir.h (operator==, operator==): 1298*f9a78e0eSmrg Use owner_before instead of pointer equality. 1299*f9a78e0eSmrg (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove. 1300*f9a78e0eSmrg * src/filesystem/dir.cc (ErrorCode): Remove. 1301*f9a78e0eSmrg (_Dir::advance): Change ErrorCode parameter to error_code*, add 1302*f9a78e0eSmrg directory_options parameter and check it on error. 1303*f9a78e0eSmrg (opendir): Rename to open_dir to avoid clashing with macro. Change 1304*f9a78e0eSmrg ErrorCode parameter to error_code*. 1305*f9a78e0eSmrg (make_shared_dir): Remove. 1306*f9a78e0eSmrg (native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno. 1307*f9a78e0eSmrg (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove. 1308*f9a78e0eSmrg (directory_iterator(const path&, directory_options, error_code*)): 1309*f9a78e0eSmrg Pass options to _Dir::advance and create non-end iterator on error. 1310*f9a78e0eSmrg (recursive_directory_iterator(const path&, directory_options, 1311*f9a78e0eSmrg error_code*)): Clear error_code on ignored error, create non-end 1312*f9a78e0eSmrg iterator otherwise. 1313*f9a78e0eSmrg (recursive_directory_iterator::increment): Pass _M_options to 1314*f9a78e0eSmrg _Dir::advance. 1315*f9a78e0eSmrg (recursive_directory_iterator::pop): Likewise. 1316*f9a78e0eSmrg * testsuite/experimental/filesystem/iterators/directory_iterator.cc: 1317*f9a78e0eSmrg New. 1318*f9a78e0eSmrg * testsuite/experimental/filesystem/iterators/ 1319*f9a78e0eSmrg recursive_directory_iterator.cc: New. 1320*f9a78e0eSmrg 1321*f9a78e0eSmrg * src/filesystem/ops.cc (is_dot, is_dotdot): Define new helpers. 1322*f9a78e0eSmrg (create_directories): Fix error handling. 1323*f9a78e0eSmrg * testsuite/experimental/filesystem/operations/create_directories.cc: 1324*f9a78e0eSmrg New. 1325*f9a78e0eSmrg 1326*f9a78e0eSmrg2015-09-21 Jonathan Wakely <jwakely@redhat.com> 1327*f9a78e0eSmrg 1328*f9a78e0eSmrg PR libstdc++/67647 1329*f9a78e0eSmrg * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] 1330*f9a78e0eSmrg (basic_string::shrink_to_fit): Fix #endif placement. 1331*f9a78e0eSmrg 1332*f9a78e0eSmrg2015-09-19 Tim Shen <timshen@google.com> 1333*f9a78e0eSmrg 1334*f9a78e0eSmrg PR libstdc++/67361 1335*f9a78e0eSmrg * include/bits/regex_error.h: Add __throw_regex_error that 1336*f9a78e0eSmrg supports string. 1337*f9a78e0eSmrg * include/bits/regex_automaton.h: Add more specific exception 1338*f9a78e0eSmrg messages. 1339*f9a78e0eSmrg * include/bits/regex_automaton.tcc: Likewise. 1340*f9a78e0eSmrg * include/bits/regex_compiler.h: Likewise. 1341*f9a78e0eSmrg * include/bits/regex_compiler.tcc: Likewise. 1342*f9a78e0eSmrg * include/bits/regex_scanner.h: Likewise. 1343*f9a78e0eSmrg * include/bits/regex_scanner.tcc: Likewise. 1344*f9a78e0eSmrg 1345*f9a78e0eSmrg2015-09-18 Jonathan Wakely <jwakely@redhat.com> 1346*f9a78e0eSmrg 1347*f9a78e0eSmrg * include/precompiled/extc++.h: Fix bootstrap error due to 1348*f9a78e0eSmrg unconditional inclusion of <ext/enc_filebuf.h>. 1349*f9a78e0eSmrg * include/ext/random: Check for definition of UINT32_C. 1350*f9a78e0eSmrg 1351*f9a78e0eSmrg2015-09-17 Catherine Moore <clm@codesourcery.com> 1352*f9a78e0eSmrg 1353*f9a78e0eSmrg * src/c++11/debug.cc: Include <cstdio>. 1354*f9a78e0eSmrg 1355*f9a78e0eSmrg2015-09-17 Gerald Pfeifer <gerald@pfeifer.com> 1356*f9a78e0eSmrg 1357*f9a78e0eSmrg * src/c++11/random.cc: Include <cerrno>. 1358*f9a78e0eSmrg 1359*f9a78e0eSmrg2015-09-17 François Dumont <fdumont@gcc.gnu.org> 1360*f9a78e0eSmrg 1361*f9a78e0eSmrg * include/debug/formatter.h 1362*f9a78e0eSmrg (_Error_formatter::_Parameter::_M_print_field): Deprecate. 1363*f9a78e0eSmrg (_Error_formatter::_Parameter::_M_print_description): Likewise. 1364*f9a78e0eSmrg (_Error_formatter::_M_format_word): Likewise. 1365*f9a78e0eSmrg (_Error_formatter::_M_print_word): Likewise. 1366*f9a78e0eSmrg (_Error_formatter::_M_print_string): Likewise. 1367*f9a78e0eSmrg (_Error_formatter::_M_get_max_length): Likewise. 1368*f9a78e0eSmrg (_Error_formatter::_M_max_length): Delete. 1369*f9a78e0eSmrg (_Error_formatter::_M_indent): Likewise. 1370*f9a78e0eSmrg (_Error_formatter::_M_column): Likewise. 1371*f9a78e0eSmrg (_Error_formatter::_M_first_line): Likewise. 1372*f9a78e0eSmrg (_Error_formatter::_M_wordwrap): Likewise. 1373*f9a78e0eSmrg * src/c++11/debug.cc: Adapt. 1374*f9a78e0eSmrg 1375*f9a78e0eSmrg2015-09-17 Jonathan Wakely <jwakely@redhat.com> 1376*f9a78e0eSmrg 1377*f9a78e0eSmrg PR libstdc++/65913 1378*f9a78e0eSmrg * include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(), 1379*f9a78e0eSmrg __atomic_base<_PTp*>::is_lock_free()): Call the built-in with the 1380*f9a78e0eSmrg immediate pointer value, not a variable. 1381*f9a78e0eSmrg * include/std/atomic (atomic<T>::is_lock_free()): Likewise. 1382*f9a78e0eSmrg * testsuite/29_atomics/atomic/65913.cc: New. 1383*f9a78e0eSmrg 1384*f9a78e0eSmrg * testsuite/experimental/filesystem/operations/canonical.cc: Remove 1385*f9a78e0eSmrg non-deterministic part of the test. 1386*f9a78e0eSmrg 1387*f9a78e0eSmrg PR libstdc++/65142 1388*f9a78e0eSmrg * src/c++11/random.cc (random_device::_M_getval()): Retry after short 1389*f9a78e0eSmrg reads. 1390*f9a78e0eSmrg 1391*f9a78e0eSmrg * include/std/system_error (error_code::operator bool(), 1392*f9a78e0eSmrg error_condition::operator bool()): Remove redundant conditional 1393*f9a78e0eSmrg expression. 1394*f9a78e0eSmrg 1395*f9a78e0eSmrg * include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it): 1396*f9a78e0eSmrg Do nothing if exceptions are disabled. 1397*f9a78e0eSmrg * include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise. 1398*f9a78e0eSmrg 1399*f9a78e0eSmrg2015-09-16 Jonathan Wakely <jwakely@redhat.com> 1400*f9a78e0eSmrg 1401*f9a78e0eSmrg PR libstdc++/67173 1402*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION 1403*f9a78e0eSmrg and PATH_MAX for _GLIBCXX_USE_REALPATH. 1404*f9a78e0eSmrg * config.h.in: Regenerate. 1405*f9a78e0eSmrg * configure: Regenerate. 1406*f9a78e0eSmrg * src/filesystem/ops.cc: (canonical) [!_GLIBCXX_USE_REALPATH]: Add 1407*f9a78e0eSmrg alternative implementation. 1408*f9a78e0eSmrg * testsuite/experimental/filesystem/operations/canonical.cc: New. 1409*f9a78e0eSmrg * testsuite/experimental/filesystem/operations/exists.cc: Add more 1410*f9a78e0eSmrg tests. 1411*f9a78e0eSmrg * testsuite/experimental/filesystem/operations/absolute.cc: Add test 1412*f9a78e0eSmrg variables. 1413*f9a78e0eSmrg * testsuite/experimental/filesystem/operations/copy.cc: Likewise. 1414*f9a78e0eSmrg * testsuite/experimental/filesystem/operations/current_path.cc: 1415*f9a78e0eSmrg Likewise. 1416*f9a78e0eSmrg * testsuite/experimental/filesystem/operations/file_size.cc: Likewise. 1417*f9a78e0eSmrg * testsuite/experimental/filesystem/operations/status.cc: Likewise. 1418*f9a78e0eSmrg * testsuite/experimental/filesystem/operations/temp_directory_path.cc: 1419*f9a78e0eSmrg Likewise. 1420*f9a78e0eSmrg 1421*f9a78e0eSmrg2015-09-11 Jonathan Wakely <jwakely@redhat.com> 1422*f9a78e0eSmrg 1423*f9a78e0eSmrg PR libstdc++/67173 1424*f9a78e0eSmrg * src/filesystem/ops.cc (filesystem::canonical): Allocate buffer for 1425*f9a78e0eSmrg realpath on Solaris 10. 1426*f9a78e0eSmrg 1427*f9a78e0eSmrg PR libstdc++/65142 1428*f9a78e0eSmrg * src/c++11/random.cc (random_device::_M_getval()): Check read result. 1429*f9a78e0eSmrg 1430*f9a78e0eSmrg2015-09-11 John Marino <gnugcc@marino.st> 1431*f9a78e0eSmrg Jonathan Wakely <jwakely@redhat.com> 1432*f9a78e0eSmrg 1433*f9a78e0eSmrg PR libstdc++/67096 1434*f9a78e0eSmrg * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Do not test code points 1435*f9a78e0eSmrg above U+10FFFF. 1436*f9a78e0eSmrg * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise. 1437*f9a78e0eSmrg * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise. 1438*f9a78e0eSmrg * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise. 1439*f9a78e0eSmrg * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise. 1440*f9a78e0eSmrg * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise. 1441*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise. 1442*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise. 1443*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise. 1444*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise. 1445*f9a78e0eSmrg * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise. 1446*f9a78e0eSmrg * testsuite/27_io/objects/wchar_t/10.cc: Likewise. 1447*f9a78e0eSmrg * testsuite/27_io/objects/wchar_t/11.cc: Likewise. 1448*f9a78e0eSmrg * testsuite/27_io/objects/wchar_t/12.cc: Likewise. 1449*f9a78e0eSmrg * testsuite/27_io/objects/wchar_t/13.cc: Likewise. 1450*f9a78e0eSmrg 1451*f9a78e0eSmrg2015-09-11 Jonathan Wakely <jwakely@redhat.com> 1452*f9a78e0eSmrg 1453*f9a78e0eSmrg PR libstdc++/64857 1454*f9a78e0eSmrg * doc/xml/manual/using.xml: Improve aggregate header documentation. 1455*f9a78e0eSmrg * doc/html/manual/*: Regenerate. 1456*f9a78e0eSmrg * include/precompiled/extc++.h: Include <bits/stdc++.h> for C++11 1457*f9a78e0eSmrg and later and include more extension headers. 1458*f9a78e0eSmrg * testsuite/17_intro/headers/c++1998/all_attributes.cc: Remove 1459*f9a78e0eSmrg redundant header. 1460*f9a78e0eSmrg * testsuite/17_intro/headers/c++200x/: Rename to c++2011. 1461*f9a78e0eSmrg * testsuite/17_intro/headers/c++2014/all_attributes.cc: Remove 1462*f9a78e0eSmrg redundant headers. 1463*f9a78e0eSmrg * testsuite/17_intro/headers/c++2014/all_no_exceptions.cc: New. 1464*f9a78e0eSmrg * testsuite/17_intro/headers/c++2014/all_no_rtti.cc: New. 1465*f9a78e0eSmrg * testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc: New. 1466*f9a78e0eSmrg * testsuite/17_intro/headers/c++2014/operator_names.cc: New. 1467*f9a78e0eSmrg * testsuite/17_intro/headers/c++2014/stdc++.cc: New. 1468*f9a78e0eSmrg * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc: 1469*f9a78e0eSmrg New. 1470*f9a78e0eSmrg 1471*f9a78e0eSmrg PR libstdc++/58265 1472*f9a78e0eSmrg * doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions. 1473*f9a78e0eSmrg * doc/html/manual/bugs.html: Regenerate. 1474*f9a78e0eSmrg * include/bits/basic_string.h (basic_string): Implement N4258. Add 1475*f9a78e0eSmrg correct exception-specifications and propagate allocators correctly. 1476*f9a78e0eSmrg * include/bits/basic_string.tcc (basic_string::swap): Propagate 1477*f9a78e0eSmrg allocators correctly. 1478*f9a78e0eSmrg * include/debug/string (__gnu_debug::basic_string): Add correct 1479*f9a78e0eSmrg exceptions-specifications and allcoator-extended constructors. 1480*f9a78e0eSmrg * testsuite/21_strings/basic_string/allocator/char/copy.cc: New. 1481*f9a78e0eSmrg * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: 1482*f9a78e0eSmrg New. 1483*f9a78e0eSmrg * testsuite/21_strings/basic_string/allocator/char/minimal.cc: New. 1484*f9a78e0eSmrg * testsuite/21_strings/basic_string/allocator/char/move.cc: New. 1485*f9a78e0eSmrg * testsuite/21_strings/basic_string/allocator/char/move_assign.cc: 1486*f9a78e0eSmrg New. 1487*f9a78e0eSmrg * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New. 1488*f9a78e0eSmrg * testsuite/21_strings/basic_string/allocator/char/swap.cc: New. 1489*f9a78e0eSmrg * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New. 1490*f9a78e0eSmrg * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: 1491*f9a78e0eSmrg New. 1492*f9a78e0eSmrg * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New. 1493*f9a78e0eSmrg * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New. 1494*f9a78e0eSmrg * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: 1495*f9a78e0eSmrg New. 1496*f9a78e0eSmrg * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New. 1497*f9a78e0eSmrg * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New. 1498*f9a78e0eSmrg * testsuite/util/testsuite_allocator.h (tracker_allocator): Define 1499*f9a78e0eSmrg defaulted assignment operators. 1500*f9a78e0eSmrg 1501*f9a78e0eSmrg PR libstdc++/65092 1502*f9a78e0eSmrg * include/bits/stl_queue.h (queue, priority_queue): Add 1503*f9a78e0eSmrg allocator-extended constructors. 1504*f9a78e0eSmrg * include/bits/stl_stack.h (stack): Likewise. 1505*f9a78e0eSmrg * testsuite/23_containers/priority_queue/requirements/ 1506*f9a78e0eSmrg uses_allocator.cc: Test allocator-extended constructors. 1507*f9a78e0eSmrg * testsuite/23_containers/queue/requirements/uses_allocator.cc: 1508*f9a78e0eSmrg Likewise. 1509*f9a78e0eSmrg * testsuite/23_containers/stack/requirements/uses_allocator.cc: 1510*f9a78e0eSmrg Likewise. 1511*f9a78e0eSmrg 1512*f9a78e0eSmrg2015-09-10 Jonathan Wakely <jwakely@redhat.com> 1513*f9a78e0eSmrg 1514*f9a78e0eSmrg * testsuite/util/testsuite_allocator.h (PointerBase::operator[]): Add. 1515*f9a78e0eSmrg 1516*f9a78e0eSmrg * testsuite/21_strings/basic_string/operators/char/1.cc: Verify the 1517*f9a78e0eSmrg string contents. 1518*f9a78e0eSmrg 1519*f9a78e0eSmrg2015-09-09 Jonathan Wakely <jwakely@redhat.com> 1520*f9a78e0eSmrg 1521*f9a78e0eSmrg * doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document. 1522*f9a78e0eSmrg * doc/html/manual/using_macros.html: Regenerate. 1523*f9a78e0eSmrg * include/bits/c++config: Define _GLIBCXX_ASSERTIONS when 1524*f9a78e0eSmrg _GLIBCXX_DEBUG is defined. Disable std::string extern templates when 1525*f9a78e0eSmrg (_GLIBCXX_EXTERN_TEMPLATE, __glibcxx_assert): Depend on 1526*f9a78e0eSmrg _GLIBCXX_ASSERTIONS instead of _GLIBCXX_DEBUG. 1527*f9a78e0eSmrg * include/debug/debug.h [!_GLIBCXX_DEBUG]: Define 1528*f9a78e0eSmrg __glibcxx_requires_non_empty_range and __glibcxx_requires_nonempty. 1529*f9a78e0eSmrg * include/backward/auto_ptr.h (auto_ptr::operator*, 1530*f9a78e0eSmrg auto_ptr::operator->): Replace _GLIBCXX_DEBUG_ASSERT with 1531*f9a78e0eSmrg __glibcxx_assert. 1532*f9a78e0eSmrg * include/bits/basic_string.h (basic_string::operator[], 1533*f9a78e0eSmrg basic_string::front, basic_string::back, basic_string::pop_back): 1534*f9a78e0eSmrg Likewise. 1535*f9a78e0eSmrg * include/bits/random.h 1536*f9a78e0eSmrg (uniform_int_distribution::param_type::param_type, 1537*f9a78e0eSmrg uniform_real_distribution::param_type::param_type, 1538*f9a78e0eSmrg normal_distribution::param_type::param_type, 1539*f9a78e0eSmrg gamma_distribution::param_type::param_type, 1540*f9a78e0eSmrg bernoulli_distribution::param_type::param_type, 1541*f9a78e0eSmrg binomial_distribution::param_type::param_type, 1542*f9a78e0eSmrg geometric_distribution::param_type::param_type, 1543*f9a78e0eSmrg negative_binomial_distribution::param_type::param_type, 1544*f9a78e0eSmrg poisson_distribution::param_type::param_type, 1545*f9a78e0eSmrg exponential_distribution::param_type::param_type): Likewise. 1546*f9a78e0eSmrg * include/bits/regex.h (match_results::operator[], 1547*f9a78e0eSmrg match_results::prefix, match_results::suffix): Likewise. 1548*f9a78e0eSmrg * include/bits/regex.tcc (format, regex_iterator::operator++): 1549*f9a78e0eSmrg Likewise. 1550*f9a78e0eSmrg * include/bits/regex_automaton.tcc (_StateSeq::_M_clone): Likewise. 1551*f9a78e0eSmrg * include/bits/regex_compiler.tcc (_Compiler::_Compiler, 1552*f9a78e0eSmrg _Compiler::_M_insert_character_class_matcher): Likewise. 1553*f9a78e0eSmrg * include/bits/regex_executor.tcc (_Executor::_M_dfs): Likewise. 1554*f9a78e0eSmrg * include/bits/regex_scanner.tcc (_Scanner::_M_advance, 1555*f9a78e0eSmrg _Scanner::_M_scan_normal): Likewise. 1556*f9a78e0eSmrg * include/bits/shared_ptr_base.h (__shared_ptr::_M_reset, 1557*f9a78e0eSmrg __shared_ptr::operator*): Likewise. 1558*f9a78e0eSmrg * include/bits/stl_iterator_base_funcs.h (__advance): Likewise. 1559*f9a78e0eSmrg * include/bits/unique_ptr.h (unique_ptr::operator*, 1560*f9a78e0eSmrg unique_ptr::operator[]): Likewise. 1561*f9a78e0eSmrg * include/experimental/fs_path.h (path::path(string_type, _Type), 1562*f9a78e0eSmrg path::iterator::operator++, path::iterator::operator--, 1563*f9a78e0eSmrg path::iterator::operator*): Likewise. 1564*f9a78e0eSmrg * include/experimental/string_view (basic_string_view::operator[], 1565*f9a78e0eSmrg basic_string_view::front, basic_string_view::back, 1566*f9a78e0eSmrg basic_string_view::remove_prefix): Likewise. 1567*f9a78e0eSmrg * include/ext/random (beta_distribution::param_type::param_type, 1568*f9a78e0eSmrg normal_mv_distribution::param_type::param_type, 1569*f9a78e0eSmrg rice_distribution::param_type::param_type, 1570*f9a78e0eSmrg pareto_distribution::param_type::param_type, 1571*f9a78e0eSmrg k_distribution::param_type::param_type, 1572*f9a78e0eSmrg arcsine_distribution::param_type::param_type, 1573*f9a78e0eSmrg hoyt_distribution::param_type::param_type, 1574*f9a78e0eSmrg triangular_distribution::param_type::param_type, 1575*f9a78e0eSmrg von_mises_distribution::param_type::param_type, 1576*f9a78e0eSmrg hypergeometric_distribution::param_type::param_type, 1577*f9a78e0eSmrg logistic_distribution::param_type::param_type): Likewise. 1578*f9a78e0eSmrg * include/ext/vstring.h (__versa_string::operator[]): Likewise. 1579*f9a78e0eSmrg * include/std/complex (polar): Likewise. 1580*f9a78e0eSmrg * include/std/mutex [!_GTHREAD_USE_MUTEX_TIMEDLOCK] 1581*f9a78e0eSmrg (timed_mutex::~timed_mutex, timed_mutex::unlock, 1582*f9a78e0eSmrg (recursive_timed_mutex::~timed_mutex, recursive_timed_mutex::unlock): 1583*f9a78e0eSmrg Likewise. 1584*f9a78e0eSmrg * include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER] 1585*f9a78e0eSmrg (__shared_mutex_pthread::__shared_mutex_pthread, 1586*f9a78e0eSmrg __shared_mutex_pthread::~__shared_mutex_pthread): Likewise. 1587*f9a78e0eSmrg (__shared_mutex_pthread::lock, __shared_mutex_pthread::try_lock, 1588*f9a78e0eSmrg __shared_mutex_pthread::unlock, __shared_mutex_pthread::lock_shared, 1589*f9a78e0eSmrg __shared_mutex_pthread::try_lock_shared): Likewise. 1590*f9a78e0eSmrg (__shared_mutex_cv::~__shared_mutex_cv, __shared_mutex_cv::unlock, 1591*f9a78e0eSmrg __shared_mutex_cv::unlock_shared): Likewise. 1592*f9a78e0eSmrg (shared_timed_mutex::try_lock_until, 1593*f9a78e0eSmrg shared_timed_mutex::try_lock_shared_until): Likewise. 1594*f9a78e0eSmrg * include/std/valarray (valarray::valarray(const _Tp*, size_t), 1595*f9a78e0eSmrg valarray::operator=, valarray::sum, valarray::min, valarray::max, 1596*f9a78e0eSmrg _DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT, _DEFINE_BINARY_OPERATOR): 1597*f9a78e0eSmrg Likewise. 1598*f9a78e0eSmrg 1599*f9a78e0eSmrg2015-09-07 Jonathan Wakely <jwakely@redhat.com> 1600*f9a78e0eSmrg 1601*f9a78e0eSmrg * include/bits/shared_ptr_base.h (__shared_ptr::operator->): Change 1602*f9a78e0eSmrg _GLIBCXX_DEBUG_ASSERT to _GLIBCXX_DEBUG_PEDASSERT. 1603*f9a78e0eSmrg * include/bits/unique_ptr.h (unique_ptr::operator->): Likewise. 1604*f9a78e0eSmrg * testsuite/20_util/shared_ptr/observers/get.cc: Test operator-> on 1605*f9a78e0eSmrg empty shared_ptr. 1606*f9a78e0eSmrg 1607*f9a78e0eSmrg * include/bits/regex_compiler.h (_BracketMatcher::_M_is_ready): 1608*f9a78e0eSmrg Initialize using NSDMI and set using _GLIBCXX_DEBUG_ONLY. 1609*f9a78e0eSmrg 1610*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Rename 1611*f9a78e0eSmrg shadowed variable. 1612*f9a78e0eSmrg 1613*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Run on 1614*f9a78e0eSmrg darwin. 1615*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/unlock/2.cc: Run on darwin. 1616*f9a78e0eSmrg 1617*f9a78e0eSmrg2015-09-04 Jonathan Wakely <jwakely@redhat.com> 1618*f9a78e0eSmrg 1619*f9a78e0eSmrg PR libstdc++/65704 1620*f9a78e0eSmrg * include/std/mutex (recursive_timed_mutex): Fix uses of _Can_lock. 1621*f9a78e0eSmrg 1622*f9a78e0eSmrg PR libstdc++/65704 1623*f9a78e0eSmrg * include/Makefile.am: Add <bits/mutex.h>. 1624*f9a78e0eSmrg * include/Makefile.in: Regenerate. 1625*f9a78e0eSmrg * include/bits/mutex.h (__mutex_base, mutex, lock_guard, unique_lock): 1626*f9a78e0eSmrg New file containing types moved from <mutex>. 1627*f9a78e0eSmrg * include/std/condition_variable: Include <bits/mutex.h> instead of 1628*f9a78e0eSmrg <mutex>. 1629*f9a78e0eSmrg * include/std/mutex (__mutex_base, mutex, lock_guard, unique_lock): 1630*f9a78e0eSmrg Move to <bits/mutex.h>. 1631*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Remove 1632*f9a78e0eSmrg dg-require-gthreads-timed. 1633*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: 1634*f9a78e0eSmrg Likewise. 1635*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: 1636*f9a78e0eSmrg Likewise. 1637*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/dest/ 1638*f9a78e0eSmrg destructor_locked.cc: Likewise. 1639*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise. 1640*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise. 1641*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise. 1642*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise. 1643*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc: 1644*f9a78e0eSmrg Likewise. 1645*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc: 1646*f9a78e0eSmrg Likewise. 1647*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc: 1648*f9a78e0eSmrg Likewise. 1649*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: 1650*f9a78e0eSmrg Likewise. 1651*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: 1652*f9a78e0eSmrg Likewise. 1653*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise. 1654*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise. 1655*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise. 1656*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise. 1657*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: 1658*f9a78e0eSmrg Likewise. 1659*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise. 1660*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/requirements/standard_layout.cc: 1661*f9a78e0eSmrg Likewise. 1662*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise. 1663*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise. 1664*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise. 1665*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise. 1666*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise. 1667*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise. 1668*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise. 1669*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise. 1670*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise. 1671*f9a78e0eSmrg * testsuite/30_threads/unique_lock/cons/5.cc: Likewise. 1672*f9a78e0eSmrg * testsuite/30_threads/unique_lock/cons/6.cc: Likewise. 1673*f9a78e0eSmrg * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. 1674*f9a78e0eSmrg * testsuite/30_threads/unique_lock/locking/4.cc: Likewise. 1675*f9a78e0eSmrg 1676*f9a78e0eSmrg2015-09-04 Edward Smith-Rowland <3dw4rd@verizon.net> 1677*f9a78e0eSmrg Jonathan Wakely <jwakely@redhat.com> 1678*f9a78e0eSmrg 1679*f9a78e0eSmrg Add C++11 header <cuchar>. 1680*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Define. 1681*f9a78e0eSmrg * config.h.in: Regenerate. 1682*f9a78e0eSmrg * configure: Regenerate. 1683*f9a78e0eSmrg * configure.ac: Check for <uchar.h>. 1684*f9a78e0eSmrg * include/Makefile.am: Add new headers. 1685*f9a78e0eSmrg * include/Makefile.in: Regenerate. 1686*f9a78e0eSmrg * include/c/cuchar: New. 1687*f9a78e0eSmrg * include/c_compatibility/uchar.h: New. 1688*f9a78e0eSmrg * include/c_global/cuchar: New. 1689*f9a78e0eSmrg * include/c_std/cuchar: New. 1690*f9a78e0eSmrg * include/precompiled/stdc++.h: Include <cuchar>. 1691*f9a78e0eSmrg * testsuite/17_intro/headers/c++200x/stdc++.cc: Include <uchar.h>. 1692*f9a78e0eSmrg * testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc: 1693*f9a78e0eSmrg Include <uchar.h>. 1694*f9a78e0eSmrg 1695*f9a78e0eSmrg2015-09-04 Jonathan Wakely <jwakely@redhat.com> 1696*f9a78e0eSmrg 1697*f9a78e0eSmrg PR libstdc++/65473 1698*f9a78e0eSmrg * include/c/cassert: Include <bits/c++config.h>. 1699*f9a78e0eSmrg * include/c/cerrno: Likewise. 1700*f9a78e0eSmrg * include/c/cfloat: Likewise. 1701*f9a78e0eSmrg * include/c/ciso646: Likewise. 1702*f9a78e0eSmrg * include/c/climits: Likewise. 1703*f9a78e0eSmrg * include/c_global/cassert: Likewise. 1704*f9a78e0eSmrg * include/c_global/cerrno: Likewise. 1705*f9a78e0eSmrg * include/c_global/cfloat: Likewise. 1706*f9a78e0eSmrg * include/c_global/ciso646: Likewise. 1707*f9a78e0eSmrg * include/c_global/climits: Likewise. 1708*f9a78e0eSmrg * include/c_std/cassert: Likewise. 1709*f9a78e0eSmrg * include/c_std/cerrno: Likewise. 1710*f9a78e0eSmrg * include/c_std/cfloat: Likewise. 1711*f9a78e0eSmrg * include/c_std/ciso646: Likewise. 1712*f9a78e0eSmrg * include/c_std/climits: Likewise. 1713*f9a78e0eSmrg 1714*f9a78e0eSmrg2015-09-03 Jonathan Wakely <jwakely@redhat.com> 1715*f9a78e0eSmrg 1716*f9a78e0eSmrg * include/bits/shared_ptr_base.h: Add required header. 1717*f9a78e0eSmrg * include/std/condition_variable: Likewise. 1718*f9a78e0eSmrg * include/std/mutex: Remove unused header. 1719*f9a78e0eSmrg * include/std/shared_mutex: Remove redundant header. 1720*f9a78e0eSmrg (shared_mutex::shared_mutex()): Replace throw with __throw_bad_alloc. 1721*f9a78e0eSmrg 1722*f9a78e0eSmrg PR libstdc++/66902 1723*f9a78e0eSmrg * src/c++11/debug.cc (_S_debug_messages): Make array const. 1724*f9a78e0eSmrg 1725*f9a78e0eSmrg PR libstdc++/66998 1726*f9a78e0eSmrg * include/experimental/functional (_Not_fn): Add exception 1727*f9a78e0eSmrg specifications and non-deduced return types. 1728*f9a78e0eSmrg (not_fn): Add exception specification and wrap pointer-to-member. 1729*f9a78e0eSmrg * testsuite/experimental/functional/not_fn.cc: Test in SFINAE context 1730*f9a78e0eSmrg and test pointer-to-member. 1731*f9a78e0eSmrg 1732*f9a78e0eSmrg PR libstdc++/62039 1733*f9a78e0eSmrg * include/bits/stl_iterator_base_funcs.h (next, prev): Add concept 1734*f9a78e0eSmrg checks. 1735*f9a78e0eSmrg * testsuite/24_iterators/operations/prev_neg.cc: New. 1736*f9a78e0eSmrg * testsuite/24_iterators/operations/next_neg.cc: New. 1737*f9a78e0eSmrg 1738*f9a78e0eSmrg2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 1739*f9a78e0eSmrg 1740*f9a78e0eSmrg * testsuite/18_support/pthread_guard.cc: Add *-*-rtems* target 1741*f9a78e0eSmrg selector to all lines which contain a *-*-cygwin target selector. 1742*f9a78e0eSmrg * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. 1743*f9a78e0eSmrg * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise. 1744*f9a78e0eSmrg * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. 1745*f9a78e0eSmrg * testsuite/21_strings/basic_string/pthread18185.cc: Likewise. 1746*f9a78e0eSmrg * testsuite/21_strings/basic_string/pthread33394.cc: Likewise. 1747*f9a78e0eSmrg * testsuite/21_strings/basic_string/pthread4.cc: Likewise. 1748*f9a78e0eSmrg * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise. 1749*f9a78e0eSmrg * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise. 1750*f9a78e0eSmrg * testsuite/23_containers/list/pthread1.cc: Likewise. 1751*f9a78e0eSmrg * testsuite/23_containers/list/pthread5.cc: Likewise. 1752*f9a78e0eSmrg * testsuite/23_containers/map/pthread6.cc: Likewise. 1753*f9a78e0eSmrg * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise. 1754*f9a78e0eSmrg * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise. 1755*f9a78e0eSmrg * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise. 1756*f9a78e0eSmrg * testsuite/30_threads/async/42819.cc: Likewise. 1757*f9a78e0eSmrg * testsuite/30_threads/async/49668.cc: Likewise. 1758*f9a78e0eSmrg * testsuite/30_threads/async/54297.cc: Likewise. 1759*f9a78e0eSmrg * testsuite/30_threads/async/any.cc: Likewise. 1760*f9a78e0eSmrg * testsuite/30_threads/async/async.cc: Likewise. 1761*f9a78e0eSmrg * testsuite/30_threads/async/launch.cc: Likewise. 1762*f9a78e0eSmrg * testsuite/30_threads/async/lwg2021.cc: Likewise. 1763*f9a78e0eSmrg * testsuite/30_threads/async/sync.cc: Likewise. 1764*f9a78e0eSmrg * testsuite/30_threads/call_once/39909.cc: Likewise. 1765*f9a78e0eSmrg * testsuite/30_threads/call_once/49668.cc: Likewise. 1766*f9a78e0eSmrg * testsuite/30_threads/call_once/60497.cc: Likewise. 1767*f9a78e0eSmrg * testsuite/30_threads/call_once/call_once1.cc: Likewise. 1768*f9a78e0eSmrg * testsuite/30_threads/condition_variable/54185.cc: Likewise. 1769*f9a78e0eSmrg * testsuite/30_threads/condition_variable/cons/1.cc: Likewise. 1770*f9a78e0eSmrg * testsuite/30_threads/condition_variable/members/1.cc: Likewise. 1771*f9a78e0eSmrg * testsuite/30_threads/condition_variable/members/2.cc: Likewise. 1772*f9a78e0eSmrg * testsuite/30_threads/condition_variable/members/3.cc: Likewise. 1773*f9a78e0eSmrg * testsuite/30_threads/condition_variable/members/53841.cc: Likewise. 1774*f9a78e0eSmrg * testsuite/30_threads/condition_variable/native_handle/typesizes.cc: 1775*f9a78e0eSmrg Likewise. 1776*f9a78e0eSmrg * testsuite/30_threads/condition_variable_any/50862.cc: Likewise. 1777*f9a78e0eSmrg * testsuite/30_threads/condition_variable_any/53830.cc: Likewise. 1778*f9a78e0eSmrg * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise. 1779*f9a78e0eSmrg * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise. 1780*f9a78e0eSmrg * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise. 1781*f9a78e0eSmrg * testsuite/30_threads/future/cons/move.cc: Likewise. 1782*f9a78e0eSmrg * testsuite/30_threads/future/members/45133.cc: Likewise. 1783*f9a78e0eSmrg * testsuite/30_threads/future/members/get.cc: Likewise. 1784*f9a78e0eSmrg * testsuite/30_threads/future/members/get2.cc: Likewise. 1785*f9a78e0eSmrg * testsuite/30_threads/future/members/share.cc: Likewise. 1786*f9a78e0eSmrg * testsuite/30_threads/future/members/valid.cc: Likewise. 1787*f9a78e0eSmrg * testsuite/30_threads/future/members/wait.cc: Likewise. 1788*f9a78e0eSmrg * testsuite/30_threads/future/members/wait_for.cc: Likewise. 1789*f9a78e0eSmrg * testsuite/30_threads/future/members/wait_until.cc: Likewise. 1790*f9a78e0eSmrg * testsuite/30_threads/lock/1.cc: Likewise. 1791*f9a78e0eSmrg * testsuite/30_threads/lock/2.cc: Likewise. 1792*f9a78e0eSmrg * testsuite/30_threads/lock/3.cc: Likewise. 1793*f9a78e0eSmrg * testsuite/30_threads/lock/4.cc: Likewise. 1794*f9a78e0eSmrg * testsuite/30_threads/mutex/cons/1.cc: Likewise. 1795*f9a78e0eSmrg * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise. 1796*f9a78e0eSmrg * testsuite/30_threads/mutex/lock/1.cc: Likewise. 1797*f9a78e0eSmrg * testsuite/30_threads/mutex/native_handle/1.cc: Likewise. 1798*f9a78e0eSmrg * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise. 1799*f9a78e0eSmrg * testsuite/30_threads/mutex/try_lock/1.cc: Likewise. 1800*f9a78e0eSmrg * testsuite/30_threads/mutex/try_lock/2.cc: Likewise. 1801*f9a78e0eSmrg * testsuite/30_threads/mutex/unlock/1.cc: Likewise. 1802*f9a78e0eSmrg * testsuite/30_threads/mutex/unlock/2.cc: Likewise. 1803*f9a78e0eSmrg * testsuite/30_threads/packaged_task/49668.cc: Likewise. 1804*f9a78e0eSmrg * testsuite/30_threads/packaged_task/60564.cc: Likewise. 1805*f9a78e0eSmrg * testsuite/30_threads/packaged_task/cons/1.cc: Likewise. 1806*f9a78e0eSmrg * testsuite/30_threads/packaged_task/cons/2.cc: Likewise. 1807*f9a78e0eSmrg * testsuite/30_threads/packaged_task/cons/3.cc: Likewise. 1808*f9a78e0eSmrg * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise. 1809*f9a78e0eSmrg * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise. 1810*f9a78e0eSmrg * testsuite/30_threads/packaged_task/cons/move.cc: Likewise. 1811*f9a78e0eSmrg * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise. 1812*f9a78e0eSmrg * testsuite/30_threads/packaged_task/members/at_thread_exit.cc: 1813*f9a78e0eSmrg Likewise. 1814*f9a78e0eSmrg * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise. 1815*f9a78e0eSmrg * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise. 1816*f9a78e0eSmrg * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise. 1817*f9a78e0eSmrg * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise. 1818*f9a78e0eSmrg * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise. 1819*f9a78e0eSmrg * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise. 1820*f9a78e0eSmrg * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise. 1821*f9a78e0eSmrg * testsuite/30_threads/packaged_task/members/reset.cc: Likewise. 1822*f9a78e0eSmrg * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise. 1823*f9a78e0eSmrg * testsuite/30_threads/packaged_task/members/swap.cc: Likewise. 1824*f9a78e0eSmrg * testsuite/30_threads/packaged_task/members/valid.cc: Likewise. 1825*f9a78e0eSmrg * testsuite/30_threads/promise/60966.cc: Likewise. 1826*f9a78e0eSmrg * testsuite/30_threads/promise/cons/1.cc: Likewise. 1827*f9a78e0eSmrg * testsuite/30_threads/promise/cons/alloc.cc: Likewise. 1828*f9a78e0eSmrg * testsuite/30_threads/promise/cons/move.cc: Likewise. 1829*f9a78e0eSmrg * testsuite/30_threads/promise/cons/move_assign.cc: Likewise. 1830*f9a78e0eSmrg * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise. 1831*f9a78e0eSmrg * testsuite/30_threads/promise/members/get_future.cc: Likewise. 1832*f9a78e0eSmrg * testsuite/30_threads/promise/members/get_future2.cc: Likewise. 1833*f9a78e0eSmrg * testsuite/30_threads/promise/members/set_exception.cc: Likewise. 1834*f9a78e0eSmrg * testsuite/30_threads/promise/members/set_exception2.cc: Likewise. 1835*f9a78e0eSmrg * testsuite/30_threads/promise/members/set_value.cc: Likewise. 1836*f9a78e0eSmrg * testsuite/30_threads/promise/members/set_value2.cc: Likewise. 1837*f9a78e0eSmrg * testsuite/30_threads/promise/members/set_value3.cc: Likewise. 1838*f9a78e0eSmrg * testsuite/30_threads/promise/members/swap.cc: Likewise. 1839*f9a78e0eSmrg * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise. 1840*f9a78e0eSmrg * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: 1841*f9a78e0eSmrg Likewise. 1842*f9a78e0eSmrg * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise. 1843*f9a78e0eSmrg * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise. 1844*f9a78e0eSmrg * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: 1845*f9a78e0eSmrg Likewise. 1846*f9a78e0eSmrg * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise. 1847*f9a78e0eSmrg * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise. 1848*f9a78e0eSmrg * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise. 1849*f9a78e0eSmrg * testsuite/30_threads/recursive_mutex/unlock/2.cc: Likewise. 1850*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise. 1851*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc: 1852*f9a78e0eSmrg Likewise. 1853*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise. 1854*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise. 1855*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc: 1856*f9a78e0eSmrg Likewise. 1857*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc: 1858*f9a78e0eSmrg Likewise. 1859*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise. 1860*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise. 1861*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc: 1862*f9a78e0eSmrg Likewise. 1863*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc: 1864*f9a78e0eSmrg Likewise. 1865*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc: 1866*f9a78e0eSmrg Likewise. 1867*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: 1868*f9a78e0eSmrg Likewise. 1869*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: 1870*f9a78e0eSmrg Likewise. 1871*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise. 1872*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Likewise. 1873*f9a78e0eSmrg * testsuite/30_threads/shared_future/cons/move.cc: Likewise. 1874*f9a78e0eSmrg * testsuite/30_threads/shared_future/members/45133.cc: Likewise. 1875*f9a78e0eSmrg * testsuite/30_threads/shared_future/members/get.cc: Likewise. 1876*f9a78e0eSmrg * testsuite/30_threads/shared_future/members/get2.cc: Likewise. 1877*f9a78e0eSmrg * testsuite/30_threads/shared_future/members/valid.cc: Likewise. 1878*f9a78e0eSmrg * testsuite/30_threads/shared_future/members/wait.cc: Likewise. 1879*f9a78e0eSmrg * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise. 1880*f9a78e0eSmrg * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise. 1881*f9a78e0eSmrg * testsuite/30_threads/shared_lock/cons/1.cc: Likewise. 1882*f9a78e0eSmrg * testsuite/30_threads/shared_lock/cons/2.cc: Likewise. 1883*f9a78e0eSmrg * testsuite/30_threads/shared_lock/cons/3.cc: Likewise. 1884*f9a78e0eSmrg * testsuite/30_threads/shared_lock/cons/4.cc: Likewise. 1885*f9a78e0eSmrg * testsuite/30_threads/shared_lock/cons/5.cc: Likewise. 1886*f9a78e0eSmrg * testsuite/30_threads/shared_lock/cons/6.cc: Likewise. 1887*f9a78e0eSmrg * testsuite/30_threads/shared_lock/locking/1.cc: Likewise. 1888*f9a78e0eSmrg * testsuite/30_threads/shared_lock/locking/2.cc: Likewise. 1889*f9a78e0eSmrg * testsuite/30_threads/shared_lock/locking/3.cc: Likewise. 1890*f9a78e0eSmrg * testsuite/30_threads/shared_lock/locking/4.cc: Likewise. 1891*f9a78e0eSmrg * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise. 1892*f9a78e0eSmrg * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise. 1893*f9a78e0eSmrg * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise. 1894*f9a78e0eSmrg * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise. 1895*f9a78e0eSmrg * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise. 1896*f9a78e0eSmrg * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise. 1897*f9a78e0eSmrg * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise. 1898*f9a78e0eSmrg * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise. 1899*f9a78e0eSmrg * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise. 1900*f9a78e0eSmrg * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: Likewise. 1901*f9a78e0eSmrg * testsuite/30_threads/this_thread/1.cc: Likewise. 1902*f9a78e0eSmrg * testsuite/30_threads/this_thread/2.cc: Likewise. 1903*f9a78e0eSmrg * testsuite/30_threads/this_thread/3.cc: Likewise. 1904*f9a78e0eSmrg * testsuite/30_threads/this_thread/4.cc: Likewise. 1905*f9a78e0eSmrg * testsuite/30_threads/thread/cons/1.cc: Likewise. 1906*f9a78e0eSmrg * testsuite/30_threads/thread/cons/2.cc: Likewise. 1907*f9a78e0eSmrg * testsuite/30_threads/thread/cons/3.cc: Likewise. 1908*f9a78e0eSmrg * testsuite/30_threads/thread/cons/4.cc: Likewise. 1909*f9a78e0eSmrg * testsuite/30_threads/thread/cons/49668.cc: Likewise. 1910*f9a78e0eSmrg * testsuite/30_threads/thread/cons/5.cc: Likewise. 1911*f9a78e0eSmrg * testsuite/30_threads/thread/cons/6.cc: Likewise. 1912*f9a78e0eSmrg * testsuite/30_threads/thread/cons/7.cc: Likewise. 1913*f9a78e0eSmrg * testsuite/30_threads/thread/cons/8.cc: Likewise. 1914*f9a78e0eSmrg * testsuite/30_threads/thread/cons/9.cc: Likewise. 1915*f9a78e0eSmrg * testsuite/30_threads/thread/cons/moveable.cc: Likewise. 1916*f9a78e0eSmrg * testsuite/30_threads/thread/members/1.cc: Likewise. 1917*f9a78e0eSmrg * testsuite/30_threads/thread/members/2.cc: Likewise. 1918*f9a78e0eSmrg * testsuite/30_threads/thread/members/3.cc: Likewise. 1919*f9a78e0eSmrg * testsuite/30_threads/thread/members/4.cc: Likewise. 1920*f9a78e0eSmrg * testsuite/30_threads/thread/members/5.cc: Likewise. 1921*f9a78e0eSmrg * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise. 1922*f9a78e0eSmrg * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise. 1923*f9a78e0eSmrg * testsuite/30_threads/thread/swap/1.cc: Likewise. 1924*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise. 1925*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise. 1926*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise. 1927*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise. 1928*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise. 1929*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise. 1930*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise. 1931*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise. 1932*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise. 1933*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise. 1934*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise. 1935*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise. 1936*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise. 1937*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise. 1938*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise. 1939*f9a78e0eSmrg * testsuite/30_threads/try_lock/1.cc: Likewise. 1940*f9a78e0eSmrg * testsuite/30_threads/try_lock/2.cc: Likewise. 1941*f9a78e0eSmrg * testsuite/30_threads/try_lock/3.cc: Likewise. 1942*f9a78e0eSmrg * testsuite/30_threads/try_lock/4.cc: Likewise. 1943*f9a78e0eSmrg * testsuite/30_threads/unique_lock/cons/1.cc: Likewise. 1944*f9a78e0eSmrg * testsuite/30_threads/unique_lock/cons/2.cc: Likewise. 1945*f9a78e0eSmrg * testsuite/30_threads/unique_lock/cons/3.cc: Likewise. 1946*f9a78e0eSmrg * testsuite/30_threads/unique_lock/cons/4.cc: Likewise. 1947*f9a78e0eSmrg * testsuite/30_threads/unique_lock/cons/5.cc: Likewise. 1948*f9a78e0eSmrg * testsuite/30_threads/unique_lock/cons/6.cc: Likewise. 1949*f9a78e0eSmrg * testsuite/30_threads/unique_lock/locking/1.cc: Likewise. 1950*f9a78e0eSmrg * testsuite/30_threads/unique_lock/locking/2.cc: Likewise. 1951*f9a78e0eSmrg * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. 1952*f9a78e0eSmrg * testsuite/30_threads/unique_lock/locking/4.cc: Likewise. 1953*f9a78e0eSmrg * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise. 1954*f9a78e0eSmrg * testsuite/ext/rope/pthread7-rope.cc: Likewise. 1955*f9a78e0eSmrg * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc: 1956*f9a78e0eSmrg Likewise. 1957*f9a78e0eSmrg * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc: 1958*f9a78e0eSmrg Likewise. 1959*f9a78e0eSmrg 1960*f9a78e0eSmrg2015-09-02 Dmitry Vyukov <dvyukov@google.com> 1961*f9a78e0eSmrg 1962*f9a78e0eSmrg * include/bits/basic_string.h: Fix data races on _M_refcount. 1963*f9a78e0eSmrg 1964*f9a78e0eSmrg2015-09-02 Sebastian Huber <sebastian.huber@embedded-brains.de> 1965*f9a78e0eSmrg 1966*f9a78e0eSmrg PR libstdc++/67408 1967*f9a78e0eSmrg * include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Use 1968*f9a78e0eSmrg _Derived::_M_timedlock(). 1969*f9a78e0eSmrg (timed_mutex): Add _M_timedlock() and make base class a friend. 1970*f9a78e0eSmrg (recursive_timed_mutex): Likewise. 1971*f9a78e0eSmrg 1972*f9a78e0eSmrg2015-08-28 Tim Shen <timshen@google.com> 1973*f9a78e0eSmrg 1974*f9a78e0eSmrg PR libstdc++/67362 1975*f9a78e0eSmrg * include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal): 1976*f9a78e0eSmrg Always returns ordinary char token if the char isn't 1977*f9a78e0eSmrg considered a special char. 1978*f9a78e0eSmrg * testsuite/28_regex/regression.cc: New test file for collecting 1979*f9a78e0eSmrg regression testcases from, typically, bugzilla. 1980*f9a78e0eSmrg 1981*f9a78e0eSmrg2015-08-27 Jonathan Wakely <jwakely@redhat.com> 1982*f9a78e0eSmrg 1983*f9a78e0eSmrg PR libstdc++/67374 1984*f9a78e0eSmrg * include/bits/range_access.h (valarray, begin, end): Declare. 1985*f9a78e0eSmrg * testsuite/26_numerics/valarray/range_access.cc: Test const 1986*f9a78e0eSmrg overloads. 1987*f9a78e0eSmrg * testsuite/26_numerics/valarray/range_access2.cc: New. 1988*f9a78e0eSmrg 1989*f9a78e0eSmrg2015-08-27 John Marino <gnugcc@marino.st> 1990*f9a78e0eSmrg 1991*f9a78e0eSmrg * acinclude.m4 (*-*-dragonfly*): Change 7 locale support files 1992*f9a78e0eSmrg from generic to new DragonFly versions. 1993*f9a78e0eSmrg * configure: Regenerate. 1994*f9a78e0eSmrg * config/locale/dragonfly/c_locale.cc: Improve locale support. 1995*f9a78e0eSmrg * config/locale/dragonfly/ctype_members.cc: Likewise. 1996*f9a78e0eSmrg * config/os/bsd/dragonfly/ctype_configure_char.cc: Likewise. 1997*f9a78e0eSmrg * config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99. 1998*f9a78e0eSmrg * config/locale/dragonfly/c_locale.h: New. 1999*f9a78e0eSmrg * config/locale/dragonfly/codecvt_members.cc: New. 2000*f9a78e0eSmrg * config/locale/dragonfly/collate_members.cc: New. 2001*f9a78e0eSmrg * config/locale/dragonfly/monetary_members.cc: New. 2002*f9a78e0eSmrg * config/locale/dragonfly/numeric_members.cc: New. 2003*f9a78e0eSmrg * config/locale/dragonfly/time_members.cc: New. 2004*f9a78e0eSmrg * config/locale/dragonfly/time_members.h: New. 2005*f9a78e0eSmrg 2006*f9a78e0eSmrg2015-08-27 Jonathan Wakely <jwakely@redhat.com> 2007*f9a78e0eSmrg 2008*f9a78e0eSmrg * configure: Regenerate. 2009*f9a78e0eSmrg 2010*f9a78e0eSmrg2015-08-26 Edward Smith-Rowland <3dw4rd@verizon.net> 2011*f9a78e0eSmrg Jonathan Wakely <jwakely@redhat.com> 2012*f9a78e0eSmrg 2013*f9a78e0eSmrg PR libstdc++/64351 2014*f9a78e0eSmrg PR libstdc++/63176 2015*f9a78e0eSmrg * include/bits/random.tcc (generate_canonical): Loop until we get a 2016*f9a78e0eSmrg result less than one. 2017*f9a78e0eSmrg * testsuite/26_numerics/random/uniform_real_distribution/operators/ 2018*f9a78e0eSmrg 64351.cc: New. 2019*f9a78e0eSmrg 2020*f9a78e0eSmrg2015-08-26 Jonathan Wakely <jwakely@redhat.com> 2021*f9a78e0eSmrg 2022*f9a78e0eSmrg * include/bits/shared_ptr.h (__enable_shared_from_this_helper): Use 2023*f9a78e0eSmrg nullptr. 2024*f9a78e0eSmrg * include/bits/shared_ptr_base.h (weak_ptr::_M_assign): Don't assign 2025*f9a78e0eSmrg if ownership is already shared with a shared_ptr object. 2026*f9a78e0eSmrg (__enable_shared_from_this_helper): Use nullptr. 2027*f9a78e0eSmrg * testsuite/20_util/enable_shared_from_this/members/const.cc: New. 2028*f9a78e0eSmrg * testsuite/20_util/enable_shared_from_this/members/reinit.cc: New. 2029*f9a78e0eSmrg * testsuite/20_util/enable_shared_from_this/requirements/ 2030*f9a78e0eSmrg explicit_instantiation.cc: Instantiate with const and incomplete types. 2031*f9a78e0eSmrg 2032*f9a78e0eSmrg * include/debug/map.h (map::try_emplace, map::insert_or_assign): 2033*f9a78e0eSmrg Define. 2034*f9a78e0eSmrg * include/debug/unordered_map (unordered_map::try_emplace, 2035*f9a78e0eSmrg unordered_map::insert_or_assign): Define. 2036*f9a78e0eSmrg 2037*f9a78e0eSmrg PR libstdc++/66902 2038*f9a78e0eSmrg * src/c++11/debug.cc (_S_debug_messages): Give internal linkage. 2039*f9a78e0eSmrg 2040*f9a78e0eSmrg2015-08-24 François Dumont <fdumont@gcc.gnu.org> 2041*f9a78e0eSmrg 2042*f9a78e0eSmrg PR libstdc++/60519 2043*f9a78e0eSmrg * include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering): 2044*f9a78e0eSmrg New enum entry. 2045*f9a78e0eSmrg * include/debug/functions.h (_Irreflexive_checker): New. 2046*f9a78e0eSmrg (__is_irreflexive, __is_irreflexive_pred): New. 2047*f9a78e0eSmrg * include/debug/macros.h 2048*f9a78e0eSmrg (__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New 2049*f9a78e0eSmrg macros. 2050*f9a78e0eSmrg (__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New 2051*f9a78e0eSmrg macros limited to post-C++11 mode. 2052*f9a78e0eSmrg * include/debug/debug.h 2053*f9a78e0eSmrg (__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred): 2054*f9a78e0eSmrg New macros, use latter. 2055*f9a78e0eSmrg (__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2): 2056*f9a78e0eSmrg Likewise. 2057*f9a78e0eSmrg * include/bits/stl_algo.h 2058*f9a78e0eSmrg (partial_sort_copy): Add irreflexive debug check. 2059*f9a78e0eSmrg (partial_sort_copy): Likewise. 2060*f9a78e0eSmrg (lower_bound): Likewise. 2061*f9a78e0eSmrg (upper_bound): Likewise. 2062*f9a78e0eSmrg (equal_range): Likewise. 2063*f9a78e0eSmrg (binary_search): Likewise. 2064*f9a78e0eSmrg (inplace_merge): Likewise. 2065*f9a78e0eSmrg (includes): Likewise. 2066*f9a78e0eSmrg (next_permutation): Likewise. 2067*f9a78e0eSmrg (prev_permutation): Likewise. 2068*f9a78e0eSmrg (is_sorted_until): Likewise. 2069*f9a78e0eSmrg (minmax_element): Likewise. 2070*f9a78e0eSmrg (partial_sort): Likewise. 2071*f9a78e0eSmrg (nth_element): Likewise. 2072*f9a78e0eSmrg (sort): Likewise. 2073*f9a78e0eSmrg (merge): Likewise. 2074*f9a78e0eSmrg (stable_sort): Likewise. 2075*f9a78e0eSmrg (set_union): Likewise. 2076*f9a78e0eSmrg (set_intersection): Likewise. 2077*f9a78e0eSmrg (set_difference): Likewise. 2078*f9a78e0eSmrg (set_symmetric_difference): Likewise. 2079*f9a78e0eSmrg (min_element): Likewise. 2080*f9a78e0eSmrg (max_element): Likewise. 2081*f9a78e0eSmrg * include/bits/stl_algobase.h 2082*f9a78e0eSmrg (lower_bound): Likewise. 2083*f9a78e0eSmrg (lexicographical_compare): Likewise. 2084*f9a78e0eSmrg * include/bits/stl_heap.h 2085*f9a78e0eSmrg (push_heap): Likewise. 2086*f9a78e0eSmrg (pop_heap): Likewise. 2087*f9a78e0eSmrg (make_heap): Likewise. 2088*f9a78e0eSmrg (sort_heap): Likewise. 2089*f9a78e0eSmrg (is_heap_until): Likewise. 2090*f9a78e0eSmrg * testsuite/25_algorithms/lexicographical_compare/debug/ 2091*f9a78e0eSmrg irreflexive_neg.cc: New. 2092*f9a78e0eSmrg * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New. 2093*f9a78e0eSmrg * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc: 2094*f9a78e0eSmrg New. 2095*f9a78e0eSmrg 2096*f9a78e0eSmrg2015-08-24 Jonathan Wakely <jwakely@redhat.com> 2097*f9a78e0eSmrg 2098*f9a78e0eSmrg PR libstdc++/65049 2099*f9a78e0eSmrg * include/bits/char_traits.h (char_traits<char>::compare, 2100*f9a78e0eSmrg char_traits<char>::find, char_traits<char>::move, 2101*f9a78e0eSmrg char_traits<char>::copy, char_traits<char>::assign): Check for zero 2102*f9a78e0eSmrg length. 2103*f9a78e0eSmrg (char_traits<wchar_t>::compare, char_traits<wchar_t>::find, 2104*f9a78e0eSmrg char_traits<wchar_t>::move, char_traits<wchar_t>::copy, 2105*f9a78e0eSmrg char_traits<wchar_t>::assign): Likewise. 2106*f9a78e0eSmrg (char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise. 2107*f9a78e0eSmrg (char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise. 2108*f9a78e0eSmrg * include/ext/pod_char_traits.h (char_traits<character<>>::move, 2109*f9a78e0eSmrg char_traits<character<>>::copy): Likewise. 2110*f9a78e0eSmrg * testsuite/21_strings/char_traits/requirements/char/65049.cc: New. 2111*f9a78e0eSmrg * testsuite/21_strings/char_traits/requirements/char16_t/65049.cc: 2112*f9a78e0eSmrg New. 2113*f9a78e0eSmrg * testsuite/21_strings/char_traits/requirements/char32_t/65049.cc: 2114*f9a78e0eSmrg New. 2115*f9a78e0eSmrg * testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc: 2116*f9a78e0eSmrg New. 2117*f9a78e0eSmrg 2118*f9a78e0eSmrg PR libstdc++/67309 2119*f9a78e0eSmrg * include/bits/random.tcc 2120*f9a78e0eSmrg (poisson_distribution::param_type::_M_initialize): Use max<double>. 2121*f9a78e0eSmrg (binomial_distribution::param_type::_M_initialize): Likewise. 2122*f9a78e0eSmrg * testsuite/17_intro/headers/c++200x/67309.cc: New. 2123*f9a78e0eSmrg * testsuite/17_intro/headers/c++200x/all_attributes.cc: Remove 2124*f9a78e0eSmrg redundant header. 2125*f9a78e0eSmrg 2126*f9a78e0eSmrg2015-08-20 Jonathan Wakely <jwakely@redhat.com> 2127*f9a78e0eSmrg 2128*f9a78e0eSmrg PR libstdc++/67294 2129*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Do not run 2130*f9a78e0eSmrg on Darwin. 2131*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise. 2132*f9a78e0eSmrg 2133*f9a78e0eSmrg * include/experimental/any (__any_caster): Define at namespace scope 2134*f9a78e0eSmrg so the name is visible to name lookup. 2135*f9a78e0eSmrg * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. 2136*f9a78e0eSmrg 2137*f9a78e0eSmrg * python/Makefile.am: Ensure gdb.py is installed for libstdc++ not 2138*f9a78e0eSmrg libstdc++fs. 2139*f9a78e0eSmrg * python/Makefile.in: Regenerate. 2140*f9a78e0eSmrg 2141*f9a78e0eSmrg2015-08-19 Paolo Carlini <paolo.carlini@oracle.com> 2142*f9a78e0eSmrg 2143*f9a78e0eSmrg * include/c_global/cmath: Fix typo in comment. 2144*f9a78e0eSmrg 2145*f9a78e0eSmrg2015-08-19 Paolo Carlini <paolo.carlini@oracle.com> 2146*f9a78e0eSmrg 2147*f9a78e0eSmrg * include/c_global/cmath: Revert fix for libstdc++/58625, no 2148*f9a78e0eSmrg longer necessary (__builtin_signbit is now type-generic). 2149*f9a78e0eSmrg 2150*f9a78e0eSmrg2015-08-18 Jonathan Wakely <jwakely@redhat.com> 2151*f9a78e0eSmrg 2152*f9a78e0eSmrg PR c++/67216 2153*f9a78e0eSmrg * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc: 2154*f9a78e0eSmrg Fix use of safe-bool idiom that isn't valid in C++11. 2155*f9a78e0eSmrg 2156*f9a78e0eSmrg * include/bits/ptr_traits.h: Include <bits/move.h> for addressof. 2157*f9a78e0eSmrg 2158*f9a78e0eSmrg PR libstdc++/67066 2159*f9a78e0eSmrg * doc/xml/manual/configure.xml (manual.intro.setup.configure): Add 2160*f9a78e0eSmrg caveats for --enable-concept-checks. Improve link text. 2161*f9a78e0eSmrg * doc/xml/manual/diagnostics.xml (std.diagnostics.concept_checking): 2162*f9a78e0eSmrg Clarify caveats. 2163*f9a78e0eSmrg * doc/html/*: Regenerate. 2164*f9a78e0eSmrg * include/bits/stl_deque.h (deque): Only use concept checks in C++03. 2165*f9a78e0eSmrg * include/bits/stl_stack.h (stack): Likewise. 2166*f9a78e0eSmrg * include/bits/stl_vector.h (vector): Likewise. 2167*f9a78e0eSmrg 2168*f9a78e0eSmrg2015-08-14 Jonathan Wakely <jwakely@redhat.com> 2169*f9a78e0eSmrg 2170*f9a78e0eSmrg * include/experimental/any (any::operator=(const any&)): Move check 2171*f9a78e0eSmrg for self-assignment. 2172*f9a78e0eSmrg (any::operator=(any&&)): Add check for self-assignment. 2173*f9a78e0eSmrg (any::operator=(_ValueType&&)): Constrain template argument. 2174*f9a78e0eSmrg (any::swap(any&)): Add check for self-swap. 2175*f9a78e0eSmrg * testsuite/experimental/any/assign/self.cc: Test move and swap. 2176*f9a78e0eSmrg * testsuite/experimental/any/misc/any_cast_neg.cc: Update dg-error. 2177*f9a78e0eSmrg 2178*f9a78e0eSmrg2015-08-14 Jonathan Wakely <jwakely@redhat.com> 2179*f9a78e0eSmrg 2180*f9a78e0eSmrg * include/experimental/array: Add feature-test macro. 2181*f9a78e0eSmrg * testsuite/experimental/array/neg.cc: Update dg-error. 2182*f9a78e0eSmrg 2183*f9a78e0eSmrg2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com> 2184*f9a78e0eSmrg 2185*f9a78e0eSmrg * testsuite/experimental/array/neg.s: Remove. 2186*f9a78e0eSmrg * testsuite/experimental/array/neg.ii.gz: Remove. 2187*f9a78e0eSmrg 2188*f9a78e0eSmrg2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com> 2189*f9a78e0eSmrg 2190*f9a78e0eSmrg Implement std::experimental::fundamentals_v2::make_array and 2191*f9a78e0eSmrg std::experimental::fundamentals_v2::to_array. 2192*f9a78e0eSmrg * include/Makefile.am: Add array. 2193*f9a78e0eSmrg * include/Makefile.in: Add array. 2194*f9a78e0eSmrg * include/experimental/array: New. 2195*f9a78e0eSmrg * testsuite/experimental/array/make_array.cc: Likewise. 2196*f9a78e0eSmrg * testsuite/experimental/array/neg.cc: Likewise. 2197*f9a78e0eSmrg * doc/html/manual/status.html: Mark make_array as Y. 2198*f9a78e0eSmrg * doc/xml/manual/status_cxx2017.xml: Likewise. 2199*f9a78e0eSmrg 2200*f9a78e0eSmrg2015-08-13 Jonathan Wakely <jwakely@redhat.com> 2201*f9a78e0eSmrg 2202*f9a78e0eSmrg * include/bits/alloc_traits.h: Add feature-test macro. 2203*f9a78e0eSmrg * include/bits/allocator.h: Likewise. 2204*f9a78e0eSmrg * include/bits/range_access.h: Likewise. 2205*f9a78e0eSmrg * include/bits/stl_map.h: Likewise. 2206*f9a78e0eSmrg * include/bits/unordered_map.h: Likewise. 2207*f9a78e0eSmrg 2208*f9a78e0eSmrg2015-08-13 Jonathan Wakely <jwakely@redhat.com> 2209*f9a78e0eSmrg 2210*f9a78e0eSmrg * testsuite/30_threads/mutex/unlock/2.cc: New. 2211*f9a78e0eSmrg * testsuite/30_threads/recursive_mutex/unlock/2.cc: New. 2212*f9a78e0eSmrg * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: New. 2213*f9a78e0eSmrg * testsuite/30_threads/shared_mutex/unlock/1.cc: New. 2214*f9a78e0eSmrg * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: New. 2215*f9a78e0eSmrg * testsuite/30_threads/timed_mutex/unlock/2.cc: New. 2216*f9a78e0eSmrg 2217*f9a78e0eSmrg2015-08-13 Eelis van der Weegen <eelis@eelis.net> 2218*f9a78e0eSmrg 2219*f9a78e0eSmrg * include/std/shared_mutex (shared_mutex::unlock()): Fix typo. 2220*f9a78e0eSmrg 2221*f9a78e0eSmrg2015-08-12 Caroline Tice <cmtice@google.com> 2222*f9a78e0eSmrg 2223*f9a78e0eSmrg PR 66521, Contributed by Eric Gallager 2224*f9a78e0eSmrg * acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and 2225*f9a78e0eSmrg fix the rpath flag to work properly for darwin. 2226*f9a78e0eSmrg * configure: Regenerated. 2227*f9a78e0eSmrg 2228*f9a78e0eSmrg2015-08-12 Jonathan Wakely <jwakely@redhat.com> 2229*f9a78e0eSmrg 2230*f9a78e0eSmrg * doc/xml/manual/appendix_contributing.xml: Update patch email policy. 2231*f9a78e0eSmrg * doc/xml/manual/status_cxx2017.xml: Update status table. 2232*f9a78e0eSmrg * doc/html/manual/*: Regenerate. 2233*f9a78e0eSmrg 2234*f9a78e0eSmrg2015-08-09 Ville Voutilainen <ville.voutilainen@gmail.com> 2235*f9a78e0eSmrg 2236*f9a78e0eSmrg Implement N4279, Improved insertion interface for unique-key maps. 2237*f9a78e0eSmrg * include/bits/stl_map.h (try_emplace, insert_or_assign): New. 2238*f9a78e0eSmrg * include/bits/stl_tree.h (_M_get_insert_unique_pos, 2239*f9a78e0eSmrg _M_get_insert_equal_pos, _M_get_insert_hint_unique_pos, 2240*f9a78e0eSmrg _M_get_insert_hint_equal_pos): Make public. 2241*f9a78e0eSmrg * include/bits/unordered_map.h (try_emplace, insert_or_assign): New. 2242*f9a78e0eSmrg * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: 2243*f9a78e0eSmrg Likewise. 2244*f9a78e0eSmrg * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise. 2245*f9a78e0eSmrg * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc: 2246*f9a78e0eSmrg Likewise. 2247*f9a78e0eSmrg * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc: 2248*f9a78e0eSmrg Likewise. 2249*f9a78e0eSmrg 2250*f9a78e0eSmrg2015-08-08 Ville Voutilainen <ville.voutilainen@gmail.com> 2251*f9a78e0eSmrg 2252*f9a78e0eSmrg Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118) 2253*f9a78e0eSmrg and N4366 LWG 2228: Missing SFINAE rule in unique_ptr 2254*f9a78e0eSmrg templated assignment 2255*f9a78e0eSmrg * include/bits/unique_ptr.h 2256*f9a78e0eSmrg (__remove_cv, __is_derived_Tp): Remove. 2257*f9a78e0eSmrg (default_delete::default_delete(const default_delete<_Up[]>)): 2258*f9a78e0eSmrg Constrain with array convertibility. 2259*f9a78e0eSmrg (default_delete::operator(_Up*)): Turn into a template, 2260*f9a78e0eSmrg constrain with array convertibility. 2261*f9a78e0eSmrg (__safe_conversion_up): New, single object version. 2262*f9a78e0eSmrg (unique_ptr(unique_ptr<_Up, _Ep>&&)): Constrain with deleter 2263*f9a78e0eSmrg convertibility. 2264*f9a78e0eSmrg (unique_ptr::operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add 2265*f9a78e0eSmrg is_assignable as a constraint. 2266*f9a78e0eSmrg (__safe_conversion_up): Array version, renamed from __safe_conversion, 2267*f9a78e0eSmrg updated to implement N4089. 2268*f9a78e0eSmrg (__safe_conversion_raw): New. 2269*f9a78e0eSmrg (unique_ptr(_Up)): Turn into a template, constrain with array 2270*f9a78e0eSmrg convertibility. 2271*f9a78e0eSmrg (unique_ptr(_Up, 2272*f9a78e0eSmrg typename conditional<is_reference<deleter_type>::value, 2273*f9a78e0eSmrg deleter_type, const deleter_type&>::type)): Likewise. 2274*f9a78e0eSmrg (unique_ptr(_Up, typename 2275*f9a78e0eSmrg remove_reference<deleter_type>::type&&)): Likewise. 2276*f9a78e0eSmrg (unique_ptr(unique_ptr<_Up, _Ep>&&)): Likewise. 2277*f9a78e0eSmrg (operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add 2278*f9a78e0eSmrg is_assignable as a constraint (array version). 2279*f9a78e0eSmrg (reset(_Up)): Turn into a template, constrain with array 2280*f9a78e0eSmrg convertibility. 2281*f9a78e0eSmrg (reset(nullptr_t)): New. 2282*f9a78e0eSmrg * testsuite/20_util/default_delete/48631_neg.cc: Adjust. 2283*f9a78e0eSmrg * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise. 2284*f9a78e0eSmrg * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise. 2285*f9a78e0eSmrg * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise. 2286*f9a78e0eSmrg * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise. 2287*f9a78e0eSmrg * testsuite/20_util/unique_ptr/dr2228.cc: New. 2288*f9a78e0eSmrg * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Adjust. 2289*f9a78e0eSmrg 2290*f9a78e0eSmrg2015-08-05 Nikolai Bozhenov <n.bozhenov@samsung.com> 2291*f9a78e0eSmrg 2292*f9a78e0eSmrg * testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Remove 2293*f9a78e0eSmrg redundant -save-temps option. 2294*f9a78e0eSmrg * testsuite/20_util/shared_ptr/cons/constexpr.cc: Likewise. 2295*f9a78e0eSmrg * testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise. 2296*f9a78e0eSmrg * testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise. 2297*f9a78e0eSmrg * testsuite/30_threads/future/cons/constexpr.cc: Likewise. 2298*f9a78e0eSmrg * testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise. 2299*f9a78e0eSmrg 2300*f9a78e0eSmrg2015-08-03 Jonathan Wakely <jwakely@redhat.com> 2301*f9a78e0eSmrg 2302*f9a78e0eSmrg PR libstdc++/67078 2303*f9a78e0eSmrg * include/bits/range_access.h (size, empty, data): Fix _N bad name. 2304*f9a78e0eSmrg 2305*f9a78e0eSmrg2015-07-30 Jonathan Wakely <jwakely@redhat.com> 2306*f9a78e0eSmrg 2307*f9a78e0eSmrg * testsuite/experimental/filesystem/operations/current_path.cc: Use 2308*f9a78e0eSmrg canonical paths for comparisons. 2309*f9a78e0eSmrg 2310*f9a78e0eSmrg2015-07-30 Tim Shen <timshen@google.com> 2311*f9a78e0eSmrg 2312*f9a78e0eSmrg * include/bits/regex_automaton.h (_State_base, _State<>): 2313*f9a78e0eSmrg Remove _TraitsT dependency from _State<>; Make matcher member 2314*f9a78e0eSmrg into the union to reduce struct size. 2315*f9a78e0eSmrg * include/bits/regex_automaton.tcc (_State_base<>::_M_print, 2316*f9a78e0eSmrg _State_base<>::_M_dot, _StateSeq<>::_M_clone): 2317*f9a78e0eSmrg Adjust to fit the interface. Factor out common parts in 2318*f9a78e0eSmrg _M_clone as _State<>::_M_has_alt. 2319*f9a78e0eSmrg * include/bits/regex_executor.h (_Executer<>::_M_lookahead): 2320*f9a78e0eSmrg Only pass state id instead of the whole state. 2321*f9a78e0eSmrg * include/bits/regex_executor.tcc (_Executer<>::_M_dfs, 2322*f9a78e0eSmrg _Executer<>::_M_lookahead): Adjust to fit the interface. 2323*f9a78e0eSmrg * include/std/regex: Include <ext/aligned_buffer.h> 2324*f9a78e0eSmrg 2325*f9a78e0eSmrg2015-07-30 Jonathan Wakely <jwakely@redhat.com> 2326*f9a78e0eSmrg 2327*f9a78e0eSmrg * include/experimental/any (any::operator=(const any&)): Check for 2328*f9a78e0eSmrg self-assignment. 2329*f9a78e0eSmrg * testsuite/experimental/any/assign/self.cc: New. 2330*f9a78e0eSmrg * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. 2331*f9a78e0eSmrg 2332*f9a78e0eSmrg2015-07-29 Jonathan Wakely <jwakely@redhat.com> 2333*f9a78e0eSmrg 2334*f9a78e0eSmrg PR libstdc++/66829 2335*f9a78e0eSmrg * testsuite/lib/libstdc++.exp (v3-build_support): Compile 2336*f9a78e0eSmrg testsuite_shared.cc with -std=gnu++98. 2337*f9a78e0eSmrg 2338*f9a78e0eSmrg2015-07-29 Ville Voutilainen <ville.voutilainen@gmail.com> 2339*f9a78e0eSmrg 2340*f9a78e0eSmrg * include/bits/range_access.h: Change class to typename in every 2341*f9a78e0eSmrg template. 2342*f9a78e0eSmrg (size, empty, data): New functions from N4280. 2343*f9a78e0eSmrg * testsuite/24_iterators/container_access.cc: New. 2344*f9a78e0eSmrg 2345*f9a78e0eSmrg PR libstdc++/60970 2346*f9a78e0eSmrg * include/bits/functional_hash.h (__hash_enum): New. 2347*f9a78e0eSmrg (hash): Derive from __hash_enum. 2348*f9a78e0eSmrg * testsuite/20_util/hash/60970.cc: New. 2349*f9a78e0eSmrg 2350*f9a78e0eSmrg2015-07-29 Tim Shen <timshen@google.com> 2351*f9a78e0eSmrg 2352*f9a78e0eSmrg PR libstdc++/67015 2353*f9a78e0eSmrg * include/bits/regex_compiler.h (_Compiler<>::_M_expression_term, 2354*f9a78e0eSmrg _BracketMatcher<>::_M_add_collating_element): Change signature 2355*f9a78e0eSmrg to make checking the and of bracket expression easier. 2356*f9a78e0eSmrg * include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term): 2357*f9a78e0eSmrg Treat '-' as a valid literal if it's at the end of bracket expression. 2358*f9a78e0eSmrg * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc: 2359*f9a78e0eSmrg New testcases. 2360*f9a78e0eSmrg 2361*f9a78e0eSmrg2015-07-24 Jonathan Wakely <jwakely@redhat.com> 2362*f9a78e0eSmrg 2363*f9a78e0eSmrg * include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX] 2364*f9a78e0eSmrg (_M_load_and_test_until): Whitespace. 2365*f9a78e0eSmrg (_M_load_and_test): Value-initialize the unused durations. 2366*f9a78e0eSmrg (_M_load_when_equal): Add missing return value. 2367*f9a78e0eSmrg 2368*f9a78e0eSmrg2015-07-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> 2369*f9a78e0eSmrg 2370*f9a78e0eSmrg * fragment.am (AM_CPPFLAGS): Add CPPFLAGS. 2371*f9a78e0eSmrg * Makefile.in: Regenerate. 2372*f9a78e0eSmrg * doc/Makefile.in: Regenerate. 2373*f9a78e0eSmrg * include/Makefile.in: Regenerate. 2374*f9a78e0eSmrg * libsupc++/Makefile.in: Regenerate. 2375*f9a78e0eSmrg * po/Makefile.in: Regenerate. 2376*f9a78e0eSmrg * python/Makefile.in: Regenerate. 2377*f9a78e0eSmrg * src/Makefile.in: Regenerate. 2378*f9a78e0eSmrg * src/c++11/Makefile.in: Regenerate. 2379*f9a78e0eSmrg * src/c++98/Makefile.in: Regenerate. 2380*f9a78e0eSmrg * src/filesystem/Makefile.in: Regenerate. 2381*f9a78e0eSmrg * testsuite/Makefile.in: Regenerate. 2382*f9a78e0eSmrg 2383*f9a78e0eSmrg2015-07-23 DJ Delorie <dj@redhat.com> 2384*f9a78e0eSmrg 2385*f9a78e0eSmrg * include/bits/functional_hash.h: Add specializations for __intN 2386*f9a78e0eSmrg types. 2387*f9a78e0eSmrg 2388*f9a78e0eSmrg * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp (__gnu_pbds): 2389*f9a78e0eSmrg Guard against values that might exceed size_t's precision. 2390*f9a78e0eSmrg 2391*f9a78e0eSmrg2015-07-20 Jason Merrill <jason@redhat.com> 2392*f9a78e0eSmrg 2393*f9a78e0eSmrg * include/bits/c++config: Fix abi_tag in special modes. 2394*f9a78e0eSmrg 2395*f9a78e0eSmrg2015-07-19 Jonathan Wakely <jwakely@redhat.com> 2396*f9a78e0eSmrg 2397*f9a78e0eSmrg * doc/xml/manual/status_cxx2017.xml: Fix URL for N4279. 2398*f9a78e0eSmrg * doc/html/manual/status.html: Regenerate. 2399*f9a78e0eSmrg 2400*f9a78e0eSmrg2015-07-17 Jonathan Wakely <jwakely@redhat.com> 2401*f9a78e0eSmrg 2402*f9a78e0eSmrg * doc/xml/manual/status_cxx2011.xml: Add caveats for native_handle. 2403*f9a78e0eSmrg * doc/html/manual/status.html: Regenerate. 2404*f9a78e0eSmrg 2405*f9a78e0eSmrg2015-07-16 François Dumont <fdumont@gcc.gnu.org> 2406*f9a78e0eSmrg 2407*f9a78e0eSmrg * include/bits/stl_algobase.h (__miter_base): Move... 2408*f9a78e0eSmrg * include/bits/cpp_type_traits.h: ...here. 2409*f9a78e0eSmrg * include/debug/functions.h (__foreign_iterator_aux): Use latter. 2410*f9a78e0eSmrg * testsuite/23_containers/vector/debug/insert7_neg.cc: New. 2411*f9a78e0eSmrg 2412*f9a78e0eSmrg2015-07-13 Jonathan Wakely <jwakely@redhat.com> 2413*f9a78e0eSmrg 2414*f9a78e0eSmrg PR libstdc++/66855 2415*f9a78e0eSmrg * src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override 2416*f9a78e0eSmrg endianness bit in mode. 2417*f9a78e0eSmrg * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New. 2418*f9a78e0eSmrg 2419*f9a78e0eSmrg * include/bits/c++config (_GLIBCXX_NOEXCEPT_IF): Define. 2420*f9a78e0eSmrg * include/bits/forward_list.h (forward_list::swap): Make noexcept 2421*f9a78e0eSmrg unconditional. 2422*f9a78e0eSmrg * include/bits/hashtable.h (_Hashtable::swap): Do not use 2423*f9a78e0eSmrg _S_nothrow_swap(). 2424*f9a78e0eSmrg * include/bits/stl_bvector.h (vector<bool>::swap): Make noexcept 2425*f9a78e0eSmrg unconditional. 2426*f9a78e0eSmrg * include/bits/stl_deque.h (deque::swap): Likewise. 2427*f9a78e0eSmrg (swap(deque&, deque&)): Use _GLIBCXX_NOEXCEPT_IF. 2428*f9a78e0eSmrg * include/bits/stl_list.h (list::swap): Make noexcept unconditional. 2429*f9a78e0eSmrg (swap(list&, list&)): Use _GLIBCXX_NOEXCEPT_IF. 2430*f9a78e0eSmrg * include/bits/stl_map.h (map::swap, swap(map&, map&)): Use 2431*f9a78e0eSmrg _GLIBCXX_NOEXCEPT_IF, do not depend on _S_nothrow_swap. 2432*f9a78e0eSmrg * include/bits/stl_multimap.h (multimap::swap, 2433*f9a78e0eSmrg swap(multimap&, multimap&)): Likewise. 2434*f9a78e0eSmrg * include/bits/stl_multiset.h (multiset::swap, 2435*f9a78e0eSmrg swap(multiset&, multiset&)): Likewise. 2436*f9a78e0eSmrg * include/bits/stl_set.h (set::swap, swap(set&, set&)): Likewise. 2437*f9a78e0eSmrg * include/bits/stl_tree.h (_Rb_tree::swap, 2438*f9a78e0eSmrg swap(_Rb_tree&, _Rb_tree&)): Likewise. 2439*f9a78e0eSmrg * include/bits/stl_vector.h (vector::swap): Make noexcept 2440*f9a78e0eSmrg unconditional. 2441*f9a78e0eSmrg (swap(vector&, vector&)): Use _GLIBCXX_NOEXCEPT_IF. 2442*f9a78e0eSmrg * include/debug/deque (deque::swap, swap): Likewise. 2443*f9a78e0eSmrg * include/debug/forward_list (swap): Add noexcept. 2444*f9a78e0eSmrg * include/debug/list (list::swap, swap): Use _GLIBCXX_NOEXCEPT_IF. 2445*f9a78e0eSmrg * include/debug/map.h (map::swap, swap): Likewise. 2446*f9a78e0eSmrg * include/debug/multimap.h (multimap::swap, swap): Likewise. 2447*f9a78e0eSmrg * include/debug/multiset.h (multiset::Swap, swap): Likewise. 2448*f9a78e0eSmrg * include/debug/set.h (set::swap, swap): Likewise. 2449*f9a78e0eSmrg * include/debug/unordered_map (unordered_map::swap, 2450*f9a78e0eSmrg unordered_multimap::swap, swap): Likewise. 2451*f9a78e0eSmrg * include/debug/unordered_set (unordered_set::swap, 2452*f9a78e0eSmrg unordered_multiset::swap, swap): Likewise. 2453*f9a78e0eSmrg * include/debug/vector (vector::swap, swap): Likewise. 2454*f9a78e0eSmrg * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): 2455*f9a78e0eSmrg Remove. 2456*f9a78e0eSmrg * include/profile/deque (deque::swap, swap): Use _GLIBCXX_NOEXCEPT_IF. 2457*f9a78e0eSmrg * include/profile/forward_list (swap): Add noexcept. 2458*f9a78e0eSmrg * include/profile/list (list::swap, swap) : Use _GLIBCXX_NOEXCEPT_IF. 2459*f9a78e0eSmrg * include/profile/map.h (map::swap, swap): Likewise. 2460*f9a78e0eSmrg * include/profile/multimap.h (multimap::swap, swap): Likewise. 2461*f9a78e0eSmrg * include/profile/multiset.h (multiset::swap, swap): Likewise. 2462*f9a78e0eSmrg * include/profile/set.h (set::swap, swap): Likewise. 2463*f9a78e0eSmrg * include/profile/unordered_map (swap): Likewise. 2464*f9a78e0eSmrg * include/profile/unordered_set (swap): Likewise. 2465*f9a78e0eSmrg * include/profile/vector (vector::swap, swap): Likewise. Remove 2466*f9a78e0eSmrg overloads for swapping rvalues. 2467*f9a78e0eSmrg * testsuite/23_containers/deque/allocator/noexcept.cc: Update tests 2468*f9a78e0eSmrg for noexcept on swap. 2469*f9a78e0eSmrg * testsuite/23_containers/forward_list/allocator/noexcept.cc: 2470*f9a78e0eSmrg Likewise. 2471*f9a78e0eSmrg * testsuite/23_containers/list/allocator/noexcept.cc: Likewise. 2472*f9a78e0eSmrg * testsuite/23_containers/map/allocator/noexcept.cc: Likewise. 2473*f9a78e0eSmrg * testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise. 2474*f9a78e0eSmrg * testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise. 2475*f9a78e0eSmrg * testsuite/23_containers/set/allocator/noexcept.cc: Likewise. 2476*f9a78e0eSmrg * testsuite/23_containers/unordered_map/allocator/noexcept.cc: 2477*f9a78e0eSmrg Likewise. 2478*f9a78e0eSmrg * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: 2479*f9a78e0eSmrg Likewise. 2480*f9a78e0eSmrg * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: 2481*f9a78e0eSmrg Likewise. 2482*f9a78e0eSmrg * testsuite/23_containers/unordered_set/allocator/noexcept.cc: 2483*f9a78e0eSmrg Likewise. 2484*f9a78e0eSmrg * testsuite/23_containers/vector/allocator/noexcept.cc: Likewise. 2485*f9a78e0eSmrg * testsuite/23_containers/vector/bool/allocator/noexcept.cc: Likewise. 2486*f9a78e0eSmrg * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line 2487*f9a78e0eSmrg number. 2488*f9a78e0eSmrg 2489*f9a78e0eSmrg2015-07-13 John Marino <gnugcc@marino.st> 2490*f9a78e0eSmrg 2491*f9a78e0eSmrg * config/os/bsd/dragonfly/os_defines.h (_GLIBCXX_USE_C99_CHECK, 2492*f9a78e0eSmrg _GLIBCXX_USE_C99_DYNAMIC, _GLIBCXX_USE_C99_LONG_LONG_CHECK, 2493*f9a78e0eSmrg _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Define. 2494*f9a78e0eSmrg 2495*f9a78e0eSmrg2015-07-05 François Dumont <fdumont@gcc.gnu.org> 2496*f9a78e0eSmrg 2497*f9a78e0eSmrg * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not 2498*f9a78e0eSmrg rehash container. 2499*f9a78e0eSmrg * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc: 2500*f9a78e0eSmrg Adapt. 2501*f9a78e0eSmrg 2502*f9a78e0eSmrg2015-07-03 Jonathan Wakely <jwakely@redhat.com> 2503*f9a78e0eSmrg 2504*f9a78e0eSmrg * doc/xml/manual/status_cxx2017.xml: Update status table. 2505*f9a78e0eSmrg * doc/html/manual/*: Regenerate. 2506*f9a78e0eSmrg 2507*f9a78e0eSmrg2015-07-03 Ville Voutilainen <ville.voutilainen@gmail.com> 2508*f9a78e0eSmrg 2509*f9a78e0eSmrg Implement std::experimental::fundamentals_v2::propagate_const. 2510*f9a78e0eSmrg * include/Makefile.am: Add propagate_const. 2511*f9a78e0eSmrg * include/Makefile.in: Regenerate. 2512*f9a78e0eSmrg * include/experimental/propagate_const: New. 2513*f9a78e0eSmrg * testsuite/experimental/propagate_const/assignment/copy.cc: Likewise. 2514*f9a78e0eSmrg * testsuite/experimental/propagate_const/assignment/move.cc: Likewise. 2515*f9a78e0eSmrg * testsuite/experimental/propagate_const/assignment/move_neg.cc: 2516*f9a78e0eSmrg Likewise. 2517*f9a78e0eSmrg * testsuite/experimental/propagate_const/cons/copy.cc: Likewise. 2518*f9a78e0eSmrg * testsuite/experimental/propagate_const/cons/default.cc: Likewise. 2519*f9a78e0eSmrg * testsuite/experimental/propagate_const/cons/move.cc: Likewise. 2520*f9a78e0eSmrg * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise. 2521*f9a78e0eSmrg * testsuite/experimental/propagate_const/hash/1.cc: Likewise. 2522*f9a78e0eSmrg * testsuite/experimental/propagate_const/observers/1.cc: Likewise. 2523*f9a78e0eSmrg * testsuite/experimental/propagate_const/relops/1.cc: Likewise. 2524*f9a78e0eSmrg * testsuite/experimental/propagate_const/requirements1.cc: Likewise. 2525*f9a78e0eSmrg * testsuite/experimental/propagate_const/requirements2.cc: Likewise. 2526*f9a78e0eSmrg * testsuite/experimental/propagate_const/requirements3.cc: Likewise. 2527*f9a78e0eSmrg * testsuite/experimental/propagate_const/requirements4.cc: Likewise. 2528*f9a78e0eSmrg * testsuite/experimental/propagate_const/requirements5.cc: Likewise. 2529*f9a78e0eSmrg * testsuite/experimental/propagate_const/swap/1.cc: Likewise. 2530*f9a78e0eSmrg * testsuite/experimental/propagate_const/typedefs.cc: Likewise. 2531*f9a78e0eSmrg 2532*f9a78e0eSmrg2015-07-02 Jonathan Wakely <jwakely@redhat.com> 2533*f9a78e0eSmrg 2534*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for 2535*f9a78e0eSmrg --with-default-libstdcxx-abi 2536*f9a78e0eSmrg * configure: Regenerate. 2537*f9a78e0eSmrg * doc/xml/manual/configure.xml: Document valid arguments. 2538*f9a78e0eSmrg 2539*f9a78e0eSmrg2015-07-02 Uros Bizjak <ubizjak@gmail.com> 2540*f9a78e0eSmrg 2541*f9a78e0eSmrg * libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load 2542*f9a78e0eSmrg to avoid unused variable warning. 2543*f9a78e0eSmrg (__set_and_release): Use __p after __atomic_store to avoid unused 2544*f9a78e0eSmrg variable warning. 2545*f9a78e0eSmrg 2546*f9a78e0eSmrg2015-07-01 Jonathan Wakely <jwakely@redhat.com> 2547*f9a78e0eSmrg 2548*f9a78e0eSmrg * include/bits/alloc_traits.h (__alloctr_rebind): Remove. 2549*f9a78e0eSmrg (__allocator_traits_base): New base class. 2550*f9a78e0eSmrg (__alloc_rebind): Reimplement in terms of detection idiom. 2551*f9a78e0eSmrg (allocator_traits): Derive from __allocator_traits_base. Reimplement 2552*f9a78e0eSmrg nested types in terms of detection idiom. Simplify SFINAE constraints 2553*f9a78e0eSmrg on overloaded static member functions. 2554*f9a78e0eSmrg * include/bits/hashtable.h (_Hashtable): Use __alloc_rebind instead 2555*f9a78e0eSmrg of __alloctr_rebind. 2556*f9a78e0eSmrg * testsuite/20_util/scoped_allocator/propagation.cc: Define rebind. 2557*f9a78e0eSmrg * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust 2558*f9a78e0eSmrg dg-error line number. 2559*f9a78e0eSmrg 2560*f9a78e0eSmrg * include/bits/ptr_traits.h (__ptrtr_elt_type, __ptrtr_diff_type, 2561*f9a78e0eSmrg __ptrtr_rebind, __ptrtr_not_void): Remove 2562*f9a78e0eSmrg (__get_first_arg, __replace_first_arg, __make_not_void): Define new 2563*f9a78e0eSmrg transformations. 2564*f9a78e0eSmrg (__detected_or_): New detection trait. 2565*f9a78e0eSmrg (pointer_traits): Use new traits. 2566*f9a78e0eSmrg * testsuite/20_util/pointer_traits/pointer_to.cc: Add rebind member. 2567*f9a78e0eSmrg * testsuite/20_util/pointer_traits/requirements/ 2568*f9a78e0eSmrg explicit_instantiation.cc: Use valid arguments to pointer_traits. 2569*f9a78e0eSmrg 2570*f9a78e0eSmrg * doc/xml/manual/status_cxx2017.xml: Update status table. 2571*f9a78e0eSmrg * include/experimental/type_traits (void_t, is_detected, 2572*f9a78e0eSmrg is_detected_v, detected_t, detected_or, detected_or_t, 2573*f9a78e0eSmrg is_detected_exact, is_detected_exact_v, is_detected_convertible, 2574*f9a78e0eSmrg is_detected_convertible_v): Define. 2575*f9a78e0eSmrg * include/std/type_traits (__detector, __detected_or, __detected_or_t, 2576*f9a78e0eSmrg __detected_or_t_): Define. 2577*f9a78e0eSmrg * testsuite/experimental/type_traits/detection.cc: New. 2578*f9a78e0eSmrg 2579*f9a78e0eSmrg2015-06-30 Jonathan Wakely <jwakely@redhat.com> 2580*f9a78e0eSmrg 2581*f9a78e0eSmrg * doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log. 2582*f9a78e0eSmrg * doc/Makefile.in: Regenerate. 2583*f9a78e0eSmrg 2584*f9a78e0eSmrg * include/bits/stl_pair.h: Replace class keyword with typename. 2585*f9a78e0eSmrg 2586*f9a78e0eSmrg2015-06-30 Ville Voutilainen <ville.voutilainen@gmail.com> 2587*f9a78e0eSmrg 2588*f9a78e0eSmrg Implement N4387, "Improving pair and tuple", and LWG 2367. 2589*f9a78e0eSmrg 2590*f9a78e0eSmrg * include/bits/stl_pair.h (_ConstructiblePair, 2591*f9a78e0eSmrg _ImplicitlyConvertiblePair, _MoveConstructiblePair, 2592*f9a78e0eSmrg _ImplicitlyMoveConvertiblePair): New. 2593*f9a78e0eSmrg (pair()): Constrain it. 2594*f9a78e0eSmrg (pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&), 2595*f9a78e0eSmrg pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&), 2596*f9a78e0eSmrg pair(pair<_U1, _U2>&&)): Make conditionally explicit. 2597*f9a78e0eSmrg * include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New. 2598*f9a78e0eSmrg (tuple()): Constrain it. 2599*f9a78e0eSmrg (tuple(const _UElements&...), tuple(_UElements&&...), 2600*f9a78e0eSmrg tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&), 2601*f9a78e0eSmrg tuple(allocator_arg_t, const _Alloc&, const _UElements&...), 2602*f9a78e0eSmrg tuple(allocator_arg_t, const _Alloc&, _UElements&&...), 2603*f9a78e0eSmrg tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&), 2604*f9a78e0eSmrg tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&), 2605*f9a78e0eSmrg tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&), 2606*f9a78e0eSmrg tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&), 2607*f9a78e0eSmrg tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make 2608*f9a78e0eSmrg conditionally explicit. 2609*f9a78e0eSmrg * include/experimental/functional (__boyer_moore_array_base): Name 2610*f9a78e0eSmrg array type explicitly instead of using an empty braced-init-list. 2611*f9a78e0eSmrg * testsuite/20_util/pair/cons/explicit_construct.cc: New. 2612*f9a78e0eSmrg * testsuite/20_util/pair/piecewise.cc: Use piecewise_construct. 2613*f9a78e0eSmrg * testsuite/20_util/pair/requirements/dr2367.cc: New. 2614*f9a78e0eSmrg * testsuite/20_util/tuple/cons/explicit_construct.cc: New. 2615*f9a78e0eSmrg * testsuite/20_util/tuple/requirements/dr2367.cc: New. 2616*f9a78e0eSmrg 2617*f9a78e0eSmrg2015-06-30 Jonathan Wakely <jwakely@redhat.com> 2618*f9a78e0eSmrg 2619*f9a78e0eSmrg * configure: Regenerate. 2620*f9a78e0eSmrg 2621*f9a78e0eSmrg2015-06-29 François Dumont <fdumont@gcc.gnu.org> 2622*f9a78e0eSmrg 2623*f9a78e0eSmrg * include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition 2624*f9a78e0eSmrg to pre-C++11 mode. 2625*f9a78e0eSmrg * include/debug/functions.h 2626*f9a78e0eSmrg (__gnu_debug::__valid_range, __gnu_debug::__base): Move... 2627*f9a78e0eSmrg * include/debug/safe_iterator.h 2628*f9a78e0eSmrg (__gnu_debug::_Sequence_traits): New. 2629*f9a78e0eSmrg (__gnu_debug::__get_distance_from_begin): New. 2630*f9a78e0eSmrg (__gnu_debug::__get_distance_to_end): New. 2631*f9a78e0eSmrg (__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range 2632*f9a78e0eSmrg distance information. Add optional check_dereferenceable parameter, 2633*f9a78e0eSmrg default true. 2634*f9a78e0eSmrg (__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move 2635*f9a78e0eSmrg default definition... 2636*f9a78e0eSmrg (__gnu_debug::__get_distance): New overload for _Safe_iterator. 2637*f9a78e0eSmrg (__gnu_debug::__unsafe): Likewise. 2638*f9a78e0eSmrg * include/debug/helper_functions.h: ...here. New. 2639*f9a78e0eSmrg (__gnu_debug::__unsafe): New helper function to remove safe iterator 2640*f9a78e0eSmrg layer. 2641*f9a78e0eSmrg * include/debug/stl_iterator.h: New. Include latter. 2642*f9a78e0eSmrg * include/bits/stl_iterator.h: Include latter in debug mode. 2643*f9a78e0eSmrg * include/debug/stl_iterator.tcc: Adapt. 2644*f9a78e0eSmrg * include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add 2645*f9a78e0eSmrg overload for _Safe_local_iterator. 2646*f9a78e0eSmrg (__gnu_debug::__unsafe): Likewise. 2647*f9a78e0eSmrg * include/debug/safe_local_iterator.tcc: Adapt. 2648*f9a78e0eSmrg * include/debug/macros.h (__glibcxx_check_valid_range2): New. 2649*f9a78e0eSmrg (__glibcxx_check_insert_range): Add _Dist parameter. 2650*f9a78e0eSmrg (__glibcxx_check_insert_range_after): Likewise. 2651*f9a78e0eSmrg (__glibcxx_check_string, __glibcxx_check_string_len): Implement using 2652*f9a78e0eSmrg _GLIBCXX_DEBUG_PEDASSERT. 2653*f9a78e0eSmrg * include/debug/deque (deque<>::assign): Remove iterator debug layer 2654*f9a78e0eSmrg when possible. 2655*f9a78e0eSmrg (deque<>::insert): Likewise. 2656*f9a78e0eSmrg * include/debug/forward_list (__glibcxx_check_valid_fl_range): New. 2657*f9a78e0eSmrg (forward_list<>::splice_after): Use latter. 2658*f9a78e0eSmrg (forward_list<>::assign): Remove iterator debug layer when possible. 2659*f9a78e0eSmrg (forward_list<>::insert_after): Likewise. 2660*f9a78e0eSmrg (__gnu_debug::_Sequence_traits<>): Partial specialization. 2661*f9a78e0eSmrg * include/debug/list (list<>::assign): Remove iterator debug layer when 2662*f9a78e0eSmrg possible. 2663*f9a78e0eSmrg (list<>::insert): Likewise. 2664*f9a78e0eSmrg [__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI. 2665*f9a78e0eSmrg * include/debug/map.h (map<>::insert): Remove iterator debug layer when 2666*f9a78e0eSmrg possible. 2667*f9a78e0eSmrg * include/debug/multimap.h (multimap<>::insert): Likewise. 2668*f9a78e0eSmrg * include/debug/set.h (set<>::insert): Likewise. 2669*f9a78e0eSmrg * include/debug/multiset.h (multiset<>::insert): Likewise. 2670*f9a78e0eSmrg * include/debug/string (basic_string<>::append, basic_string<>::assign, 2671*f9a78e0eSmrg basic_string<>::insert, basic_string<>::replace): Likewise. 2672*f9a78e0eSmrg * include/debug/unordered_map 2673*f9a78e0eSmrg (unordered_map<>::insert, unordered_multimap<>::insert): Likewise. 2674*f9a78e0eSmrg * include/debug/unordered_set 2675*f9a78e0eSmrg (unordered_set<>::insert, unordered_multiset<>insert): Likewise. 2676*f9a78e0eSmrg * include/debug/vector 2677*f9a78e0eSmrg (vector<>::assign, vector<>::insert): Likewise. 2678*f9a78e0eSmrg * include/Makefile.am: Add new debug headers. 2679*f9a78e0eSmrg * include/Makefile.in: Regenerate. 2680*f9a78e0eSmrg 2681*f9a78e0eSmrg2015-06-26 Jonathan Wakely <jwakely@redhat.com> 2682*f9a78e0eSmrg 2683*f9a78e0eSmrg * doc/xml/manual/intro.xml: Document LWG 2108 status. 2684*f9a78e0eSmrg * include/bits/alloc_traits.h (allocator_traits::is_always_equal): 2685*f9a78e0eSmrg Define. 2686*f9a78e0eSmrg * include/bits/allocator.h (allocator::is_always_equal): Likewise. 2687*f9a78e0eSmrg * include/bits/forward_list.h 2688*f9a78e0eSmrg (forward_list::operator=(forward_list&&)): Use __bool_constant. 2689*f9a78e0eSmrg (forward_list::swap(forward_list&)): Add noexcept. 2690*f9a78e0eSmrg * include/bits/hashtable.h (_Hashtable::operator=(_Hashtable&&)): 2691*f9a78e0eSmrg Likewise. 2692*f9a78e0eSmrg (_Hashtable::swap(_Hashtable&)): Likewise. 2693*f9a78e0eSmrg * include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)): 2694*f9a78e0eSmrg Use _Alloc_traits::is_always_equal. 2695*f9a78e0eSmrg (deque::operator=(deque&&)): Likewise. 2696*f9a78e0eSmrg (deque::_M_move_assign1(deque&&, false_type)): Add comment and use 2697*f9a78e0eSmrg __bool_constant. 2698*f9a78e0eSmrg (swap(deque&, deque&)): Add noexcept. 2699*f9a78e0eSmrg * include/bits/stl_list.h (list::operator=(list&&)): Use 2700*f9a78e0eSmrg __bool_constant. 2701*f9a78e0eSmrg (swap(list&, list&)): Add noexcept. 2702*f9a78e0eSmrg * include/bits/stl_map.h (map::swap(map&)): Include _Compare in 2703*f9a78e0eSmrg noexcept. 2704*f9a78e0eSmrg (swap(map&, map&)): Add noexcept. 2705*f9a78e0eSmrg * include/bits/stl_multimap.h (multimap::swap(multimap&)): Include 2706*f9a78e0eSmrg _Compare in noexcept. 2707*f9a78e0eSmrg (swap(multimap&, multimap&)): Add noexcept. 2708*f9a78e0eSmrg * include/bits/stl_multiset.h (multiset::swap(multiset&)): Include 2709*f9a78e0eSmrg _Compare in noexcept. 2710*f9a78e0eSmrg (swap(multiset&, multiset&)): Add noexcept. 2711*f9a78e0eSmrg * include/bits/stl_set.h (set::swap(set&)): Include _Compare in 2712*f9a78e0eSmrg noexcept. 2713*f9a78e0eSmrg (swap(set&, set&)): Add noexcept. 2714*f9a78e0eSmrg * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Include 2715*f9a78e0eSmrg _Compare in noexcept. 2716*f9a78e0eSmrg (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_alloc_type&&)): Use 2717*f9a78e0eSmrg is_always_equal. 2718*f9a78e0eSmrg * include/bits/stl_vector.h (vector::operator=(vector&&)): Use 2719*f9a78e0eSmrg __bool_constant. 2720*f9a78e0eSmrg (swap(vector&, vector&)): Add noexcept. 2721*f9a78e0eSmrg * include/bits/unordered_map.h (swap(unordered_map&, unordered_map&), 2722*f9a78e0eSmrg swap(unordered_multimap& unordered_multimap&)): Add noexcept. 2723*f9a78e0eSmrg * include/bits/unordered_set.h (swap(unordered_set&, unordered_set&), 2724*f9a78e0eSmrg swap(unordered_multiset& unordered_multiset&)): Add noexcept. 2725*f9a78e0eSmrg * include/ext/alloc_traits.h (__allocator_always_compares_equal): 2726*f9a78e0eSmrg Remove. 2727*f9a78e0eSmrg (__alloc_traits::_S_always_equal()): Use is_always_equal instead of 2728*f9a78e0eSmrg __allocator_always_compares_equal. 2729*f9a78e0eSmrg * include/ext/array_allocator.h (array_allocator::is_always_equal): 2730*f9a78e0eSmrg Define. 2731*f9a78e0eSmrg * include/std/scoped_allocator (__any_of, __propagate_on_copy, 2732*f9a78e0eSmrg __propagate_on_move, __propagate_on_swap): Remove. 2733*f9a78e0eSmrg (scoped_allocator_adaptor::propagate_on_container_copy_assignment, 2734*f9a78e0eSmrg scoped_allocator_adaptor::propagate_on_container_move_assignment, 2735*f9a78e0eSmrg scoped_allocator_adaptor::propagate_on_container_swap): Define with 2736*f9a78e0eSmrg __and_ instead of __any_of. 2737*f9a78e0eSmrg (scoped_allocator_adaptor::is_always_equal): Define. 2738*f9a78e0eSmrg * testsuite/20_util/allocator_traits/members/is_always_equal.cc: New. 2739*f9a78e0eSmrg * testsuite/20_util/scoped_allocator/propagation.cc: Make traits 2740*f9a78e0eSmrg derive from true_type or false_type. 2741*f9a78e0eSmrg * testsuite/23_containers/deque/allocator/move_assign-2.cc: Add 2742*f9a78e0eSmrg is_always_equal member and remove the trait specialization. 2743*f9a78e0eSmrg * testsuite/23_containers/vector/52591.cc: Likewise. 2744*f9a78e0eSmrg * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: 2745*f9a78e0eSmrg Adjust dg-error line number. 2746*f9a78e0eSmrg * testsuite/23_containers/deque/requirements/dr438/ 2747*f9a78e0eSmrg constructor_1_neg.cc: Likewise. 2748*f9a78e0eSmrg * testsuite/23_containers/deque/requirements/dr438/ 2749*f9a78e0eSmrg constructor_2_neg.cc: Likewise. 2750*f9a78e0eSmrg * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: 2751*f9a78e0eSmrg Likewise. 2752*f9a78e0eSmrg * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: 2753*f9a78e0eSmrg Likewise. 2754*f9a78e0eSmrg * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: 2755*f9a78e0eSmrg Likewise. 2756*f9a78e0eSmrg * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: 2757*f9a78e0eSmrg Likewise. 2758*f9a78e0eSmrg * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: 2759*f9a78e0eSmrg Likewise. 2760*f9a78e0eSmrg * testsuite/23_containers/vector/requirements/dr438/ 2761*f9a78e0eSmrg constructor_1_neg.cc: Likewise. 2762*f9a78e0eSmrg * testsuite/23_containers/vector/requirements/dr438/ 2763*f9a78e0eSmrg constructor_2_neg.cc: Likewise. 2764*f9a78e0eSmrg * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: 2765*f9a78e0eSmrg Likewise. 2766*f9a78e0eSmrg 2767*f9a78e0eSmrg * include/bits/stl_bvector.h (vector<bool>::vector()): Add noexcept. 2768*f9a78e0eSmrg * include/bits/stl_map.h (map::map()): Likewise. 2769*f9a78e0eSmrg * include/bits/stl_multimap.h (multimap::multimap()): Likewise. 2770*f9a78e0eSmrg * include/bits/stl_multiset.h (multiset::multiset()): Likewise. 2771*f9a78e0eSmrg * include/bits/stl_set.h (set::set()): Likewise. 2772*f9a78e0eSmrg 2773*f9a78e0eSmrg2015-06-25 Jonathan Wakely <jwakely@redhat.com> 2774*f9a78e0eSmrg 2775*f9a78e0eSmrg * include/bits/locale_conv.h (__do_str_codecvt): Set __count. 2776*f9a78e0eSmrg 2777*f9a78e0eSmrg2015-06-24 François Dumont <fdumont@gcc.gnu.org> 2778*f9a78e0eSmrg 2779*f9a78e0eSmrg * include/bits/basic_string.h (basic_string<>::front()): Add !empty 2780*f9a78e0eSmrg debug check. 2781*f9a78e0eSmrg (basic_string<>::back()): Likewise. 2782*f9a78e0eSmrg (basic_string<>::pop_back()): Likewise. 2783*f9a78e0eSmrg 2784*f9a78e0eSmrg2015-06-24 Paolo Carlini <paolo.carlini@oracle.com> 2785*f9a78e0eSmrg 2786*f9a78e0eSmrg * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust 2787*f9a78e0eSmrg dg-error line numbers. 2788*f9a78e0eSmrg * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: 2789*f9a78e0eSmrg Likewise. 2790*f9a78e0eSmrg 2791*f9a78e0eSmrg2015-06-23 François Dumont <fdumont@gcc.gnu.org> 2792*f9a78e0eSmrg 2793*f9a78e0eSmrg * include/debug/array: Include <array>. Add version namespace when 2794*f9a78e0eSmrg specializing tuple interface to array. Add specialization for 2795*f9a78e0eSmrg __is_tuple_like_impl. 2796*f9a78e0eSmrg * include/profile/array: Likewise. 2797*f9a78e0eSmrg * include/std/array: Include <utility>. Add specialization for 2798*f9a78e0eSmrg __is_tuple_like_impl. 2799*f9a78e0eSmrg * include/std/tuple 2800*f9a78e0eSmrg (__is_tuple_like_impl<>, __is_tuple_like_impl<pair>): Move... 2801*f9a78e0eSmrg * include/std/utility: ... here. Include <type_traits>. 2802*f9a78e0eSmrg * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust 2803*f9a78e0eSmrg dg-error line number. 2804*f9a78e0eSmrg * testsuite/23_containers/array/tuple_interface/ 2805*f9a78e0eSmrg tuple_element_debug_neg.cc: Likewise. 2806*f9a78e0eSmrg 2807*f9a78e0eSmrg2015-06-22 Jonathan Wakely <jwakely@redhat.com> 2808*f9a78e0eSmrg 2809*f9a78e0eSmrg * testsuite/26_numerics/complex/value_operations/1.cc: Use 2810*f9a78e0eSmrg non-negative rho argument. 2811*f9a78e0eSmrg 2812*f9a78e0eSmrg * include/debug/list (__gnu_debug::list): Use allocator-aware 2813*f9a78e0eSmrg _Safe_container base. 2814*f9a78e0eSmrg * include/debug/string (__gnu_debug::basic_string): Use 2815*f9a78e0eSmrg allocator-aware _Safe_container base for cxx11 ABI. 2816*f9a78e0eSmrg 2817*f9a78e0eSmrg * include/bits/locale_conv.h (__do_str_codecvt): Handle empty range. 2818*f9a78e0eSmrg (wstring_convert): Move into __cxx11 namespace. 2819*f9a78e0eSmrg (wbuffer_convert(streambuf*, _Codecvt*, state_type)): Fix exception 2820*f9a78e0eSmrg message. 2821*f9a78e0eSmrg 2822*f9a78e0eSmrg PR libstdc++/64657 2823*f9a78e0eSmrg * include/bits/stl_uninitialized.h 2824*f9a78e0eSmrg (__uninitialized_copy::__uninit_copy): Cast expression to void. 2825*f9a78e0eSmrg 2826*f9a78e0eSmrg2015-06-17 Jonathan Wakely <jwakely@redhat.com> 2827*f9a78e0eSmrg 2828*f9a78e0eSmrg PR libstdc++/55409 2829*f9a78e0eSmrg * include/bits/list.tcc (_List_base::_M_clear()): Use allocator traits. 2830*f9a78e0eSmrg (list::list(const list&)): Use allocator propagation trait. Use 2831*f9a78e0eSmrg _M_assign_dispatch to copy elements. 2832*f9a78e0eSmrg * include/bits/stl_list.h (_List_node): Use __aligned_membuf in C++11. 2833*f9a78e0eSmrg (_List_node::_M_valptr()): Add accessor for stored value. 2834*f9a78e0eSmrg (_List_iterator, _List_const_iterator, _List_base): Use _M_valptr(). 2835*f9a78e0eSmrg (_List_base, list): Use allocator traits. 2836*f9a78e0eSmrg (_List_base::_M_get_Tp_allocator, _List_base::get_allocator): Remove. 2837*f9a78e0eSmrg (_List_base::_M_move_nodes): New function. 2838*f9a78e0eSmrg (_List_base(_List_base&&)): Use _M_move_nodes. 2839*f9a78e0eSmrg (_List_base(_List_base&&, _Node_alloc_type&&)): New constructor. 2840*f9a78e0eSmrg (list::_M_create_node, list::_M_erase, list::max_size): Use allocator 2841*f9a78e0eSmrg traits. 2842*f9a78e0eSmrg (list(size_type)): Add allocator parameter. 2843*f9a78e0eSmrg (list(const list&)): Use allocator propagation trait. 2844*f9a78e0eSmrg (list(const list&, const allocator_type&)): New constructor. 2845*f9a78e0eSmrg (list(list&&, const allocator_type&)): Likewise. 2846*f9a78e0eSmrg (list::operator=(list&&), list::swap(list&)): Use allocator 2847*f9a78e0eSmrg propagation traits. 2848*f9a78e0eSmrg (list::_M_move_assign): New functions. 2849*f9a78e0eSmrg * include/debug/list: Add allocator-extended constructors. 2850*f9a78e0eSmrg * include/profile/list: Likewise. 2851*f9a78e0eSmrg * python/libstdcxx/v6/printers.py (get_value_from_list_node): New 2852*f9a78e0eSmrg function to get value from _List_node. 2853*f9a78e0eSmrg (StdListPrinter): Use get_value_from_list_node. 2854*f9a78e0eSmrg * testsuite/23_containers/list/allocator/copy.cc: New. 2855*f9a78e0eSmrg * testsuite/23_containers/list/allocator/copy_assign.cc: New. 2856*f9a78e0eSmrg * testsuite/23_containers/list/allocator/minimal.cc: New. 2857*f9a78e0eSmrg * testsuite/23_containers/list/allocator/move.cc: New. 2858*f9a78e0eSmrg * testsuite/23_containers/list/allocator/move_assign.cc: New. 2859*f9a78e0eSmrg * testsuite/23_containers/list/allocator/noexcept.cc: New. 2860*f9a78e0eSmrg * testsuite/23_containers/list/allocator/swap.cc: New. 2861*f9a78e0eSmrg * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: 2862*f9a78e0eSmrg Adjust dg-prune-output line number. 2863*f9a78e0eSmrg * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: 2864*f9a78e0eSmrg Likewise. 2865*f9a78e0eSmrg * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: 2866*f9a78e0eSmrg Likewise. 2867*f9a78e0eSmrg 2868*f9a78e0eSmrg * include/bits/forward_list.h 2869*f9a78e0eSmrg (_Fwd_list_base(const _Node_alloc_type&)): Change parameter to 2870*f9a78e0eSmrg rvalue-reference. 2871*f9a78e0eSmrg (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Likewise. 2872*f9a78e0eSmrg (forward_list(const _Alloc&)): Split default constructor out to 2873*f9a78e0eSmrg separate function. 2874*f9a78e0eSmrg (forward_list(forward_list&&, const _Alloc&)): Move elements if base 2875*f9a78e0eSmrg class didn't do so. 2876*f9a78e0eSmrg (forward_list::_M_move_assign(forward_list&&, true_type)): Replace 2877*f9a78e0eSmrg swap call with two assignments. 2878*f9a78e0eSmrg * include/bits/forward_list.tcc 2879*f9a78e0eSmrg (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Don't 2880*f9a78e0eSmrg move elements when allocators are not equal. 2881*f9a78e0eSmrg * include/debug/forward_list (forward_list(const allocator_type&)): 2882*f9a78e0eSmrg Split default constructor out to separate function. 2883*f9a78e0eSmrg * include/profile/forward_list (forward_list(const _Alloc&)): 2884*f9a78e0eSmrg Likewise. 2885*f9a78e0eSmrg 2886*f9a78e0eSmrg * include/bits/forward_list.h (forward_list::_M_get_Node_allocator): 2887*f9a78e0eSmrg Remove unnecessary uses of operator& and static_cast. 2888*f9a78e0eSmrg * include/bits/forward_list.tcc 2889*f9a78e0eSmrg (forward_list::operator=(const forward_list&)): Use __addressof 2890*f9a78e0eSmrg instead of operator&. 2891*f9a78e0eSmrg (forward_list::remove(const _Tp&), forward_list::remove(_Pred)): 2892*f9a78e0eSmrg Remove invalid static_casts. 2893*f9a78e0eSmrg * include/debug/forward_list: Use __addressof instead of operator&. 2894*f9a78e0eSmrg * testsuite/23_containers/forward_list/modifiers/addressof.cc: New. 2895*f9a78e0eSmrg 2896*f9a78e0eSmrg * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use 2897*f9a78e0eSmrg __is_nothrow_swappable. 2898*f9a78e0eSmrg 2899*f9a78e0eSmrg2015-06-16 Jonathan Wakely <jwakely@redhat.com> 2900*f9a78e0eSmrg 2901*f9a78e0eSmrg * include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof. 2902*f9a78e0eSmrg 2903*f9a78e0eSmrg * include/bits/list.tcc (list::operator=(const list&), list::merge): 2904*f9a78e0eSmrg Use __addressof instead of operator&. 2905*f9a78e0eSmrg (list::sort): Use array-to-pointer decay instead of operator&. 2906*f9a78e0eSmrg * include/bits/stl_list.h (list::splice): Use __addressof instead of 2907*f9a78e0eSmrg operator&. 2908*f9a78e0eSmrg * include/debug/formatter.h (_Error_formatter::_Parameter::_Parameter): 2909*f9a78e0eSmrg Likewise. 2910*f9a78e0eSmrg * include/debug/functions.h (__check_singular): Likewise. 2911*f9a78e0eSmrg * include/debug/list (list::splice, list::merge): Likewise. 2912*f9a78e0eSmrg * testsuite/23_containers/list/modifiers/addressof.cc: New. 2913*f9a78e0eSmrg 2914*f9a78e0eSmrg PR libstdc++/65393 2915*f9a78e0eSmrg * src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr 2916*f9a78e0eSmrg copies with moves. 2917*f9a78e0eSmrg 2918*f9a78e0eSmrg2015-06-12 Jonathan Wakely <jwakely@redhat.com> 2919*f9a78e0eSmrg 2920*f9a78e0eSmrg * include/precompiled/stdc++.h: Include <codecvt> and <shared_mutex>. 2921*f9a78e0eSmrg 2922*f9a78e0eSmrg PR libstdc++/66464 2923*f9a78e0eSmrg * src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length): 2924*f9a78e0eSmrg Return 4 not 3. 2925*f9a78e0eSmrg 2926*f9a78e0eSmrg2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 2927*f9a78e0eSmrg 2928*f9a78e0eSmrg PR c++/66192 2929*f9a78e0eSmrg PR target/66200 2930*f9a78e0eSmrg * config/cpu/alpha/atomic_word.h: Remove. 2931*f9a78e0eSmrg * config/cpu/ia64/atomic_word.h: Remove. 2932*f9a78e0eSmrg * config/cpu/powerpc/atomic_word.h: Remove. 2933*f9a78e0eSmrg * config/os/aix/atomic_word.h: Remove. 2934*f9a78e0eSmrg * configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]: 2935*f9a78e0eSmrg Use generic definition. 2936*f9a78e0eSmrg 2937*f9a78e0eSmrg2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 2938*f9a78e0eSmrg 2939*f9a78e0eSmrg PR target/66200 2940*f9a78e0eSmrg PR c++/66192 2941*f9a78e0eSmrg * * config/cpu/generic/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Define 2942*f9a78e0eSmrg (_GLIBCXX_WRITE_MEM_BARRIER): Likewise 2943*f9a78e0eSmrg * include/bits/shared_ptr_base.h: Use ACQ_REL barrier. 2944*f9a78e0eSmrg * include/ext/atomicity.h: Likewise. 2945*f9a78e0eSmrg * include/tr1/shared_ptr.h: Likewise. 2946*f9a78e0eSmrg * libsupc++/guard.cc (__test_and_acquire): Rewrite with atomics. 2947*f9a78e0eSmrg Update comment. 2948*f9a78e0eSmrg (__set_and_release): Likewise. 2949*f9a78e0eSmrg * testsuite/20_util/shared_ptr/cons/43820_neg.cc (test01): Adjust for 2950*f9a78e0eSmrg line numbers. 2951*f9a78e0eSmrg * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. 2952*f9a78e0eSmrg * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: 2953*f9a78e0eSmrg Likewise. 2954*f9a78e0eSmrg 2955*f9a78e0eSmrg2015-06-12 Jonathan Wakely <jwakely@redhat.com> 2956*f9a78e0eSmrg 2957*f9a78e0eSmrg * include/std/tuple (__is_tuple_like_impl): Disambiguate array in 2958*f9a78e0eSmrg debug and profile modes. 2959*f9a78e0eSmrg * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust tests 2960*f9a78e0eSmrg for swap in C++11 and later. 2961*f9a78e0eSmrg 2962*f9a78e0eSmrg2015-06-09 Jonathan Wakely <jwakely@redhat.com> 2963*f9a78e0eSmrg 2964*f9a78e0eSmrg PR libstdc++/66030 2965*f9a78e0eSmrg * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols 2966*f9a78e0eSmrg for mingw32. 2967*f9a78e0eSmrg 2968*f9a78e0eSmrg2015-06-08 Jonathan Wakely <jwakely@redhat.com> 2969*f9a78e0eSmrg 2970*f9a78e0eSmrg PR libstdc++/66441 2971*f9a78e0eSmrg * testsuite/22_locale/conversions/string/66441.cc: New. 2972*f9a78e0eSmrg * include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space 2973*f9a78e0eSmrg in the output string for BOM and complete result. 2974*f9a78e0eSmrg 2975*f9a78e0eSmrg PR libstdc++/66417 2976*f9a78e0eSmrg * src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order 2977*f9a78e0eSmrg for single UTF-16 units. 2978*f9a78e0eSmrg * testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New. 2979*f9a78e0eSmrg 2980*f9a78e0eSmrg2015-06-07 François Dumont <fdumont@gcc.gnu.org> 2981*f9a78e0eSmrg 2982*f9a78e0eSmrg * include/bits/stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to 2983*f9a78e0eSmrg outer scope and rename to ... 2984*f9a78e0eSmrg (std::__hash_is_transparent<>): ... this. 2985*f9a78e0eSmrg * include/debug/stl_map.h (map::find<>, 2986*f9a78e0eSmrg map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New 2987*f9a78e0eSmrg member function templates to perform heterogeneous lookup. 2988*f9a78e0eSmrg * include/debug/stl_multimap.h (multimap::find<>, 2989*f9a78e0eSmrg multimap::lower_bound<>, multimap::upper_bound<>, 2990*f9a78e0eSmrg multimap::equal_range<>): Likewise. 2991*f9a78e0eSmrg * include/debug/stl_multiset.h (multiset::find<>, 2992*f9a78e0eSmrg multiset::lower_bound<>, multiset::upper_bound<>, 2993*f9a78e0eSmrg multiset::equal_range<>): Likewise. 2994*f9a78e0eSmrg * include/debug/stl_set.h (set::find<>, 2995*f9a78e0eSmrg set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise. 2996*f9a78e0eSmrg * include/profile/stl_map.h (map::find<>, map::count<>, 2997*f9a78e0eSmrg map::lower_bound<>, map::upper_bound<>, map::equal_range<>): Likewise. 2998*f9a78e0eSmrg * include/profile/stl_multimap.h (multimap::find<>, multimap::count<>, 2999*f9a78e0eSmrg multimap::lower_bound<>, multimap::upper_bound<>, 3000*f9a78e0eSmrg multimap::equal_range<>): Likewise. 3001*f9a78e0eSmrg * include/profile/stl_multiset.h (multiset::find<>, multiset::count<>, 3002*f9a78e0eSmrg multiset::lower_bound<>, multiset::upper_bound<>, 3003*f9a78e0eSmrg multiset::equal_range<>): Likewise. 3004*f9a78e0eSmrg * include/profile/stl_set.h (set::find<>, set::count<>, 3005*f9a78e0eSmrg set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise. 3006*f9a78e0eSmrg * testsuite/23_containers/map/operations/1.cc: Check const variants. 3007*f9a78e0eSmrg * testsuite/23_containers/multimap/operations/1.cc: Likewise. 3008*f9a78e0eSmrg * testsuite/23_containers/multiset/operations/1.cc: Likewise. 3009*f9a78e0eSmrg * testsuite/23_containers/set/operations/1.cc: Likewise. 3010*f9a78e0eSmrg 3011*f9a78e0eSmrg2015-06-05 Jonathan Wakely <jwakely@redhat.com> 3012*f9a78e0eSmrg 3013*f9a78e0eSmrg * doc/xml/manual/status_cxx2017.xml: Update status tables. 3014*f9a78e0eSmrg * doc/html/manual/*: Regenerate. 3015*f9a78e0eSmrg * include/std/type_traits (bool_constant): Define. 3016*f9a78e0eSmrg * testsuite/20_util/bool_constant/requirements.cc: New. 3017*f9a78e0eSmrg * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error. 3018*f9a78e0eSmrg * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 3019*f9a78e0eSmrg Likewise. 3020*f9a78e0eSmrg * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: 3021*f9a78e0eSmrg Likewise. 3022*f9a78e0eSmrg 3023*f9a78e0eSmrg * include/std/shared_mutex (__shared_mutex_pthread, 3024*f9a78e0eSmrg __shared_mutex_cv): New helper types implementing the shared mutex 3025*f9a78e0eSmrg requirements. 3026*f9a78e0eSmrg (shared_mutex): New type for C++17. 3027*f9a78e0eSmrg (shared_timed_mutex): Derive from one of the new helper types. 3028*f9a78e0eSmrg * testsuite/30_threads/shared_mutex/cons/1.cc: New. 3029*f9a78e0eSmrg * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New. 3030*f9a78e0eSmrg * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New. 3031*f9a78e0eSmrg * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc: 3032*f9a78e0eSmrg New. 3033*f9a78e0eSmrg * testsuite/30_threads/shared_mutex/try_lock/1.cc: New. 3034*f9a78e0eSmrg * testsuite/30_threads/shared_mutex/try_lock/2.cc: New. 3035*f9a78e0eSmrg 3036*f9a78e0eSmrg2015-06-05 Ville Voutilainen <ville.voutilainen@gmail.com> 3037*f9a78e0eSmrg 3038*f9a78e0eSmrg Add __is_nothrow_swappable and take it into use. 3039*f9a78e0eSmrg * include/bits/algorithmfwd.h (swap): Only declare for C++98 mode. 3040*f9a78e0eSmrg * include/bits/move.h (swap): Add constraints in C++11 and later. 3041*f9a78e0eSmrg * include/bits/stl_pair.h (swap): Use __is_nothrow_swappable 3042*f9a78e0eSmrg for the free swap function for pair. 3043*f9a78e0eSmrg * include/bits/stl_queue.h (swap): Use __is_nothrow_swappable 3044*f9a78e0eSmrg for the free swap functions for queue and priority_queue. 3045*f9a78e0eSmrg * include/bits/stl_stack.h (swap): Use __is_nothrow_swappable 3046*f9a78e0eSmrg for the free swap function for stack. 3047*f9a78e0eSmrg * include/debug/array (swap): Use __is_nothrow_swappable 3048*f9a78e0eSmrg for the free swap function for array. 3049*f9a78e0eSmrg * include/profile/array (swap): Likewise. 3050*f9a78e0eSmrg * include/std/array (swap): Likewise. 3051*f9a78e0eSmrg * include/std/tuple (_Tuple_impl::_M_swap): Use __is_nothrow_swappable. 3052*f9a78e0eSmrg * include/std/type_traits (__is_swappable_impl::__is_swappable, 3053*f9a78e0eSmrg __is_nothrow_swappable_impl, __is_nothrow_swappable): New. 3054*f9a78e0eSmrg * testsuite/20_util/is_nothrow_swappable/requirements/ 3055*f9a78e0eSmrg explicit_instantiation.cc: New. 3056*f9a78e0eSmrg * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc: 3057*f9a78e0eSmrg New. 3058*f9a78e0eSmrg * testsuite/20_util/is_nothrow_swappable/value.cc: New. 3059*f9a78e0eSmrg 3060*f9a78e0eSmrg2015-06-03 François Dumont fdumont@gcc.gnu.org> 3061*f9a78e0eSmrg 3062*f9a78e0eSmrg * testsuite/23_containers/list/61347.cc: Add dg-require-normal-mode. 3063*f9a78e0eSmrg 3064*f9a78e0eSmrg2015-06-02 Jonathan Wakely <jwakely@redhat.com> 3065*f9a78e0eSmrg 3066*f9a78e0eSmrg * doc/xml/manual/abi.xml: Document versioning for 5.1.0 release. 3067*f9a78e0eSmrg * doc/html/manual/*: Regenerate. 3068*f9a78e0eSmrg 3069*f9a78e0eSmrg * doc/html/ext/lwg-active.html: Update to R93. 3070*f9a78e0eSmrg * doc/html/ext/lwg-closed.html: Likewise. 3071*f9a78e0eSmrg * doc/html/ext/lwg-defects.html: Likewise. 3072*f9a78e0eSmrg * doc/html/manual/*: Regenerate. 3073*f9a78e0eSmrg * doc/xml/manual/intro.xml: Document status of several DRs. 3074*f9a78e0eSmrg 3075*f9a78e0eSmrg2015-06-02 Renlin Li <renlin.li@arm.com> 3076*f9a78e0eSmrg 3077*f9a78e0eSmrg * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check. 3078*f9a78e0eSmrg 3079*f9a78e0eSmrg2015-06-01 Jonathan Wakely <jwakely@redhat.com> 3080*f9a78e0eSmrg 3081*f9a78e0eSmrg * testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE 3082*f9a78e0eSmrg environment variable. 3083*f9a78e0eSmrg 3084*f9a78e0eSmrg2015-05-31 Jonathan Wakely <jwakely@redhat.com> 3085*f9a78e0eSmrg 3086*f9a78e0eSmrg PR libstdc++/66354 3087*f9a78e0eSmrg * include/bits/stl_algobase.h (__fill_a): Check length before calling 3088*f9a78e0eSmrg memset. 3089*f9a78e0eSmrg 3090*f9a78e0eSmrg2015-05-30 Jonathan Wakely <jwakely@redhat.com> 3091*f9a78e0eSmrg 3092*f9a78e0eSmrg * include/bits/stl_algobase.h (__equal<true>::equal): Check length 3093*f9a78e0eSmrg instead of checking for null pointers. 3094*f9a78e0eSmrg (__lexicographical_compare<true>::__lc): Only check shorter length. 3095*f9a78e0eSmrg 3096*f9a78e0eSmrg2015-05-29 François Dumont fdumont@gcc.gnu.org> 3097*f9a78e0eSmrg 3098*f9a78e0eSmrg * include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT, 3099*f9a78e0eSmrg _GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition... 3100*f9a78e0eSmrg * include/debug/assertions.h: ...here, new. 3101*f9a78e0eSmrg * include/debug/formatter.h 3102*f9a78e0eSmrg (_Error_formatter::_Is_iterator_value_type): New. 3103*f9a78e0eSmrg (_Error_formatter::_Is_instance): New. 3104*f9a78e0eSmrg (_Error_formatter::_Parameter): Make public and not friend anymore. 3105*f9a78e0eSmrg (_Error_formatter::_Parameter::__instance): New _M_kind enum entry. 3106*f9a78e0eSmrg (_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum 3107*f9a78e0eSmrg entry. 3108*f9a78e0eSmrg (_Error_formatter::_Parameter::_Type): New. 3109*f9a78e0eSmrg (_Error_formatter::_Parameter::_Instance): New, inherit from 3110*f9a78e0eSmrg latter. 3111*f9a78e0eSmrg (union _Error_formatter::_Parameter::_M_variant): Reorganize. 3112*f9a78e0eSmrg (_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all 3113*f9a78e0eSmrg overloads take iterator through a const reference. 3114*f9a78e0eSmrg (_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)): 3115*f9a78e0eSmrg New. 3116*f9a78e0eSmrg (_Parameter(const _Type&, const char*, _Is_instance)): New. 3117*f9a78e0eSmrg (_Error_formatter::_M_print_type): Delete. 3118*f9a78e0eSmrg (_Error_formatter::_M_iterator_value_type): New. 3119*f9a78e0eSmrg (_Error_formatter::_M_instance): New. 3120*f9a78e0eSmrg * include/Makefile.am: Add new above debug file. 3121*f9a78e0eSmrg * include/Makefile.in: Regenerate. 3122*f9a78e0eSmrg * include/debug/functions.h 3123*f9a78e0eSmrg (__check_dereferenceable(const _Safe_iterator<>&), 3124*f9a78e0eSmrg __valid_range(const _Safe_iterator<>&), 3125*f9a78e0eSmrg __is_safe_random_iterator<_Safe_iterator<>>): Move... 3126*f9a78e0eSmrg * include/debug/safe_iterator.h: ... here. 3127*f9a78e0eSmrg Replace debug.h include with assertions.h. 3128*f9a78e0eSmrg (__check_singular_aux): Move... 3129*f9a78e0eSmrg * include/debug/safe_base.h: ... here. 3130*f9a78e0eSmrg * include/debug/functions.h 3131*f9a78e0eSmrg (__check_dereferenceable(const _Safe_local_iterator<>&), 3132*f9a78e0eSmrg __valid_range(const _Safe_local_iterator<>&): Move... 3133*f9a78e0eSmrg * include/debug/safe_local_iterator.h: ...here. 3134*f9a78e0eSmrg * include/debug/safe_sequence.h: Replace debug.h with assertions.h. 3135*f9a78e0eSmrg Remove _Safe_iterator declaration. 3136*f9a78e0eSmrg * include/debug/safe_unordered_container.h: Replace debug.h with 3137*f9a78e0eSmrg assertions.h. 3138*f9a78e0eSmrg * include/debug/array: Replace safe_sequence.h include with 3139*f9a78e0eSmrg formatter.h and macros.h. 3140*f9a78e0eSmrg * include/debug/deque: Include functions.tcc. 3141*f9a78e0eSmrg * include/debug/forward_list: Likewise. 3142*f9a78e0eSmrg * include/debug/list: Likewise. 3143*f9a78e0eSmrg * include/debug/string: Likewise. 3144*f9a78e0eSmrg * include/debug/vector: Likewise. 3145*f9a78e0eSmrg * include/bits/unique_ptr.h: Replace debug.h include with new 3146*f9a78e0eSmrg assertions.h. 3147*f9a78e0eSmrg * include/bits/stl_iterator_base_funcs.h: Likewise. 3148*f9a78e0eSmrg * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: 3149*f9a78e0eSmrg Adjust dg-error line number. 3150*f9a78e0eSmrg * testsuite/23_containers/array/tuple_interface/ 3151*f9a78e0eSmrg tuple_element_debug_neg.cc: Likewise. 3152*f9a78e0eSmrg * src/c++11/debug.cc: Adapt. 3153*f9a78e0eSmrg 3154*f9a78e0eSmrg2015-05-29 Jonathan Wakely <jwakely@redhat.com> 3155*f9a78e0eSmrg 3156*f9a78e0eSmrg * doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute. 3157*f9a78e0eSmrg * doc/html/manual/*: Regenerate. 3158*f9a78e0eSmrg 3159*f9a78e0eSmrg * include/std/future (__async_result_of): New alias template. 3160*f9a78e0eSmrg (async): Use __async_result_of to pass decayed types to result_of. 3161*f9a78e0eSmrg * testsuite/30_threads/async/lwg2021.cc: New. 3162*f9a78e0eSmrg * doc/xml/manual/intro.xml: Document LWG 2021 status. 3163*f9a78e0eSmrg 3164*f9a78e0eSmrg PR libstdc++/66327 3165*f9a78e0eSmrg * include/bits/stl_algobase.h (__equal<true>::equal): Do not call 3166*f9a78e0eSmrg memcmp with null pointers. 3167*f9a78e0eSmrg (__lexicographical_compare<true>::__lc): Do not call memcmp for empty 3168*f9a78e0eSmrg ranges. 3169*f9a78e0eSmrg 3170*f9a78e0eSmrg2015-05-28 Jonathan Wakely <jwakely@redhat.com> 3171*f9a78e0eSmrg 3172*f9a78e0eSmrg PR libstdc++/65352 3173*f9a78e0eSmrg * include/profile/array (array::data): Use _S_ptr. 3174*f9a78e0eSmrg * include/debug/array (array::data): Likewise. 3175*f9a78e0eSmrg 3176*f9a78e0eSmrg PR libstdc++/65352 3177*f9a78e0eSmrg * include/std/array (__array_traits::_S_ptr): New function. 3178*f9a78e0eSmrg (array::data): Use _S_ptr to avoid creating invalid reference. 3179*f9a78e0eSmrg * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust 3180*f9a78e0eSmrg dg-error line numbers. 3181*f9a78e0eSmrg * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: 3182*f9a78e0eSmrg likewise. 3183*f9a78e0eSmrg 3184*f9a78e0eSmrg2015-05-27 Jonathan Wakely <jwakely@redhat.com> 3185*f9a78e0eSmrg 3186*f9a78e0eSmrg * include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr 3187*f9a78e0eSmrg instead of downcasting. 3188*f9a78e0eSmrg (_Rb_tree::_M_copy): Change second parameter to _Base_ptr. 3189*f9a78e0eSmrg (_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise. 3190*f9a78e0eSmrg (_Rb_tree::_S_iter): Remove. 3191*f9a78e0eSmrg (_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove. 3192*f9a78e0eSmrg (_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr 3193*f9a78e0eSmrg instead of _S_lower_bound_tr 3194*f9a78e0eSmrg (_Rb_tree::_M_find_tr(const _Kt&)): Call const overload. 3195*f9a78e0eSmrg (_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here 3196*f9a78e0eSmrg instead of calling _S_lower_bound_tr. 3197*f9a78e0eSmrg (_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload. 3198*f9a78e0eSmrg (_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here 3199*f9a78e0eSmrg instead of calling _S_upper_bound_tr. 3200*f9a78e0eSmrg (_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload. 3201*f9a78e0eSmrg (_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise. 3202*f9a78e0eSmrg (_Rb_tree::equal_range): Use _Base_ptr for end pointer. 3203*f9a78e0eSmrg (_Rb_tree::_M_get_insert_unique_pos): Likewise. 3204*f9a78e0eSmrg (_Rb_tree::_M_get_insert_equal_pos): Likewise. 3205*f9a78e0eSmrg (_Rb_tree::_M_insert_equal_lower_node): Likewise. 3206*f9a78e0eSmrg (_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique, 3207*f9a78e0eSmrg _Rb_tree::_M_emplace_hint_unique): Remove static_cast. 3208*f9a78e0eSmrg 3209*f9a78e0eSmrg PR libstdc++/66017 3210*f9a78e0eSmrg * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf. 3211*f9a78e0eSmrg (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction 3212*f9a78e0eSmrg from _Base_ptr. 3213*f9a78e0eSmrg (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast. 3214*f9a78e0eSmrg (_Rb_tree::begin, _Rb_tree::end): Remove static_cast. 3215*f9a78e0eSmrg * include/ext/aligned_buffer.h (__aligned_membuf): New type using 3216*f9a78e0eSmrg alignment of _Tp as a member subobject, not as a complete object. 3217*f9a78e0eSmrg * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup 3218*f9a78e0eSmrg _Link_type manually as it might not be in the debug info. 3219*f9a78e0eSmrg 3220*f9a78e0eSmrg2015-05-26 Doug Evans <dje@google.com> 3221*f9a78e0eSmrg 3222*f9a78e0eSmrg * python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add 3223*f9a78e0eSmrg operator-> support. 3224*f9a78e0eSmrg * testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for 3225*f9a78e0eSmrg operator->. 3226*f9a78e0eSmrg 3227*f9a78e0eSmrg2015-05-26 Jonathan Wakely <jwakely@redhat.com> 3228*f9a78e0eSmrg 3229*f9a78e0eSmrg * include/bits/locale_conv.h: Fix copyright years. 3230*f9a78e0eSmrg * include/bits/quoted_string.h: Likewise. 3231*f9a78e0eSmrg * src/filesystem/Makefile.am: Likewise. 3232*f9a78e0eSmrg * testsuite/22_locale/conversions/buffer/1.cc: Likewise. 3233*f9a78e0eSmrg * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: 3234*f9a78e0eSmrg Likewise. 3235*f9a78e0eSmrg * testsuite/22_locale/conversions/string/1.cc: Likewise. 3236*f9a78e0eSmrg * testsuite/22_locale/conversions/string/2.cc: Likewise. 3237*f9a78e0eSmrg * testsuite/22_locale/conversions/string/3.cc: Likewise. 3238*f9a78e0eSmrg * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc: 3239*f9a78e0eSmrg Likewise. 3240*f9a78e0eSmrg * testsuite/22_locale/conversions/string/requirements/typedefs.cc: 3241*f9a78e0eSmrg Likewise. 3242*f9a78e0eSmrg * testsuite/util/testsuite_fs.h: Likewise. 3243*f9a78e0eSmrg 3244*f9a78e0eSmrg2015-05-23 François Dumont fdumont@gcc.gnu.org> 3245*f9a78e0eSmrg 3246*f9a78e0eSmrg PR libstdc++/64657 3247*f9a78e0eSmrg * include/debug/functions.h (__check_sorted_aux): Cast expression to 3248*f9a78e0eSmrg void. 3249*f9a78e0eSmrg 3250*f9a78e0eSmrg2015-05-21 David Edelsohn <dje.gcc@gmail.com> 3251*f9a78e0eSmrg 3252*f9a78e0eSmrg PR target/66224 3253*f9a78e0eSmrg * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): 3254*f9a78e0eSmrg Don't use isync. Use lwsync if available. 3255*f9a78e0eSmrg * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use 3256*f9a78e0eSmrg powerpc cpu definition. 3257*f9a78e0eSmrg 3258*f9a78e0eSmrg2015-05-21 Jason Merrill <jason@redhat.com> 3259*f9a78e0eSmrg 3260*f9a78e0eSmrg * libsupc++/del_opv.cc: Suppress -Wsized-deallocation. 3261*f9a78e0eSmrg * libsupc++/del_op.cc: Likewise. 3262*f9a78e0eSmrg 3263*f9a78e0eSmrg2015-05-20 François Dumont fdumont@gcc.gnu.org> 3264*f9a78e0eSmrg 3265*f9a78e0eSmrg * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify 3266*f9a78e0eSmrg usage of typeid. 3267*f9a78e0eSmrg (_Error_formatter::_M_print_type): New. 3268*f9a78e0eSmrg * src/c++11/debug.cc 3269*f9a78e0eSmrg (_Error_formatter::_Parameter::_M_print_field): Use latter. 3270*f9a78e0eSmrg (_Error_formatter::_M_print_type): Implement latter using 3271*f9a78e0eSmrg __cxaabiv1::__cxa_demangle to print demangled type name. 3272*f9a78e0eSmrg 3273*f9a78e0eSmrg * include/bits/cpp_type_traits.h 3274*f9a78e0eSmrg (std::move_iterator): Delete declaration. 3275*f9a78e0eSmrg (std::__is_move_iterator<move_iterator>): Move partial specialization... 3276*f9a78e0eSmrg * include/bits/stl_iterator.h: ... here. 3277*f9a78e0eSmrg (std::__miter_base): Overloads for std::reverse_iterator and 3278*f9a78e0eSmrg std::move_iterator. 3279*f9a78e0eSmrg * include/bits/stl_algobase.h (std::__miter_base): Provide default 3280*f9a78e0eSmrg implementation. 3281*f9a78e0eSmrg 3282*f9a78e0eSmrg2015-05-20 Jonathan Wakely <jwakely@redhat.com> 3283*f9a78e0eSmrg 3284*f9a78e0eSmrg * testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam. 3285*f9a78e0eSmrg 3286*f9a78e0eSmrg PR libstdc++/66078 3287*f9a78e0eSmrg * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add 3288*f9a78e0eSmrg overload for pointers. 3289*f9a78e0eSmrg * testsuite/20_util/specialized_algorithms/uninitialized_copy/ 3290*f9a78e0eSmrg 808590.cc: Add -std=gnu++03 switch. 3291*f9a78e0eSmrg * testsuite/20_util/specialized_algorithms/uninitialized_copy/ 3292*f9a78e0eSmrg 808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11. 3293*f9a78e0eSmrg * testsuite/23_containers/vector/modifiers/push_back/ 3294*f9a78e0eSmrg strong_guarantee.cc: New. 3295*f9a78e0eSmrg 3296*f9a78e0eSmrg2015-05-19 Jonathan Wakely <jwakely@redhat.com> 3297*f9a78e0eSmrg 3298*f9a78e0eSmrg * include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare. 3299*f9a78e0eSmrg (operator==(const list&, const list&)): If size() is O(1) compare 3300*f9a78e0eSmrg sizes before comparing each element. 3301*f9a78e0eSmrg * include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define. 3302*f9a78e0eSmrg (list::resize): Use _M_resize_pos. 3303*f9a78e0eSmrg 3304*f9a78e0eSmrg2015-05-19 François Dumont <fdumont@gcc.gnu.org> 3305*f9a78e0eSmrg 3306*f9a78e0eSmrg * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor 3307*f9a78e0eSmrg invocations. 3308*f9a78e0eSmrg * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise. 3309*f9a78e0eSmrg * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise. 3310*f9a78e0eSmrg * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise. 3311*f9a78e0eSmrg 3312*f9a78e0eSmrg2015-05-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 3313*f9a78e0eSmrg 3314*f9a78e0eSmrg * configure.host: Define cpu_defines_dir for ARM. 3315*f9a78e0eSmrg * config/cpu/arm/cpu_defines.h: New file. 3316*f9a78e0eSmrg 3317*f9a78e0eSmrg2015-05-17 François Dumont <fdumont@gcc.gnu.org> 3318*f9a78e0eSmrg 3319*f9a78e0eSmrg * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add 3320*f9a78e0eSmrg missing constructors. 3321*f9a78e0eSmrg * include/bits/unordered_set.h (unordered_set, unordered_multiset): 3322*f9a78e0eSmrg Likewise. 3323*f9a78e0eSmrg * include/debug/unordered_map (unordered_map, unordered_multimap): Add 3324*f9a78e0eSmrg missing constructors. 3325*f9a78e0eSmrg * include/debug/unordered_set (unordered_set, unordered_multiset): 3326*f9a78e0eSmrg Likewise. 3327*f9a78e0eSmrg * include/profile/unordered_map (unordered_map, unordered_multimap): Add 3328*f9a78e0eSmrg missing constructors. 3329*f9a78e0eSmrg * include/profile/unordered_set (unordered_set, unordered_multiset): 3330*f9a78e0eSmrg Likewise. 3331*f9a78e0eSmrg 3332*f9a78e0eSmrg2015-05-15 Jonathan Wakely <jwakely@redhat.com> 3333*f9a78e0eSmrg 3334*f9a78e0eSmrg * src/filesystem/ops.cc (stat_type): Define alias for struct stat and 3335*f9a78e0eSmrg use throughout the file. 3336*f9a78e0eSmrg (make_file_type): New function. 3337*f9a78e0eSmrg (file_size(const path&, error_code&)): Report an error for anything 3338*f9a78e0eSmrg that isn't a regular file. 3339*f9a78e0eSmrg (status(const path&), symlink_status(const path&)): Do not throw for 3340*f9a78e0eSmrg file_type::not_found. 3341*f9a78e0eSmrg (temp_directory_path()): Check additional environment variables. 3342*f9a78e0eSmrg * testsuite/experimental/filesystem/operations/exists.cc: New. 3343*f9a78e0eSmrg * testsuite/experimental/filesystem/operations/file_size.cc: New. 3344*f9a78e0eSmrg * testsuite/experimental/filesystem/operations/status.cc: New. 3345*f9a78e0eSmrg * testsuite/experimental/filesystem/operations/temp_directory_path.cc: 3346*f9a78e0eSmrg New. 3347*f9a78e0eSmrg 3348*f9a78e0eSmrg2015-05-14 Nathan Myers <ncm@cantrip.org> 3349*f9a78e0eSmrg Jonathan Wakely <jwakely@redhat.com> 3350*f9a78e0eSmrg 3351*f9a78e0eSmrg PR libstdc++/66055 3352*f9a78e0eSmrg * include/std/unordered_map (unordered_map, unordered_multimap): Add 3353*f9a78e0eSmrg missing constructors. 3354*f9a78e0eSmrg * include/std/unordered_set (unordered_set, unordered_multiset): 3355*f9a78e0eSmrg Likewise. 3356*f9a78e0eSmrg * testsuite/23_containers/unordered_map/cons/66055.cc: New. 3357*f9a78e0eSmrg * testsuite/23_containers/unordered_multimap/cons/66055.cc: New. 3358*f9a78e0eSmrg * testsuite/23_containers/unordered_multiset/cons/66055.cc: New. 3359*f9a78e0eSmrg * testsuite/23_containers/unordered_set/cons/66055.cc: New. 3360*f9a78e0eSmrg 3361*f9a78e0eSmrg2015-05-14 Jonathan Wakely <jwakely@redhat.com> 3362*f9a78e0eSmrg 3363*f9a78e0eSmrg PR libstdc++/66011 3364*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and 3365*f9a78e0eSmrg sendfile. 3366*f9a78e0eSmrg * config.h.in: Regenerate. 3367*f9a78e0eSmrg * configure: Regenerate. 3368*f9a78e0eSmrg * src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do 3369*f9a78e0eSmrg not return after copying contents. Use fchmod, fchmodat, and sendfile 3370*f9a78e0eSmrg when available. 3371*f9a78e0eSmrg (current_path, permissions, space): Use errno not return value. 3372*f9a78e0eSmrg 3373*f9a78e0eSmrg PR libstdc++/66018 3374*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct 3375*f9a78e0eSmrg dirent.d_type. 3376*f9a78e0eSmrg * config.h.in: Regenerate. 3377*f9a78e0eSmrg * configure: Regenerate. 3378*f9a78e0eSmrg * configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove. 3379*f9a78e0eSmrg 3380*f9a78e0eSmrg2015-05-13 Eric Botcazou <ebotcazou@adacore.com> 3381*f9a78e0eSmrg 3382*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete. 3383*f9a78e0eSmrg * configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS. 3384*f9a78e0eSmrg * config.h.in: Regenerate. 3385*f9a78e0eSmrg * configure: Likewise. 3386*f9a78e0eSmrg * libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by 3387*f9a78e0eSmrg __USING_SJLJ_EXCEPTIONS__. 3388*f9a78e0eSmrg * libsupc++/eh_throw.cc: Likewise. 3389*f9a78e0eSmrg * libsupc++/eh_ptr.cc: Likewise. 3390*f9a78e0eSmrg * doc/html/manual/appendix_porting.html: Remove 3391*f9a78e0eSmrg GLIBCXX_ENABLE_SJLJ_EXCEPTIONS 3392*f9a78e0eSmrg * doc/xml/manual/build_hacking.xml: Likewise. 3393*f9a78e0eSmrg * doc/html/manual/configure.html: Remove --enable-sjlj-exceptions. 3394*f9a78e0eSmrg * doc/xml/manual/configure.xml: Likewise. 3395*f9a78e0eSmrg 3396*f9a78e0eSmrg2015-05-13 Jonathan Wakely <jwakely@redhat.com> 3397*f9a78e0eSmrg 3398*f9a78e0eSmrg * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check 3399*f9a78e0eSmrg for nullptr (LWG 2415). 3400*f9a78e0eSmrg * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test 3401*f9a78e0eSmrg construction from empty unique_ptr. 3402*f9a78e0eSmrg * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error. 3403*f9a78e0eSmrg * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. 3404*f9a78e0eSmrg 3405*f9a78e0eSmrg * include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()): 3406*f9a78e0eSmrg Define (LWG 2454). 3407*f9a78e0eSmrg * testsuite/20_util/raw_storage_iterator/base.cc: New. 3408*f9a78e0eSmrg 3409*f9a78e0eSmrg * include/std/future (packaged_task(allocator_arg_t, const A&, F&&): 3410*f9a78e0eSmrg Remove explicit (LWG 2407). 3411*f9a78e0eSmrg 3412*f9a78e0eSmrg * include/bits/basic_string.h (basic_string::basic_string()): Make 3413*f9a78e0eSmrg noexcept conditional on allocator (LWG 2455). 3414*f9a78e0eSmrg 3415*f9a78e0eSmrg * include/std/complex (polar): Check for negative rho (LWG 2459). 3416*f9a78e0eSmrg 3417*f9a78e0eSmrg * include/experimental/tuple (apply): Handle pointers to member (LWG 3418*f9a78e0eSmrg 2418). 3419*f9a78e0eSmrg * include/std/functional (_Mem_fn_base): Make constructors constexpr. 3420*f9a78e0eSmrg (_Maybe_wrap_member_pointer::__do_wrap): Make constexpr. 3421*f9a78e0eSmrg * testsuite/experimental/tuple/apply.cc: Test pointer to member. 3422*f9a78e0eSmrg 3423*f9a78e0eSmrg * include/bits/random.h (seed_seq): More noexcept (LWG 2440). 3424*f9a78e0eSmrg 3425*f9a78e0eSmrg * include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466. 3426*f9a78e0eSmrg * testsuite/20_util/allocator_traits/members/max_size.cc: Adjust. 3427*f9a78e0eSmrg * testsuite/23_containers/forward_list/allocator/minimal.cc: 3428*f9a78e0eSmrg Likewise. 3429*f9a78e0eSmrg * testsuite/23_containers/map/allocator/minimal.cc: Likewise. 3430*f9a78e0eSmrg * testsuite/23_containers/multimap/allocator/minimal.cc: Likewise. 3431*f9a78e0eSmrg * testsuite/23_containers/multiset/allocator/minimal.cc: Likewise. 3432*f9a78e0eSmrg * testsuite/23_containers/set/allocator/minimal.cc: Likewise. 3433*f9a78e0eSmrg * testsuite/23_containers/unordered_map/allocator/minimal.cc: 3434*f9a78e0eSmrg Likewise. 3435*f9a78e0eSmrg * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: 3436*f9a78e0eSmrg Likewise. 3437*f9a78e0eSmrg * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: 3438*f9a78e0eSmrg Likewise. 3439*f9a78e0eSmrg * testsuite/23_containers/unordered_set/allocator/minimal.cc: 3440*f9a78e0eSmrg Likewise. 3441*f9a78e0eSmrg * testsuite/util/testsuite_allocator.h: Remove unused parameter. 3442*f9a78e0eSmrg 3443*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris. 3444*f9a78e0eSmrg * configure: Regenerate. 3445*f9a78e0eSmrg 3446*f9a78e0eSmrg2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> 3447*f9a78e0eSmrg 3448*f9a78e0eSmrg * Makefile.in: Regenerated with automake-1.11.6. 3449*f9a78e0eSmrg * aclocal.m4: Likewise. 3450*f9a78e0eSmrg * configure: Likewise. 3451*f9a78e0eSmrg * doc/Makefile.in: Likewise. 3452*f9a78e0eSmrg * include/Makefile.in: Likewise. 3453*f9a78e0eSmrg * libsupc++/Makefile.in: Likewise. 3454*f9a78e0eSmrg * po/Makefile.in: Likewise. 3455*f9a78e0eSmrg * python/Makefile.in: Likewise. 3456*f9a78e0eSmrg * src/Makefile.in: Likewise. 3457*f9a78e0eSmrg * src/c++11/Makefile.in: Likewise. 3458*f9a78e0eSmrg * src/c++98/Makefile.in: Likewise. 3459*f9a78e0eSmrg * src/filesystem/Makefile.in: Likewise. 3460*f9a78e0eSmrg * testsuite/Makefile.in: Likewise. 3461*f9a78e0eSmrg 3462*f9a78e0eSmrg2015-05-09 Jason Merrill <jason@redhat.com> 3463*f9a78e0eSmrg 3464*f9a78e0eSmrg * testsuite/20_util/headers/functional/synopsis.cc: Add 3465*f9a78e0eSmrg _GLIBCXX14_CONSTEXPR. 3466*f9a78e0eSmrg * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise. 3467*f9a78e0eSmrg 3468*f9a78e0eSmrg2015-05-08 Jason Merrill <jason@redhat.com> 3469*f9a78e0eSmrg 3470*f9a78e0eSmrg * testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98. 3471*f9a78e0eSmrg * testsuite/20_util/auto_ptr/1.cc: Add -std=c++98. 3472*f9a78e0eSmrg * testsuite/20_util/auto_ptr/2.cc: Add -std=c++98. 3473*f9a78e0eSmrg * testsuite/20_util/auto_ptr/3.cc: Add -std=c++98. 3474*f9a78e0eSmrg * testsuite/20_util/auto_ptr/4.cc: Add -std=c++98. 3475*f9a78e0eSmrg * testsuite/20_util/auto_ptr/5.cc: Add -std=c++98. 3476*f9a78e0eSmrg * testsuite/20_util/auto_ptr/6.cc: Add -std=c++98. 3477*f9a78e0eSmrg * testsuite/20_util/auto_ptr/7.cc: Add -std=c++98. 3478*f9a78e0eSmrg * testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98. 3479*f9a78e0eSmrg * testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98. 3480*f9a78e0eSmrg * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc: 3481*f9a78e0eSmrg Likewise. 3482*f9a78e0eSmrg * testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated. 3483*f9a78e0eSmrg * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: 3484*f9a78e0eSmrg Adjust expected errors. 3485*f9a78e0eSmrg * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc: 3486*f9a78e0eSmrg Likewise. 3487*f9a78e0eSmrg * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc: 3488*f9a78e0eSmrg Likewise. 3489*f9a78e0eSmrg * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: 3490*f9a78e0eSmrg Likewise. 3491*f9a78e0eSmrg * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: 3492*f9a78e0eSmrg Likewise. 3493*f9a78e0eSmrg * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: 3494*f9a78e0eSmrg Likewise. 3495*f9a78e0eSmrg * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc: 3496*f9a78e0eSmrg Likewise. 3497*f9a78e0eSmrg * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: 3498*f9a78e0eSmrg Likewise. 3499*f9a78e0eSmrg * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: 3500*f9a78e0eSmrg Likewise. 3501*f9a78e0eSmrg * testsuite/23_containers/vector/requirements/dr438 3502*f9a78e0eSmrg /constructor_1_neg.cc: Likewise. 3503*f9a78e0eSmrg * testsuite/23_containers/vector/requirements/dr438 3504*f9a78e0eSmrg /constructor_2_neg.cc: Likewise. 3505*f9a78e0eSmrg * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: 3506*f9a78e0eSmrg Likewise. 3507*f9a78e0eSmrg * testsuite/ext/array_allocator/1.cc: Add -Wno-deprecated. 3508*f9a78e0eSmrg * testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated. 3509*f9a78e0eSmrg * testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated. 3510*f9a78e0eSmrg * testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated. 3511*f9a78e0eSmrg * testsuite/ext/array_allocator/check_allocate_max_size.cc: 3512*f9a78e0eSmrg Add -Wno-deprecated. 3513*f9a78e0eSmrg * testsuite/ext/array_allocator/check_deallocate_null.cc: 3514*f9a78e0eSmrg Add -Wno-deprecated. 3515*f9a78e0eSmrg * testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated. 3516*f9a78e0eSmrg * testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated. 3517*f9a78e0eSmrg * testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error. 3518*f9a78e0eSmrg * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc: 3519*f9a78e0eSmrg Add -std=c++98. 3520*f9a78e0eSmrg * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc: 3521*f9a78e0eSmrg Add -std=c++98. 3522*f9a78e0eSmrg * testsuite/tr1/2_general_utilities/shared_ptr/assign 3523*f9a78e0eSmrg /auto_ptr_rvalue_neg.cc: Add -std=c++98. 3524*f9a78e0eSmrg * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: 3525*f9a78e0eSmrg Add -std=c++98 -fno-show-column. 3526*f9a78e0eSmrg * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc: 3527*f9a78e0eSmrg Add -std=c++98. 3528*f9a78e0eSmrg * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc: 3529*f9a78e0eSmrg Add -std=c++98. 3530*f9a78e0eSmrg * testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98. 3531*f9a78e0eSmrg * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98. 3532*f9a78e0eSmrg 3533*f9a78e0eSmrg * src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98. 3534*f9a78e0eSmrg * src/c++98/Makefile.in: Regenerate. 3535*f9a78e0eSmrg * src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98. 3536*f9a78e0eSmrg * src/Makefile.in: Regenerate. 3537*f9a78e0eSmrg 3538*f9a78e0eSmrg2015-05-02 Jonathan Wakely <jwakely@redhat.com> 3539*f9a78e0eSmrg 3540*f9a78e0eSmrg PR libstdc++/51617 3541*f9a78e0eSmrg * include/std/future (async): Change default policy to launch::async. 3542*f9a78e0eSmrg 3543*f9a78e0eSmrg * include/experimental/any (any::_Storage): Fix alignment of buffer. 3544*f9a78e0eSmrg (any::_Internal): Check alignment of type. 3545*f9a78e0eSmrg * testsuite/experimental/any/cons/aligned.cc: New. 3546*f9a78e0eSmrg * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. 3547*f9a78e0eSmrg 3548*f9a78e0eSmrg * include/experimental/iterator (ostream_joiner): Simplify by using 3549*f9a78e0eSmrg the injected-class-name and the ostream_type typedef. 3550*f9a78e0eSmrg 3551*f9a78e0eSmrg * include/experimental/iterator: New. Define ostream_joiner. 3552*f9a78e0eSmrg * include/Makefile.am: Add new header. 3553*f9a78e0eSmrg * include/Makefile.in: Regenerate. 3554*f9a78e0eSmrg * testsuite/experimental/iterator/make_ostream_joiner.cc: New. 3555*f9a78e0eSmrg * testsuite/experimental/iterator/ostream_joiner.cc: New. 3556*f9a78e0eSmrg * testsuite/experimental/iterator/requirements.cc: New. 3557*f9a78e0eSmrg * doc/xml/manual/status_cxx2017.xml: Update status. 3558*f9a78e0eSmrg * doc/html/manual/status.html: Regenerate. 3559*f9a78e0eSmrg 3560*f9a78e0eSmrg * include/experimental/numeric: New. Define gcd and lcm. 3561*f9a78e0eSmrg * include/Makefile.am: Add new header. 3562*f9a78e0eSmrg * include/Makefile.in: Regenerate. 3563*f9a78e0eSmrg * testsuite/experimental/numeric/gcd.cc: New. 3564*f9a78e0eSmrg * testsuite/experimental/numeric/lcm.cc: New. 3565*f9a78e0eSmrg * doc/xml/manual/status_cxx2017.xml: Update status. 3566*f9a78e0eSmrg * doc/html/manual/status.html: Regenerate. 3567*f9a78e0eSmrg 3568*f9a78e0eSmrg2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net> 3569*f9a78e0eSmrg 3570*f9a78e0eSmrg Revert addition of feature macros from other headers per latest SD-6. 3571*f9a78e0eSmrg * include/experimental/deque: Remove feature-test macro. 3572*f9a78e0eSmrg * include/experimental/forward_list: Ditto. 3573*f9a78e0eSmrg * include/experimental/list: Ditto. 3574*f9a78e0eSmrg * include/experimental/map: Ditto. 3575*f9a78e0eSmrg * include/experimental/set: Ditto. 3576*f9a78e0eSmrg * include/experimental/string: Ditto. 3577*f9a78e0eSmrg * include/experimental/unordered_map: Ditto. 3578*f9a78e0eSmrg * include/experimental/unordered_set: Ditto. 3579*f9a78e0eSmrg 3580*f9a78e0eSmrg2015-05-02 Jonathan Wakely <jwakely@redhat.com> 3581*f9a78e0eSmrg 3582*f9a78e0eSmrg * include/experimental/any (any::_Storage): Make non-copyable. 3583*f9a78e0eSmrg (any::any): Do not copy _Storage object. 3584*f9a78e0eSmrg (any::operator=): Implement more efficiently than swapping. 3585*f9a78e0eSmrg (any::swap): Use new _Op_xfer operation. 3586*f9a78e0eSmrg (any::_Op::_Op_xfer): New enumerator. 3587*f9a78e0eSmrg (_Manager_internal::_S_alloc): Remove unused function. 3588*f9a78e0eSmrg (_Manager_internal::_S_create, _Manager_external::_S_create): Use out 3589*f9a78e0eSmrg parameter instead of returning a _Storage object. 3590*f9a78e0eSmrg (_Manager_internal::_S_manage, _Manager_external::_S_manage): Add 3591*f9a78e0eSmrg _Op_xfer operation for moving and swapping. 3592*f9a78e0eSmrg * testsuite/experimental/any/cons/nontrivial.cc: New. 3593*f9a78e0eSmrg * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. 3594*f9a78e0eSmrg 3595*f9a78e0eSmrg * include/experimental/fs_path.h (filesystem_error::~filesystem_error): 3596*f9a78e0eSmrg Declare. 3597*f9a78e0eSmrg * src/filesystem/path.cc (filesystem_error::~filesystem_error): 3598*f9a78e0eSmrg Define. 3599*f9a78e0eSmrg 3600*f9a78e0eSmrg PR libstdc++/65978 3601*f9a78e0eSmrg * include/std/tuple (forward_as_tuple, tie): Add constexpr. 3602*f9a78e0eSmrg * testsuite/20_util/tuple/creation_functions/constexpr.cc: Uncomment 3603*f9a78e0eSmrg and fix tests for forward_as_tuple and tie. 3604*f9a78e0eSmrg 3605*f9a78e0eSmrg * src/filesystem/ops.cc (last_write_time) [_GLIBCXX_USE_UTIMENSAT]: 3606*f9a78e0eSmrg Set timespec members explicitly instead of with a braced-init-list. 3607*f9a78e0eSmrg [_GLIBCXX_HAVE_UTIME_H]: Use lambda to handle st_atime being a macro. 3608*f9a78e0eSmrg 3609*f9a78e0eSmrg2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net> 3610*f9a78e0eSmrg 3611*f9a78e0eSmrg * include/experimental/deque: Add feature-test macro. 3612*f9a78e0eSmrg * include/experimental/forward_list: Ditto. 3613*f9a78e0eSmrg * include/experimental/list: Ditto. 3614*f9a78e0eSmrg * include/experimental/map: Ditto. 3615*f9a78e0eSmrg * include/experimental/set: Ditto. 3616*f9a78e0eSmrg * include/experimental/string: Ditto. 3617*f9a78e0eSmrg * include/experimental/unordered_map: Ditto. 3618*f9a78e0eSmrg * include/experimental/unordered_set: Ditto. 3619*f9a78e0eSmrg 3620*f9a78e0eSmrg2015-05-01 Jonathan Wakely <jwakely@redhat.com> 3621*f9a78e0eSmrg 3622*f9a78e0eSmrg * include/experimental/memory: Correct feature-test macro. 3623*f9a78e0eSmrg 3624*f9a78e0eSmrg * include/experimental/memory: Add feature-test macro. 3625*f9a78e0eSmrg * include/experimental/vector: Likewise. 3626*f9a78e0eSmrg * doc/xml/manual/status_cxx2017.xml: Update status. 3627*f9a78e0eSmrg * doc/html/manual/status.html: Regenerate. 3628*f9a78e0eSmrg 3629*f9a78e0eSmrg2015-05-01 Ville Voutilainen <ville.voutilainen@gmail.com> 3630*f9a78e0eSmrg 3631*f9a78e0eSmrg Implement observer_ptr. 3632*f9a78e0eSmrg * include/Makefile.am: Add new header. 3633*f9a78e0eSmrg * include/Makefile.in: Regenerate. 3634*f9a78e0eSmrg * include/experimental/memory: New. 3635*f9a78e0eSmrg * testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New. 3636*f9a78e0eSmrg * testsuite/experimental/memory/observer_ptr/cons/cons.cc: New. 3637*f9a78e0eSmrg * testsuite/experimental/memory/observer_ptr/hash/hash.cc: New. 3638*f9a78e0eSmrg * testsuite/experimental/memory/observer_ptr/make_observer.cc: New. 3639*f9a78e0eSmrg * testsuite/experimental/memory/observer_ptr/relops/relops.cc: New. 3640*f9a78e0eSmrg * testsuite/experimental/memory/observer_ptr/requirements.cc: New. 3641*f9a78e0eSmrg * testsuite/experimental/memory/observer_ptr/swap/swap.cc: New. 3642*f9a78e0eSmrg * testsuite/experimental/memory/observer_ptr/typedefs.cc: New. 3643*f9a78e0eSmrg 3644*f9a78e0eSmrg2015-05-01 Jonathan Wakely <jwakely@redhat.com> 3645*f9a78e0eSmrg 3646*f9a78e0eSmrg * src/filesystem/path.cc (path::compare): Do not copy strings. 3647*f9a78e0eSmrg 3648*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h> 3649*f9a78e0eSmrg is not available. 3650*f9a78e0eSmrg (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat. 3651*f9a78e0eSmrg * configure: Regenerate. 3652*f9a78e0eSmrg * config.h.in: Regenerate. 3653*f9a78e0eSmrg * configure.ac: Check for utime.h 3654*f9a78e0eSmrg * include/experimental/fs_path.h (path::string<>) 3655*f9a78e0eSmrg [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword. 3656*f9a78e0eSmrg * src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir, 3657*f9a78e0eSmrg closedir, dirent, readdir_r): Replace dummy functions with #error. 3658*f9a78e0eSmrg (native_readdir, _Dir::advance): Use readdir when readdir_r is missing. 3659*f9a78e0eSmrg * src/filesystem/ops.cc (do_stat, is_set): Make inline. 3660*f9a78e0eSmrg (last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime. 3661*f9a78e0eSmrg (permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod. 3662*f9a78e0eSmrg (space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set 3663*f9a78e0eSmrg error_code. 3664*f9a78e0eSmrg 3665*f9a78e0eSmrg * include/experimental/fs_path.h (path::_List): Use vector instead of 3666*f9a78e0eSmrg list. 3667*f9a78e0eSmrg * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt. 3668*f9a78e0eSmrg * src/filesystem/path.cc: Use std::prev instead of decrementing 3669*f9a78e0eSmrg rvalues. Fix whitespace. 3670*f9a78e0eSmrg * testsuite/experimental/filesystem/path/decompose/parent_path.cc: 3671*f9a78e0eSmrg Do not decrement iterators before begin. 3672*f9a78e0eSmrg 3673*f9a78e0eSmrg * include/experimental/fs_dir.h: Fix use of non-reserved names. 3674*f9a78e0eSmrg * include/experimental/fs_ops.h: Likewise. 3675*f9a78e0eSmrg * include/experimental/fs_path.h: Likewise. 3676*f9a78e0eSmrg * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use 3677*f9a78e0eSmrg C++11 when checking for support. 3678*f9a78e0eSmrg 3679*f9a78e0eSmrg * include/bits/locale_classes.h (locale::facet): Delete copy 3680*f9a78e0eSmrg operations in C++11 mode. 3681*f9a78e0eSmrg 3682*f9a78e0eSmrg * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name. 3683*f9a78e0eSmrg 3684*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris. 3685*f9a78e0eSmrg * configure: Regenerate. 3686*f9a78e0eSmrg 3687*f9a78e0eSmrg2015-05-01 Edward Smith-Rowland <3dw4rd@verizon.net> 3688*f9a78e0eSmrg 3689*f9a78e0eSmrg Inline one-line erasure dispatch functions. 3690*f9a78e0eSmrg * include/experimental/forward_list (erase_if(), erase()): Inline. 3691*f9a78e0eSmrg * include/experimental/list (erase_if(), erase()): Inline. 3692*f9a78e0eSmrg * include/experimental/map (erase_if(*)): Inline. 3693*f9a78e0eSmrg * include/experimental/set (erase_if(*)): Inline. 3694*f9a78e0eSmrg * include/experimental/string (erase_if(), erase()): Inline. 3695*f9a78e0eSmrg * include/experimental/unordered_map (erase_if(*)): Inline. 3696*f9a78e0eSmrg * include/experimental/unordered_set (erase_if(*)): Inline. 3697*f9a78e0eSmrg 3698*f9a78e0eSmrg2015-05-01 Jonathan Wakely <jwakely@redhat.com> 3699*f9a78e0eSmrg 3700*f9a78e0eSmrg * doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file. 3701*f9a78e0eSmrg * doc/xml/manual/status_cxx2011.xml: Update status tables. 3702*f9a78e0eSmrg * doc/xml/manual/status_cxx2014.xml: Likewise. 3703*f9a78e0eSmrg * doc/xml/manual/status_cxx2017.xml: New. 3704*f9a78e0eSmrg * doc/xml/manual/using.xml: Fix typo. 3705*f9a78e0eSmrg * doc/html/*: Regenerate. 3706*f9a78e0eSmrg 3707*f9a78e0eSmrg * include/std/memory (pointer_safety, declare_reachable, 3708*f9a78e0eSmrg undeclare_reachable, declare_no_pointers, undeclare_no_pointers, 3709*f9a78e0eSmrg get_pointer_safety): Define. 3710*f9a78e0eSmrg * testsuite/20_util/pointer_safety/1.cc: New. 3711*f9a78e0eSmrg 3712*f9a78e0eSmrg2015-04-30 Jonathan Wakely <jwakely@redhat.com> 3713*f9a78e0eSmrg 3714*f9a78e0eSmrg Implement N4100 File System TS 3715*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define. 3716*f9a78e0eSmrg (GLIBCXX_CHECK_FILESYSTEM_DEPS): Define. 3717*f9a78e0eSmrg * config.h.in: Regenerate. 3718*f9a78e0eSmrg * configure: Regenerate. 3719*f9a78e0eSmrg * configure.ac: Enable filesystem TS and check its dependencies. 3720*f9a78e0eSmrg * include/Makefile.am: Add new headers. 3721*f9a78e0eSmrg * include/Makefile.in: Regenerate. 3722*f9a78e0eSmrg * include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in, 3723*f9a78e0eSmrg __str_codecvt_out): Move code conversion logic from wstring_convert 3724*f9a78e0eSmrg into new global functions. 3725*f9a78e0eSmrg (wstring_convert::to_bytes, wstring_convert::from_bytes): Use new 3726*f9a78e0eSmrg functions. 3727*f9a78e0eSmrg (wstring_convert::_M_conv): Remove. 3728*f9a78e0eSmrg * include/bits/quoted_string.h (_Quoted_string): Split out of iomanip. 3729*f9a78e0eSmrg * include/experimental/filesystem: New. 3730*f9a78e0eSmrg * include/experimental/fs_dir.h: New. 3731*f9a78e0eSmrg * include/experimental/fs_fwd.h: New. 3732*f9a78e0eSmrg * include/experimental/fs_ops.h: New. 3733*f9a78e0eSmrg * include/experimental/fs_path.h: New. 3734*f9a78e0eSmrg * include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h. 3735*f9a78e0eSmrg * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add. 3736*f9a78e0eSmrg * src/Makefile.am (SUBDIRS): Add filesystem. 3737*f9a78e0eSmrg * src/Makefile.in: Regenerate. 3738*f9a78e0eSmrg * src/filesystem/Makefile.am: New. 3739*f9a78e0eSmrg * src/filesystem/Makefile.in: New. 3740*f9a78e0eSmrg * src/filesystem/dir.cc: New. 3741*f9a78e0eSmrg * src/filesystem/ops.cc: New. 3742*f9a78e0eSmrg * src/filesystem/path.cc: New. 3743*f9a78e0eSmrg * testsuite/experimental/filesystem/operations/absolute.cc: New. 3744*f9a78e0eSmrg * testsuite/experimental/filesystem/operations/copy.cc: New. 3745*f9a78e0eSmrg * testsuite/experimental/filesystem/operations/current_path.cc: New. 3746*f9a78e0eSmrg * testsuite/experimental/filesystem/path/append/path.cc: New. 3747*f9a78e0eSmrg * testsuite/experimental/filesystem/path/assign/assign.cc: New. 3748*f9a78e0eSmrg * testsuite/experimental/filesystem/path/assign/copy.cc: New. 3749*f9a78e0eSmrg * testsuite/experimental/filesystem/path/compare/compare.cc: New. 3750*f9a78e0eSmrg * testsuite/experimental/filesystem/path/compare/path.cc: New. 3751*f9a78e0eSmrg * testsuite/experimental/filesystem/path/compare/strings.cc: New. 3752*f9a78e0eSmrg * testsuite/experimental/filesystem/path/concat/path.cc: New. 3753*f9a78e0eSmrg * testsuite/experimental/filesystem/path/concat/strings.cc: New. 3754*f9a78e0eSmrg * testsuite/experimental/filesystem/path/construct/copy.cc: New. 3755*f9a78e0eSmrg * testsuite/experimental/filesystem/path/construct/default.cc: New. 3756*f9a78e0eSmrg * testsuite/experimental/filesystem/path/construct/locale.cc: New. 3757*f9a78e0eSmrg * testsuite/experimental/filesystem/path/construct/range.cc: New. 3758*f9a78e0eSmrg * testsuite/experimental/filesystem/path/decompose/extension.cc: New. 3759*f9a78e0eSmrg * testsuite/experimental/filesystem/path/decompose/filename.cc: New. 3760*f9a78e0eSmrg * testsuite/experimental/filesystem/path/decompose/parent_path.cc: 3761*f9a78e0eSmrg New. 3762*f9a78e0eSmrg * testsuite/experimental/filesystem/path/decompose/relative_path.cc: 3763*f9a78e0eSmrg New. 3764*f9a78e0eSmrg * testsuite/experimental/filesystem/path/decompose/root_directory.cc: 3765*f9a78e0eSmrg New. 3766*f9a78e0eSmrg * testsuite/experimental/filesystem/path/decompose/root_name.cc: 3767*f9a78e0eSmrg New. 3768*f9a78e0eSmrg * testsuite/experimental/filesystem/path/decompose/root_path.cc: 3769*f9a78e0eSmrg New. 3770*f9a78e0eSmrg * testsuite/experimental/filesystem/path/decompose/stem.cc: New. 3771*f9a78e0eSmrg * testsuite/experimental/filesystem/path/generic/generic_string.cc: 3772*f9a78e0eSmrg New. 3773*f9a78e0eSmrg * testsuite/experimental/filesystem/path/itr/traversal.cc: New. 3774*f9a78e0eSmrg * testsuite/experimental/filesystem/path/modifiers/clear.cc: New. 3775*f9a78e0eSmrg * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc: 3776*f9a78e0eSmrg New. 3777*f9a78e0eSmrg * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc: 3778*f9a78e0eSmrg New. 3779*f9a78e0eSmrg * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc: 3780*f9a78e0eSmrg New. 3781*f9a78e0eSmrg * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc: 3782*f9a78e0eSmrg New. 3783*f9a78e0eSmrg * testsuite/experimental/filesystem/path/modifiers/swap.cc: New. 3784*f9a78e0eSmrg * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New. 3785*f9a78e0eSmrg * testsuite/experimental/filesystem/path/query/empty.cc: New. 3786*f9a78e0eSmrg * testsuite/experimental/filesystem/path/query/has_extension.cc: New. 3787*f9a78e0eSmrg * testsuite/experimental/filesystem/path/query/has_filename.cc: New. 3788*f9a78e0eSmrg * testsuite/experimental/filesystem/path/query/has_parent_path.cc: 3789*f9a78e0eSmrg New. 3790*f9a78e0eSmrg * testsuite/experimental/filesystem/path/query/has_relative_path.cc: 3791*f9a78e0eSmrg New. 3792*f9a78e0eSmrg * testsuite/experimental/filesystem/path/query/has_root_directory.cc: 3793*f9a78e0eSmrg New. 3794*f9a78e0eSmrg * testsuite/experimental/filesystem/path/query/has_root_name.cc: 3795*f9a78e0eSmrg New. 3796*f9a78e0eSmrg * testsuite/experimental/filesystem/path/query/has_root_path.cc: 3797*f9a78e0eSmrg New. 3798*f9a78e0eSmrg * testsuite/experimental/filesystem/path/query/has_stem.cc: New. 3799*f9a78e0eSmrg * testsuite/experimental/filesystem/path/query/is_relative.cc: New. 3800*f9a78e0eSmrg * testsuite/util/testsuite_fs.h: New. 3801*f9a78e0eSmrg 3802*f9a78e0eSmrg2015-04-30 Edward Smith-Rowland <3dw4rd@verizon.net> 3803*f9a78e0eSmrg 3804*f9a78e0eSmrg Add fundamentals TR container erasure. 3805*f9a78e0eSmrg * include/Makefile.am: Add new headers. 3806*f9a78e0eSmrg * include/Makefile.in: Add new headers. 3807*f9a78e0eSmrg * include/experimental/array: New. 3808*f9a78e0eSmrg * include/experimental/deque: New. 3809*f9a78e0eSmrg * include/experimental/erase_if.tcc: New. 3810*f9a78e0eSmrg * include/experimental/forward_list: New. 3811*f9a78e0eSmrg * include/experimental/list: New. 3812*f9a78e0eSmrg * include/experimental/map: New. 3813*f9a78e0eSmrg * include/experimental/set: New. 3814*f9a78e0eSmrg * include/experimental/string: New. 3815*f9a78e0eSmrg * include/experimental/unordered_map: New. 3816*f9a78e0eSmrg * include/experimental/unordered_set: New. 3817*f9a78e0eSmrg * include/experimental/vector: New. 3818*f9a78e0eSmrg * testsuite/experimental/deque/erasure.cc: New. 3819*f9a78e0eSmrg * testsuite/experimental/forward_list/erasure.cc: New. 3820*f9a78e0eSmrg * testsuite/experimental/list/erasure.cc: New. 3821*f9a78e0eSmrg * testsuite/experimental/map/erasure.cc: New. 3822*f9a78e0eSmrg * testsuite/experimental/set/erasure.cc: New. 3823*f9a78e0eSmrg * testsuite/experimental/string/erasure.cc: New. 3824*f9a78e0eSmrg * testsuite/experimental/unordered_map/erasure.cc: New. 3825*f9a78e0eSmrg * testsuite/experimental/unordered_set/erasure.cc: New. 3826*f9a78e0eSmrg * testsuite/experimental/vector/erasure.cc: New. 3827*f9a78e0eSmrg 3828*f9a78e0eSmrg2015-04-30 François Dumont <fdumont@gcc.gnu.org> 3829*f9a78e0eSmrg 3830*f9a78e0eSmrg * include/bits/cpp_type_traits.h 3831*f9a78e0eSmrg (__gnu_cxx::__is_normal_iterator): Delete. 3832*f9a78e0eSmrg * include/bits/stl_algobase.h (std::__niter_base): Adapt. 3833*f9a78e0eSmrg * include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11. 3834*f9a78e0eSmrg (std::__niter_base): Overloads for std::reverse_iterator, 3835*f9a78e0eSmrg __gnu_cxx::__normal_iterator and std::move_iterator. 3836*f9a78e0eSmrg 3837*f9a78e0eSmrg2015-04-30 François Dumont <fdumont@gcc.gnu.org> 3838*f9a78e0eSmrg 3839*f9a78e0eSmrg * include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes): 3840*f9a78e0eSmrg Delete. 3841*f9a78e0eSmrg * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt): 3842*f9a78e0eSmrg Remove usage of latter and compute size of the prime numbers array 3843*f9a78e0eSmrg locally. 3844*f9a78e0eSmrg 3845*f9a78e0eSmrg2015-04-29 Doug Evans <dje@google.com> 3846*f9a78e0eSmrg 3847*f9a78e0eSmrg PR libstdc++/65839 3848*f9a78e0eSmrg * python/libstdcxx/v6/xmethods.py (get_bool_type): New function. 3849*f9a78e0eSmrg Replace all lookups of "bool" with this. 3850*f9a78e0eSmrg (get_std_size_type): New function. Replace all lookups of std::size_t 3851*f9a78e0eSmrg with this. 3852*f9a78e0eSmrg (*Worker): New method get_result_type. 3853*f9a78e0eSmrg (DequeWorkerBase.__init__): New arg val_type. All callers updated. 3854*f9a78e0eSmrg (ListWorkerBase.__init__): New arg val_type. All callers updated. 3855*f9a78e0eSmrg (UniquePtrGetWorker.__init__): New arg elem_type. All callers updated. 3856*f9a78e0eSmrg Delete setting of name, enabled. 3857*f9a78e0eSmrg (UniquePtrDerefWorker.__init__): New arg elem_type. All callers 3858*f9a78e0eSmrg updated. Delete setting of name. 3859*f9a78e0eSmrg (UniquePtrMethodsMatcher): Rewrite for consistency with all other 3860*f9a78e0eSmrg libstdc++ xmethod matchers. 3861*f9a78e0eSmrg * testsuite/libstdc++-xmethods/array.cc: Add whatis tests. 3862*f9a78e0eSmrg * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto. 3863*f9a78e0eSmrg * testsuite/libstdc++-xmethods/deque.cc: Ditto. 3864*f9a78e0eSmrg * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto. 3865*f9a78e0eSmrg * testsuite/libstdc++-xmethods/list.cc: Ditto. 3866*f9a78e0eSmrg * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto. 3867*f9a78e0eSmrg * testsuite/libstdc++-xmethods/vector.cc: Ditto. 3868*f9a78e0eSmrg 3869*f9a78e0eSmrg2015-04-29 Doug Evans <dje@google.com> 3870*f9a78e0eSmrg 3871*f9a78e0eSmrg Use consistent naming for value type attributes. 3872*f9a78e0eSmrg * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype 3873*f9a78e0eSmrg to _val_type. 3874*f9a78e0eSmrg (ArraySizeWorker, ArrayEmptyWorker): Ditto. 3875*f9a78e0eSmrg (ArrayFrontWorker, ArrayBackWorker): Ditto. 3876*f9a78e0eSmrg (ArrayAtWorker, ArraySubscriptWorker): Ditto. 3877*f9a78e0eSmrg (DequeWorkerBase): Rename elemtype to val_type. 3878*f9a78e0eSmrg (ForwardListWorkerBase): Rename _elem_type to _val_type. 3879*f9a78e0eSmrg (ForwardListFrontWorker): Ditto. And rename elem_address to 3880*f9a78e0eSmrg val_address. 3881*f9a78e0eSmrg (ForwardListMethodsMatcher): Rename elem_type to val_type. 3882*f9a78e0eSmrg (VectorWorkerBase): Rename _elemtype to _val_type. 3883*f9a78e0eSmrg 3884*f9a78e0eSmrg2015-04-29 Jonathan Wakely <jwakely@redhat.com> 3885*f9a78e0eSmrg 3886*f9a78e0eSmrg PR libstdc++/65760 3887*f9a78e0eSmrg * include/std/functional (__check_func_return_type): Use is_same to 3888*f9a78e0eSmrg avoid using _is_convertible on incomplete types. 3889*f9a78e0eSmrg * testsuite/20_util/function/65760.cc: New. 3890*f9a78e0eSmrg 3891*f9a78e0eSmrg PR libstdc++/64657 3892*f9a78e0eSmrg * include/bits/basic_string (basic_string::_S_copy_chars): Cast 3893*f9a78e0eSmrg expression to void. 3894*f9a78e0eSmrg * include/bits/locale_facets_nonio.tcc (money_get::_M_extract, 3895*f9a78e0eSmrg time_get::_M_extract_num, time_get::_M_extract_name, 3896*f9a78e0eSmrg time_get::_M_extract_wday_or_month): Likewise. 3897*f9a78e0eSmrg * include/bits/stl_algo.h (__includes, __replace_copy_if, 3898*f9a78e0eSmrg __is_sorted_until, __is_permutation, transform): Likewise. 3899*f9a78e0eSmrg * include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m, 3900*f9a78e0eSmrg __equal::equal, __lexicographical_compare_impl, equal): Likewise. 3901*f9a78e0eSmrg * include/bits/stl_numeric.h (inner_product): Likewise. 3902*f9a78e0eSmrg * include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise. 3903*f9a78e0eSmrg * testsuite/util/testsuite_iterators.h (output_iterator_wrapper, 3904*f9a78e0eSmrg input_iterator_wrapper): Declare unusable comma operator. 3905*f9a78e0eSmrg * testsuite/21_strings/basic_string/cons/char/64657.cc: New. 3906*f9a78e0eSmrg * testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc: 3907*f9a78e0eSmrg New. 3908*f9a78e0eSmrg 3909*f9a78e0eSmrg2015-04-28 Doug Evans <dje@google.com> 3910*f9a78e0eSmrg 3911*f9a78e0eSmrg * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI): 3912*f9a78e0eSmrg Define to zero. 3913*f9a78e0eSmrg 3914*f9a78e0eSmrg2015-04-28 Jonathan Wakely <jwakely@redhat.com> 3915*f9a78e0eSmrg 3916*f9a78e0eSmrg * include/bits/stl_algo.h (random_shuffle): Only define for hosted 3917*f9a78e0eSmrg implementations. 3918*f9a78e0eSmrg 3919*f9a78e0eSmrg2015-04-28 Jonathan Wakely <jwakely@redhat.com> 3920*f9a78e0eSmrg 3921*f9a78e0eSmrg * Makefile.am (SUBDIRS): Move python to hosted_source. 3922*f9a78e0eSmrg * Makefile.in: Regenerate. 3923*f9a78e0eSmrg * acinclude.m4 (glibcxx_SUBDIRS): Reorder. 3924*f9a78e0eSmrg * configure: Regenerate. 3925*f9a78e0eSmrg 3926*f9a78e0eSmrg2015-04-28 Marc Glisse <marc.glisse@inria.fr> 3927*f9a78e0eSmrg 3928*f9a78e0eSmrg PR libstdc++/65883 3929*f9a78e0eSmrg * include/std/limits (numeric_limits): Add missing unsigned. 3930*f9a78e0eSmrg 3931*f9a78e0eSmrg2015-04-28 Stephan Bergmann <sbergman@redhat.com> 3932*f9a78e0eSmrg 3933*f9a78e0eSmrg * include/debug/vector (_Safe_vector::operator=): Add missing returns. 3934*f9a78e0eSmrg 3935*f9a78e0eSmrg2015-04-28 Jonathan Wakely <jwakely@redhat.com> 3936*f9a78e0eSmrg 3937*f9a78e0eSmrg PR libstdc++/60333 3938*f9a78e0eSmrg * include/std/type_traits (__make_unsigned_selector<_Tp, false, true>): 3939*f9a78e0eSmrg Handle enumeration types larger than sizeof(long). 3940*f9a78e0eSmrg (__make_signed_selector<_Tp, false, true>): Find unsigned type then 3941*f9a78e0eSmrg make it signed. 3942*f9a78e0eSmrg * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error. 3943*f9a78e0eSmrg * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: 3944*f9a78e0eSmrg Likewise. 3945*f9a78e0eSmrg * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New. 3946*f9a78e0eSmrg * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust 3947*f9a78e0eSmrg dg-error. 3948*f9a78e0eSmrg * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New. 3949*f9a78e0eSmrg 3950*f9a78e0eSmrg PR libstdc++/61645 3951*f9a78e0eSmrg * include/bits/forward_list.h (forward_list::splice_after): Add 3952*f9a78e0eSmrg noexcept. 3953*f9a78e0eSmrg * include/bits/forward_list.tcc (forward_list::splice_after): 3954*f9a78e0eSmrg Likewise. 3955*f9a78e0eSmrg 3956*f9a78e0eSmrg PR libstdc++/65631 3957*f9a78e0eSmrg * include/bits/random.h (seed_seq) Define copy constructor and copy 3958*f9a78e0eSmrg assignment as deleted. 3959*f9a78e0eSmrg * testsuite/26_numerics/random/seed_seq/cons/65631.cc: New. 3960*f9a78e0eSmrg 3961*f9a78e0eSmrg * libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if. 3962*f9a78e0eSmrg * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: 3963*f9a78e0eSmrg Use -std=gnu++1z. Check feature-test macro. 3964*f9a78e0eSmrg 3965*f9a78e0eSmrg * include/std/type_traits (void_t): Add. 3966*f9a78e0eSmrg * testsuite/20_util/void_t/1.cc: New. 3967*f9a78e0eSmrg 3968*f9a78e0eSmrg2015-04-28 Tim Shen <timshen@google.com> 3969*f9a78e0eSmrg 3970*f9a78e0eSmrg * include/bits/regex.tcc: Handle regex_constants::__polynomial. 3971*f9a78e0eSmrg * include/bits/regex_automaton.tcc: Throw exception when parsing 3972*f9a78e0eSmrg back-reference with flag __polynomial. 3973*f9a78e0eSmrg * include/bits/regex_constants.h: Add extension flag 3974*f9a78e0eSmrg syntax_option_type __polynomial. 3975*f9a78e0eSmrg * bits/regex_executor.tcc: Still let BFS process ECMAScript. 3976*f9a78e0eSmrg Alternative operation will be fixed in the coming refactoring. 3977*f9a78e0eSmrg * testsuite/28_regex/algorithms/regex_search/61424.cc: Turn 3978*f9a78e0eSmrg loose match_search_debug to use DFS only. 3979*f9a78e0eSmrg 3980*f9a78e0eSmrg2015-04-27 Sandra Loosemore <sandra@codesourcery.com> 3981*f9a78e0eSmrg 3982*f9a78e0eSmrg PR libstdc++/65909 3983*f9a78e0eSmrg * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): 3984*f9a78e0eSmrg Make the generated test program fail gracefully if the target 3985*f9a78e0eSmrg doesn't support passing command-line arguments. 3986*f9a78e0eSmrg 3987*f9a78e0eSmrg2015-04-27 Federico Lenarduzzi <federico.lenarduzzi@tallertechnologies.com> 3988*f9a78e0eSmrg Jonathan Wakely <jwakely@redhat.com> 3989*f9a78e0eSmrg 3990*f9a78e0eSmrg * libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions): 3991*f9a78e0eSmrg Return false or zero if the library is built without exceptions. 3992*f9a78e0eSmrg * libsupc++/eh_term_handler.cc: Disable verbose terminate handler if 3993*f9a78e0eSmrg the library is built without exceptions. 3994*f9a78e0eSmrg 3995*f9a78e0eSmrg2015-04-27 Ville Voutilainen <ville.voutilainen@gmail.com> 3996*f9a78e0eSmrg 3997*f9a78e0eSmrg * config/abi/pre/gnu.ver: Fix comment. 3998*f9a78e0eSmrg 3999*f9a78e0eSmrg Add support for std::uncaught_exceptions. 4000*f9a78e0eSmrg * acinclude.m4: Bump libtool_VERSION. 4001*f9a78e0eSmrg * config/abi/pre/gnu.ver: Export the new symbol. 4002*f9a78e0eSmrg * configure: Regenerate. 4003*f9a78e0eSmrg * libsupc++/eh_catch.cc (uncaught_exceptions): New. 4004*f9a78e0eSmrg * libsupc++/exception (uncaught_exceptions): New. 4005*f9a78e0eSmrg * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New. 4006*f9a78e0eSmrg * testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version. 4007*f9a78e0eSmrg 4008*f9a78e0eSmrg2015-04-27 Dmitry Prokoptsev <dprokoptsev@gmail.com> 4009*f9a78e0eSmrg Michael Hanselmann <public@hansmi.ch> 4010*f9a78e0eSmrg 4011*f9a78e0eSmrg PR libstdc++/62258 4012*f9a78e0eSmrg * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of 4013*f9a78e0eSmrg uncaught exceptions. 4014*f9a78e0eSmrg * testsuite/18_support/exception_ptr/62258.cc: New. 4015*f9a78e0eSmrg 4016*f9a78e0eSmrg2015-04-27 Jonathan Wakely <jwakely@redhat.com> 4017*f9a78e0eSmrg 4018*f9a78e0eSmrg * doc/xml/manual/extensions.xml: Add cross-reference. 4019*f9a78e0eSmrg * doc/html/manual/ext_compile_checks.html: Regenerate. 4020*f9a78e0eSmrg 4021*f9a78e0eSmrg2015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com> 4022*f9a78e0eSmrg 4023*f9a78e0eSmrg * config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define. 4024*f9a78e0eSmrg * configure.host (os_include_dir): Set to "os/generic" for linux-musl*. 4025*f9a78e0eSmrg 4026*f9a78e0eSmrg2015-04-22 Renlin Li <renlin.li@arm.com> 4027*f9a78e0eSmrg 4028*f9a78e0eSmrg * testsuite/lib/dg-options.exp (dg-require-thread-fence): New. 4029*f9a78e0eSmrg * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New. 4030*f9a78e0eSmrg * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it. 4031*f9a78e0eSmrg * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise. 4032*f9a78e0eSmrg * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise. 4033*f9a78e0eSmrg 4034*f9a78e0eSmrg2015-04-21 Jonathan Wakely <jwakely@redhat.com> 4035*f9a78e0eSmrg 4036*f9a78e0eSmrg * doc/xml/manual/configure.xml: Update descriptions of options 4037*f9a78e0eSmrg affecting dual ABI and add cross-references. 4038*f9a78e0eSmrg * doc/xml/manual/strings.xml: Clarify that string isn't COW now. 4039*f9a78e0eSmrg * doc/xml/manual/using.xml: Document ABI transition. 4040*f9a78e0eSmrg * doc/html/*: Regenerate. 4041*f9a78e0eSmrg 4042*f9a78e0eSmrg * doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library. 4043*f9a78e0eSmrg * doc/xml/manual/using.xml: Document newer -std options. Use better 4044*f9a78e0eSmrg examples of nested namespaces. 4045*f9a78e0eSmrg 4046*f9a78e0eSmrg2015-04-20 Jonathan Wakely <jwakely@redhat.com> 4047*f9a78e0eSmrg 4048*f9a78e0eSmrg * doc/xml/manual/concurrency_extensions.xml: Update documentation 4049*f9a78e0eSmrg on atomics. 4050*f9a78e0eSmrg * doc/xml/manual/using.xml: Likewise. Improve markup. 4051*f9a78e0eSmrg * doc/html/*: Regenerate. 4052*f9a78e0eSmrg 4053*f9a78e0eSmrg2015-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4054*f9a78e0eSmrg 4055*f9a78e0eSmrg * scripts/extract_symvers.pl: Ignore elfdump error output. 4056*f9a78e0eSmrg 4057*f9a78e0eSmrg2015-04-14 Marc Glisse <marc.glisse@inria.fr> 4058*f9a78e0eSmrg 4059*f9a78e0eSmrg PR libstdc++/61347 4060*f9a78e0eSmrg * include/bits/stl_iterator_base_funcs.h (_List_iterator, 4061*f9a78e0eSmrg _List_const_iterator): Declare. 4062*f9a78e0eSmrg (__distance): Declare new overloads for _List_iterator and 4063*f9a78e0eSmrg _List_const_iterator. 4064*f9a78e0eSmrg * include/bits/stl_list.h (__distance): New overloads for 4065*f9a78e0eSmrg _List_iterator and _List_const_iterator. 4066*f9a78e0eSmrg * testsuite/23_containers/list/61347.cc: New testcase. 4067*f9a78e0eSmrg 4068*f9a78e0eSmrg2015-04-14 Jonathan Wakely <jwakely@redhat.com> 4069*f9a78e0eSmrg 4070*f9a78e0eSmrg * doc/xml/manual/evolution.xml: Fix typos. 4071*f9a78e0eSmrg * doc/html/manual/api.html: Regenerate. 4072*f9a78e0eSmrg 4073*f9a78e0eSmrg2015-04-14 Hans-Peter Nilsson <hp@axis.com> 4074*f9a78e0eSmrg 4075*f9a78e0eSmrg * testsuite/29_atomics/atomic/62259.cc: Assert atomic 4076*f9a78e0eSmrg alignment is larger-equal, not equal, to default alignment. 4077*f9a78e0eSmrg 4078*f9a78e0eSmrg2015-04-13 Jonathan Wakely <jwakely@redhat.com> 4079*f9a78e0eSmrg 4080*f9a78e0eSmrg PR libstdc++/65754 4081*f9a78e0eSmrg * config/abi/pre/gnu.ver: Export base object constructors for 4082*f9a78e0eSmrg fstreams. 4083*f9a78e0eSmrg * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. 4084*f9a78e0eSmrg * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. 4085*f9a78e0eSmrg * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. 4086*f9a78e0eSmrg * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. 4087*f9a78e0eSmrg * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. 4088*f9a78e0eSmrg * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. 4089*f9a78e0eSmrg * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update 4090*f9a78e0eSmrg * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. 4091*f9a78e0eSmrg * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. 4092*f9a78e0eSmrg * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. 4093*f9a78e0eSmrg * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update. 4094*f9a78e0eSmrg * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. 4095*f9a78e0eSmrg * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. 4096*f9a78e0eSmrg * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. 4097*f9a78e0eSmrg * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. 4098*f9a78e0eSmrg * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. 4099*f9a78e0eSmrg * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update. 4100*f9a78e0eSmrg * testsuite/27_io/basic_fstream/cons/base.cc: New. 4101*f9a78e0eSmrg 4102*f9a78e0eSmrg2015-04-13 Jonathan Wakely <jwakely@redhat.com> 4103*f9a78e0eSmrg 4104*f9a78e0eSmrg * doc/xml/manual/evolution.xml: Document changes since 4.5 release. 4105*f9a78e0eSmrg * doc/html/*: Regenerate. 4106*f9a78e0eSmrg 4107*f9a78e0eSmrg2015-04-12 Uros Bizjak <ubizjak@gmail.com> 4108*f9a78e0eSmrg 4109*f9a78e0eSmrg * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. 4110*f9a78e0eSmrg 4111*f9a78e0eSmrg2015-04-10 Andreas Schwab <schwab@linux-m68k.org> 4112*f9a78e0eSmrg 4113*f9a78e0eSmrg * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. 4114*f9a78e0eSmrg 4115*f9a78e0eSmrg * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. 4116*f9a78e0eSmrg 4117*f9a78e0eSmrg2015-04-10 Jonathan Wakely <jwakely@redhat.com> 4118*f9a78e0eSmrg 4119*f9a78e0eSmrg * doc/xml/manual/test.xml: Improve documentation on running a subset 4120*f9a78e0eSmrg of tests. 4121*f9a78e0eSmrg * doc/html/manual/test.html: Regenerate. 4122*f9a78e0eSmrg 4123*f9a78e0eSmrg2015-04-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 4124*f9a78e0eSmrg 4125*f9a78e0eSmrg * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update 4126*f9a78e0eSmrg for GCC 5.1 release. 4127*f9a78e0eSmrg * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: 4128*f9a78e0eSmrg Likewise. 4129*f9a78e0eSmrg 4130*f9a78e0eSmrg2015-04-10 Jonathan Wakely <jwakely@redhat.com> 4131*f9a78e0eSmrg 4132*f9a78e0eSmrg * include/std/shared_mutex (shared_timed_mutex): Add comments to 4133*f9a78e0eSmrg explain the logic in the non-pthread_rwlock_t version. 4134*f9a78e0eSmrg (_Mutex): Remove redundant type. 4135*f9a78e0eSmrg (_M_n_readers): Rename to _S_max_readers. 4136*f9a78e0eSmrg (_M_write_entered, _M_readers): New convenience functions. 4137*f9a78e0eSmrg (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience 4138*f9a78e0eSmrg functions. Use predicates with condition variables. Simplify bitwise 4139*f9a78e0eSmrg operations. 4140*f9a78e0eSmrg (try_lock_for, try_shared_lock_for): Convert duration to time_point 4141*f9a78e0eSmrg and call try_lock_until or try_shared_lock_until respectively. 4142*f9a78e0eSmrg (try_lock_until, try_shared_lock_until): Wait on the condition 4143*f9a78e0eSmrg variables until the specified time passes. 4144*f9a78e0eSmrg (unlock): Add Debug Mode assertion. 4145*f9a78e0eSmrg (unlock_shared): Add Debug Mode assertion. 4146*f9a78e0eSmrg * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New. 4147*f9a78e0eSmrg 4148*f9a78e0eSmrg * include/std/shared_mutex (shared_timed_mutex): Only use 4149*f9a78e0eSmrg pthread_rwlock_t when the POSIX Timeouts option is supported. 4150*f9a78e0eSmrg * testsuite/30_threads/shared_lock/cons/5.cc: Remove 4151*f9a78e0eSmrg dg-require-gthreads-timed. 4152*f9a78e0eSmrg * testsuite/30_threads/shared_lock/cons/6.cc: Likewise. 4153*f9a78e0eSmrg * testsuite/30_threads/shared_lock/locking/3.cc: Likewise. 4154*f9a78e0eSmrg * testsuite/30_threads/shared_lock/locking/4.cc: Likewise. 4155*f9a78e0eSmrg 4156*f9a78e0eSmrg2015-04-09 H.J. Lu <hongjiu.lu@intel.com> 4157*f9a78e0eSmrg 4158*f9a78e0eSmrg * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update. 4159*f9a78e0eSmrg 4160*f9a78e0eSmrg2015-04-09 Jonathan Wakely <jwakely@redhat.com> 4161*f9a78e0eSmrg Richard Henderson <rth@redhat.com> 4162*f9a78e0eSmrg 4163*f9a78e0eSmrg PR libstdc++/65147 4164*f9a78e0eSmrg * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase 4165*f9a78e0eSmrg alignment. 4166*f9a78e0eSmrg * include/std/atomic (atomic): For types with a power of two size set 4167*f9a78e0eSmrg alignment to at least the size. 4168*f9a78e0eSmrg * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. 4169*f9a78e0eSmrg * testsuite/29_atomics/atomic/65147.cc: New. 4170*f9a78e0eSmrg * testsuite/29_atomics/atomic_integral/65147.cc: New. 4171*f9a78e0eSmrg 4172*f9a78e0eSmrg2015-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4173*f9a78e0eSmrg 4174*f9a78e0eSmrg * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. 4175*f9a78e0eSmrg * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. 4176*f9a78e0eSmrg * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. 4177*f9a78e0eSmrg 4178*f9a78e0eSmrg2015-04-07 Jakub Jelinek <jakub@redhat.com> 4179*f9a78e0eSmrg 4180*f9a78e0eSmrg * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. 4181*f9a78e0eSmrg * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. 4182*f9a78e0eSmrg * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. 4183*f9a78e0eSmrg * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. 4184*f9a78e0eSmrg * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. 4185*f9a78e0eSmrg * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. 4186*f9a78e0eSmrg * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update. 4187*f9a78e0eSmrg * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. 4188*f9a78e0eSmrg 4189*f9a78e0eSmrg2015-03-30 Jonathan Wakely <jwakely@redhat.com> 4190*f9a78e0eSmrg 4191*f9a78e0eSmrg PR libstdc++/65630 4192*f9a78e0eSmrg * config/abi/pre/gnu.ver: Export operator+ for new strings. 4193*f9a78e0eSmrg * testsuite/21_strings/basic_string/operators/char/65630.cc: New. 4194*f9a78e0eSmrg * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New. 4195*f9a78e0eSmrg 4196*f9a78e0eSmrg2015-03-28 Tim Shen <timshen@google.com> 4197*f9a78e0eSmrg 4198*f9a78e0eSmrg PR libstdc++/65420 4199*f9a78e0eSmrg * include/bits/regex_constants.h: Use constexpr variables for flags. 4200*f9a78e0eSmrg * testsuite/28_regex/constants/constexpr.cc: New testcase. 4201*f9a78e0eSmrg 4202*f9a78e0eSmrg2015-03-27 Jonathan Wakely <jwakely@redhat.com> 4203*f9a78e0eSmrg 4204*f9a78e0eSmrg PR libstdc++/65499 4205*f9a78e0eSmrg * include/std/chrono: Add using-directive for literals to std::chrono. 4206*f9a78e0eSmrg * testsuite/20_util/duration/literals/65499.cc: New. 4207*f9a78e0eSmrg 4208*f9a78e0eSmrg2015-03-26 Jonathan Wakely <jwakely@redhat.com> 4209*f9a78e0eSmrg 4210*f9a78e0eSmrg PR libstdc++/58038 4211*f9a78e0eSmrg PR libstdc++/60421 4212*f9a78e0eSmrg * include/std/thread (this_thread::sleep_for): Check for negative 4213*f9a78e0eSmrg durations. 4214*f9a78e0eSmrg (this_thread::sleep_until): Check for times in the past. 4215*f9a78e0eSmrg * testsuite/30_threads/this_thread/58038.cc: New. 4216*f9a78e0eSmrg * testsuite/30_threads/this_thread/60421.cc: New. 4217*f9a78e0eSmrg 4218*f9a78e0eSmrg2015-03-26 Jonathan Wakely <jwakely@redhat.com> 4219*f9a78e0eSmrg 4220*f9a78e0eSmrg PR libstdc++/62259 4221*f9a78e0eSmrg PR libstdc++/65147 4222*f9a78e0eSmrg * include/std/atomic (atomic<T>): Increase alignment for types with 4223*f9a78e0eSmrg the same size as one of the integral types. 4224*f9a78e0eSmrg * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. 4225*f9a78e0eSmrg * testsuite/29_atomics/atomic/62259.cc: New. 4226*f9a78e0eSmrg 4227*f9a78e0eSmrg2015-03-26 Richard Henderson <rth@redhat.com> 4228*f9a78e0eSmrg 4229*f9a78e0eSmrg PR libstdc++/65033 4230*f9a78e0eSmrg * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build 4231*f9a78e0eSmrg a fake pointer indicating type alignment. 4232*f9a78e0eSmrg (__atomic_base<T *>::is_lock_free): Likewise. 4233*f9a78e0eSmrg * include/std/atomic (atomic<T>::is_lock_free): Likewise. 4234*f9a78e0eSmrg 4235*f9a78e0eSmrg2015-03-25 Alan Lawrence <alan.lawrence@arm.com> 4236*f9a78e0eSmrg 4237*f9a78e0eSmrg PR libstdc++/33394 4238*f9a78e0eSmrg * testsuite/21_strings/basic_string/pthread33394.cc: Use 4239*f9a78e0eSmrg dg-additional-options. 4240*f9a78e0eSmrg 4241*f9a78e0eSmrg2015-03-25 Paolo Carlini <paolo.carlini@oracle.com> 4242*f9a78e0eSmrg 4243*f9a78e0eSmrg PR libstdc++/65543 4244*f9a78e0eSmrg * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert 4245*f9a78e0eSmrg thinko in r150387. 4246*f9a78e0eSmrg * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&): 4247*f9a78e0eSmrg Likewise. 4248*f9a78e0eSmrg * testsuite/27_io/rvalue_streams-2.cc: New. 4249*f9a78e0eSmrg 4250*f9a78e0eSmrg2015-03-24 Jonathan Wakely <jwakely@redhat.com> 4251*f9a78e0eSmrg 4252*f9a78e0eSmrg PR libstdc++/33394 4253*f9a78e0eSmrg * testsuite/21_strings/basic_string/pthread33394.cc: Add test. 4254*f9a78e0eSmrg 4255*f9a78e0eSmrg2015-03-23 Jonathan Wakely <jwakely@redhat.com> 4256*f9a78e0eSmrg 4257*f9a78e0eSmrg PR libstdc++/64967 4258*f9a78e0eSmrg * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use. 4259*f9a78e0eSmrg * configure: Regenerate. 4260*f9a78e0eSmrg * src/c++11/compatibility-c++0x.cc (error_category), generic_category, 4261*f9a78e0eSmrg system_category): Use macros for versioned namespace. 4262*f9a78e0eSmrg * src/c++11/futex.cc: Add missing end macro for versioned namespace. 4263*f9a78e0eSmrg 4264*f9a78e0eSmrg2015-03-20 James Greenhalgh <james.greenhalgh@arm.com> 4265*f9a78e0eSmrg 4266*f9a78e0eSmrg * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable 4267*f9a78e0eSmrg test for unused for ARM. 4268*f9a78e0eSmrg * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise. 4269*f9a78e0eSmrg * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise. 4270*f9a78e0eSmrg 4271*f9a78e0eSmrg2015-03-20 Jonathan Wakely <jwakely@redhat.com> 4272*f9a78e0eSmrg 4273*f9a78e0eSmrg * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace. 4274*f9a78e0eSmrg * include/ext/codecvt_specializations.h (encoding_state, 4275*f9a78e0eSmrg encoding_char_traits): Remove abi-tag and use inline namespace. 4276*f9a78e0eSmrg * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line. 4277*f9a78e0eSmrg 4278*f9a78e0eSmrg2015-03-19 Jason Merrill <jason@redhat.com> 4279*f9a78e0eSmrg 4280*f9a78e0eSmrg * config/locale/gnu/messages_members.cc: Revert abi-tag change. 4281*f9a78e0eSmrg * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change. 4282*f9a78e0eSmrg 4283*f9a78e0eSmrg2015-03-18 Jonathan Wakely <jwakely@redhat.com> 4284*f9a78e0eSmrg 4285*f9a78e0eSmrg PR c++/65046 4286*f9a78e0eSmrg * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs, 4287*f9a78e0eSmrg get_catalogs): Add abi-tag. 4288*f9a78e0eSmrg * include/ext/codecvt_specializations.h (encoding_state, 4289*f9a78e0eSmrg encoding_char_traits): Likewise. 4290*f9a78e0eSmrg * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise. 4291*f9a78e0eSmrg * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string, 4292*f9a78e0eSmrg numpunct_shim, collate_shim, time_get_shim, moneypunct_shim, 4293*f9a78e0eSmrg money_get_shim, money_put_shim, messages_shim): Likewise. 4294*f9a78e0eSmrg * src/c++11/future.cc (future_error_category::message): Likewise. 4295*f9a78e0eSmrg * src/c++11/system_error.cc (generic_error_category::message, 4296*f9a78e0eSmrg system_error_category::message): Likewise. 4297*f9a78e0eSmrg (__sso_string): Disable -Wabi-tag warnings. 4298*f9a78e0eSmrg 4299*f9a78e0eSmrg2015-03-18 Jonathan Wakely <jwakely@redhat.com> 4300*f9a78e0eSmrg 4301*f9a78e0eSmrg PR libstdc++/13631 4302*f9a78e0eSmrg * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback 4303*f9a78e0eSmrg implementation for old glibc. Fix whitespace. 4304*f9a78e0eSmrg 4305*f9a78e0eSmrg2015-03-18 Jonathan Wakely <jwakely@redhat.com> 4306*f9a78e0eSmrg Torvald Riegel <triegel@redhat.com> 4307*f9a78e0eSmrg 4308*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t. 4309*f9a78e0eSmrg * config.h.in: Regenerate. 4310*f9a78e0eSmrg * configure: Regenerate. 4311*f9a78e0eSmrg * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T. 4312*f9a78e0eSmrg (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER. 4313*f9a78e0eSmrg (shared_timed_mutex::lock_shared()): Retry on EAGAIN. 4314*f9a78e0eSmrg (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and 4315*f9a78e0eSmrg EDEADLK. 4316*f9a78e0eSmrg 4317*f9a78e0eSmrg2015-03-17 Jonathan Wakely <jwakely@redhat.com> 4318*f9a78e0eSmrg 4319*f9a78e0eSmrg * libsupc++/nested_exception.h: Do not try to derive from final 4320*f9a78e0eSmrg classes. 4321*f9a78e0eSmrg * testsuite/18_support/nested_exception/throw_with_nested.cc: Test 4322*f9a78e0eSmrg final class. 4323*f9a78e0eSmrg 4324*f9a78e0eSmrg * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of 4325*f9a78e0eSmrg unused exception variable. 4326*f9a78e0eSmrg * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise. 4327*f9a78e0eSmrg * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate 4328*f9a78e0eSmrg test. 4329*f9a78e0eSmrg * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise. 4330*f9a78e0eSmrg 4331*f9a78e0eSmrg2015-03-13 Jonathan Wakely <jwakely@redhat.com> 4332*f9a78e0eSmrg 4333*f9a78e0eSmrg * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly. 4334*f9a78e0eSmrg * configure: Regenerate. 4335*f9a78e0eSmrg 4336*f9a78e0eSmrg * include/experimental/system_error: Fix include guard. 4337*f9a78e0eSmrg 4338*f9a78e0eSmrg2015-03-12 Renlin Li <renlin.li@arm.com> 4339*f9a78e0eSmrg 4340*f9a78e0eSmrg * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for 4341*f9a78e0eSmrg wrapped target. 4342*f9a78e0eSmrg 4343*f9a78e0eSmrg2015-03-10 Tim Shen <timshen@google.com> 4344*f9a78e0eSmrg 4345*f9a78e0eSmrg PR libstdc++/64441 4346*f9a78e0eSmrg * include/bits/regex.h (match_results<>::size, 4347*f9a78e0eSmrg match_results<>::position, match_results<>::str, 4348*f9a78e0eSmrg match_results<>::operator[], match_results<>::prefix, 4349*f9a78e0eSmrg match_results<>::suffix, match_results<>::end, 4350*f9a78e0eSmrg match_results<>::_M_resize, match_results<>::_M_unmatched_sub, 4351*f9a78e0eSmrg match_results<>::_M_prefix, match_results<>::_M_suffix): Remove 4352*f9a78e0eSmrg global __unmatched_sub. Add unmatched submatch as part of 4353*f9a78e0eSmrg match_results. 4354*f9a78e0eSmrg * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>, 4355*f9a78e0eSmrg regex_iterator<>::operator++): Adjust to use match_results::_M_prefix. 4356*f9a78e0eSmrg * testsuite/28_regex/match_results/out_of_range_submatches.cc: 4357*f9a78e0eSmrg New testcases. 4358*f9a78e0eSmrg 4359*f9a78e0eSmrg2015-03-09 Jonathan Wakely <jwakely@redhat.com> 4360*f9a78e0eSmrg 4361*f9a78e0eSmrg PR libstdc++/64467 4362*f9a78e0eSmrg * testsuite/28_regex/traits/char/isctype.cc: Don't test newline 4363*f9a78e0eSmrg for newlib targets. Really fix mixed line-endings this time. 4364*f9a78e0eSmrg 4365*f9a78e0eSmrg2015-03-06 Jonathan Wakely <jwakely@redhat.com> 4366*f9a78e0eSmrg 4367*f9a78e0eSmrg * include/std/future (future_error(error_code)): Construct base 4368*f9a78e0eSmrg class with error_code's message. 4369*f9a78e0eSmrg * src/c++11/future.cc (future_error::what()): Do not call c_str() on 4370*f9a78e0eSmrg temporary string. 4371*f9a78e0eSmrg 4372*f9a78e0eSmrg2015-03-05 Jonathan Wakely <jwakely@redhat.com> 4373*f9a78e0eSmrg 4374*f9a78e0eSmrg * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle 4375*f9a78e0eSmrg noconv result. 4376*f9a78e0eSmrg * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8. 4377*f9a78e0eSmrg * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16. 4378*f9a78e0eSmrg 4379*f9a78e0eSmrg2015-03-04 Jonathan Wakely <jwakely@redhat.com> 4380*f9a78e0eSmrg 4381*f9a78e0eSmrg PR libstdc++/64797 4382*f9a78e0eSmrg * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle 4383*f9a78e0eSmrg incomplete multibyte sequences correctly. 4384*f9a78e0eSmrg * include/std/codecvt (codecvt_utf8, codecvt_utf16, 4385*f9a78e0eSmrg codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point. 4386*f9a78e0eSmrg * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character): 4387*f9a78e0eSmrg Define constants. 4388*f9a78e0eSmrg (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point): 4389*f9a78e0eSmrg Define convenience functions. 4390*f9a78e0eSmrg (read_utf8_code_point): Return relevant constant to distinguish 4391*f9a78e0eSmrg incomplete characters from invalid sequences. 4392*f9a78e0eSmrg (read_utf16_code_point): Likewise. Check for invalid sequences. 4393*f9a78e0eSmrg (ucs4_in, utf16_in): Use incomplete_mb_character constant. 4394*f9a78e0eSmrg (utf16_out): Check for invalid sequences. 4395*f9a78e0eSmrg (utf16_span): Fix condition. 4396*f9a78e0eSmrg (ucs2_out): Use is_high_surrogate. 4397*f9a78e0eSmrg (ucs2_in): Use incomplete_mb_character constant and fix condition. 4398*f9a78e0eSmrg * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace. 4399*f9a78e0eSmrg * testsuite/22_locale/conversions/buffer/1.cc: New. 4400*f9a78e0eSmrg * testsuite/22_locale/conversions/string/2.cc: Use char16_t and 4401*f9a78e0eSmrg char32_t instead of wchar_t. 4402*f9a78e0eSmrg * testsuite/22_locale/conversions/string/3.cc: New. 4403*f9a78e0eSmrg 4404*f9a78e0eSmrg2015-03-03 Iain Sandoe <iain@codesourcery.com> 4405*f9a78e0eSmrg 4406*f9a78e0eSmrg PR libstdc++/64883 4407*f9a78e0eSmrg * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check 4408*f9a78e0eSmrg visibility for Darwin. 4409*f9a78e0eSmrg * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and 4410*f9a78e0eSmrg also deprecated. 4411*f9a78e0eSmrg * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise. 4412*f9a78e0eSmrg 4413*f9a78e0eSmrg2015-03-02 Jonathan Wakely <jwakely@redhat.com> 4414*f9a78e0eSmrg 4415*f9a78e0eSmrg PR libstdc++/65279 4416*f9a78e0eSmrg * include/std/scoped_allocator (__inner_type_impl, 4417*f9a78e0eSmrg scoped_allocator_adaptor): Add defaulted copy assignment and move 4418*f9a78e0eSmrg assignment operators. 4419*f9a78e0eSmrg * testsuite/20_util/scoped_allocator/65279.cc: New. 4420*f9a78e0eSmrg 4421*f9a78e0eSmrg2015-03-02 Jonathan Wakely <jwakely@redhat.com> 4422*f9a78e0eSmrg 4423*f9a78e0eSmrg PR libstdc++/64367 4424*f9a78e0eSmrg * include/std/stdexcept (__sso_string): Don't use non-static member 4425*f9a78e0eSmrg in sizeof. 4426*f9a78e0eSmrg 4427*f9a78e0eSmrg2015-02-28 Matthias Klose <doko@ubuntu.com> 4428*f9a78e0eSmrg 4429*f9a78e0eSmrg PR libstdc++/65246 4430*f9a78e0eSmrg * python/libstdcxx/v6/__init__.py: Use explicit relative imports. 4431*f9a78e0eSmrg 4432*f9a78e0eSmrg2015-02-22 Jonathan Wakely <jwakely@redhat.com> 4433*f9a78e0eSmrg 4434*f9a78e0eSmrg * doc/xml/manual/status_cxx2011.xml: Remove duplicated information. 4435*f9a78e0eSmrg * doc/html/manual/status.html: Regenerate. 4436*f9a78e0eSmrg 4437*f9a78e0eSmrg2015-02-20 Jonathan Wakely <jwakely@redhat.com> 4438*f9a78e0eSmrg 4439*f9a78e0eSmrg PR libstdc++/64695 4440*f9a78e0eSmrg * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new 4441*f9a78e0eSmrg tuple layout. 4442*f9a78e0eSmrg 4443*f9a78e0eSmrg * doc/xml/manual/status_cxx2011.xml: Document implementation-defined 4444*f9a78e0eSmrg behavior. 4445*f9a78e0eSmrg * doc/html/manual/status.html: Regenerate. 4446*f9a78e0eSmrg 4447*f9a78e0eSmrg2015-02-19 Jonathan Wakely <jwakely@redhat.com> 4448*f9a78e0eSmrg 4449*f9a78e0eSmrg PR libstdc++/58357 4450*f9a78e0eSmrg * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2. 4451*f9a78e0eSmrg * include/bits/stl_algo.h (__rotate, rotate): Likewise. 4452*f9a78e0eSmrg 4453*f9a78e0eSmrg2015-02-19 Hans-Peter Nilsson <hp@axis.com> 4454*f9a78e0eSmrg 4455*f9a78e0eSmrg PR testsuite/65093 4456*f9a78e0eSmrg * testsuite/26_numerics/random/binomial_distribution/operators/values.cc 4457*f9a78e0eSmrg (test01): Add explanatory comment. Keep only the bd1 sub-test and 4458*f9a78e0eSmrg split out bd2, bd3, bd4, and bd5 sub-tests into... 4459*f9a78e0eSmrg * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc, 4460*f9a78e0eSmrg testsuite/26_numerics/random/binomial_distribution/operators/values3.cc, 4461*f9a78e0eSmrg testsuite/26_numerics/random/binomial_distribution/operators/values4.cc, 4462*f9a78e0eSmrg testsuite/26_numerics/random/binomial_distribution/operators/values5.cc: 4463*f9a78e0eSmrg New separate files with the old parts. 4464*f9a78e0eSmrg 4465*f9a78e0eSmrg2015-02-18 Jonathan Wakely <jwakely@redhat.com> 4466*f9a78e0eSmrg 4467*f9a78e0eSmrg * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output 4468*f9a78e0eSmrg surrogate pairs. 4469*f9a78e0eSmrg (utf16_in): Pass mode argument to write_utf16_code_point. 4470*f9a78e0eSmrg (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to 4471*f9a78e0eSmrg native byte order. 4472*f9a78e0eSmrg * testsuite/22_locale/codecvt/char16_t.cc: New. 4473*f9a78e0eSmrg * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo. 4474*f9a78e0eSmrg 4475*f9a78e0eSmrg * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint. 4476*f9a78e0eSmrg * testsuite/22_locale/codecvt/char32_t.cc: Likewise. 4477*f9a78e0eSmrg 4478*f9a78e0eSmrg2015-02-17 Rüdiger Sonderfeld <ruediger@c-plusplus.de> 4479*f9a78e0eSmrg Jonathan Wakely <jwakely@redhat.com> 4480*f9a78e0eSmrg 4481*f9a78e0eSmrg * testsuite/22_locale/codecvt/char32_t.cc: New. 4482*f9a78e0eSmrg 4483*f9a78e0eSmrg2015-02-17 Jonathan Wakely <jwakely@redhat.com> 4484*f9a78e0eSmrg 4485*f9a78e0eSmrg PR libstdc++/65085 4486*f9a78e0eSmrg * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure 4487*f9a78e0eSmrg empty string gets null-terminated. 4488*f9a78e0eSmrg * testsuite/21_strings/basic_string/cons/char/65085.cc: New. 4489*f9a78e0eSmrg 4490*f9a78e0eSmrg2015-02-13 Matthew Wahab <matthew.wahab@arm.com> 4491*f9a78e0eSmrg 4492*f9a78e0eSmrg * testsuite/28_regex/traits/char/isctype.cc (test01): Fix 4493*f9a78e0eSmrg mixed line-endings introduced in last change. 4494*f9a78e0eSmrg 4495*f9a78e0eSmrg2015-02-12 Matthew Wahab <matthew.wahab@arm.com> 4496*f9a78e0eSmrg 4497*f9a78e0eSmrg * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test 4498*f9a78e0eSmrg for __NEWLIB__ macro with a dejagnu set macro. 4499*f9a78e0eSmrg * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise. 4500*f9a78e0eSmrg 4501*f9a78e0eSmrg2015-02-04 Matthew Wahab <matthew.wahab@arm.com> 4502*f9a78e0eSmrg 4503*f9a78e0eSmrg PR libstdc++/64467 4504*f9a78e0eSmrg * testsuite/28_regex/traits/char/isctype.cc (test01): Add newlib 4505*f9a78e0eSmrg special case for '\n'. 4506*f9a78e0eSmrg * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise. 4507*f9a78e0eSmrg 4508*f9a78e0eSmrg2015-02-01 Jonathan Wakely <jwakely@redhat.com> 4509*f9a78e0eSmrg 4510*f9a78e0eSmrg * src/c++11/futex.cc: Do not define for gthr-single.h targets. 4511*f9a78e0eSmrg 4512*f9a78e0eSmrg2015-02-01 Jonathan Wakely <jwakely@redhat.com> 4513*f9a78e0eSmrg 4514*f9a78e0eSmrg PR libstdc++/64883 4515*f9a78e0eSmrg * include/c_global/cstdio (gets): Use __deprecated__ attribute instead 4516*f9a78e0eSmrg of deprecated. 4517*f9a78e0eSmrg * include/c_std/cstdio (gets): Likewise. 4518*f9a78e0eSmrg * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing 4519*f9a78e0eSmrg with attributes used in darwin headers. 4520*f9a78e0eSmrg 4521*f9a78e0eSmrg2015-01-29 Jakub Jelinek <jakub@redhat.com> 4522*f9a78e0eSmrg 4523*f9a78e0eSmrg * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of 4524*f9a78e0eSmrg $vtv_cygmin = yes. Initialize vtv_cygmin=no unconditionally first. 4525*f9a78e0eSmrg * configure: Regenerated. 4526*f9a78e0eSmrg 4527*f9a78e0eSmrg2015-01-29 H.J. Lu <hongjiu.lu@intel.com> 4528*f9a78e0eSmrg 4529*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN 4530*f9a78e0eSmrg after vtv_cygmin is set. 4531*f9a78e0eSmrg * configure: Regenerated. 4532*f9a78e0eSmrg 4533*f9a78e0eSmrg2015-01-29 Matthias Klose <doko@ubuntu.com> 4534*f9a78e0eSmrg 4535*f9a78e0eSmrg * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN 4536*f9a78e0eSmrg unconditionally. 4537*f9a78e0eSmrg * configure: Regenerate. 4538*f9a78e0eSmrg 4539*f9a78e0eSmrg2015-01-29 Caroline Tice <cmtice@google.com> 4540*f9a78e0eSmrg 4541*f9a78e0eSmrg Committing VTV Cywin/Ming patch for Patrick Wollgast 4542*f9a78e0eSmrg * configure: Regenerate. 4543*f9a78e0eSmrg * libsupc++/Makefile.in: Regenerate. 4544*f9a78e0eSmrg * src/Makefile.in: Regenerate. 4545*f9a78e0eSmrg 4546*f9a78e0eSmrg2015-01-29 Jonathan Wakely <jwakely@redhat.com> 4547*f9a78e0eSmrg 4548*f9a78e0eSmrg * include/bits/atomic_base.h: Use __always_inline__ instead of 4549*f9a78e0eSmrg always_inline. 4550*f9a78e0eSmrg * include/bits/atomic_futex.h: Likewise. 4551*f9a78e0eSmrg * include/bits/c++config: Use __abi_tag__ instead of abi_tag. 4552*f9a78e0eSmrg * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use 4553*f9a78e0eSmrg __packed__ instead of packed. 4554*f9a78e0eSmrg * include/std/shared_mutex: Use __unused__ instead of unused. 4555*f9a78e0eSmrg * testsuite/17_intro/headers/c++1998/all_attributes.cc: New. 4556*f9a78e0eSmrg * testsuite/17_intro/headers/c++200x/all_attributes.cc: New. 4557*f9a78e0eSmrg * testsuite/17_intro/headers/c++2014/all_attributes.cc: New. 4558*f9a78e0eSmrg 4559*f9a78e0eSmrg2015-01-28 Caroline Tice <cmtice@google.com> 4560*f9a78e0eSmrg 4561*f9a78e0eSmrg Committing VTV Cywin/Ming patch for Patrick Wollgast 4562*f9a78e0eSmrg * acinclude.m4: Define VTV_CYGMIN. 4563*f9a78e0eSmrg * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES 4564*f9a78e0eSmrg and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set. 4565*f9a78e0eSmrg * libsupc++/vtv_stubs.cc: Add none weak declaration of every function 4566*f9a78e0eSmrg for Cygwin and MinGW. 4567*f9a78e0eSmrg * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if 4568*f9a78e0eSmrg VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS, 4569*f9a78e0eSmrg libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set. 4570*f9a78e0eSmrg 4571*f9a78e0eSmrg2015-01-28 Jonathan Wakely <jwakely@redhat.com> 4572*f9a78e0eSmrg 4573*f9a78e0eSmrg PR libstdc++/64828 4574*f9a78e0eSmrg * libsupc++/Makefile.am: Compile del_opvs.cc as C++14. 4575*f9a78e0eSmrg * libsupc++/Makefile.in: Regenerate. 4576*f9a78e0eSmrg * src/c++11/Makefile.in: Regenerate. 4577*f9a78e0eSmrg 4578*f9a78e0eSmrg2015-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 4579*f9a78e0eSmrg 4580*f9a78e0eSmrg * testsuite/lib/libstdc++.exp (v3_target_compile): Remove 4581*f9a78e0eSmrg check for unsupported. 4582*f9a78e0eSmrg (v3_target_compile_as_c): Likewise. 4583*f9a78e0eSmrg 4584*f9a78e0eSmrg2015-01-28 Richard Biener <rguenther@suse.de> 4585*f9a78e0eSmrg 4586*f9a78e0eSmrg PR libstdc++/64798 4587*f9a78e0eSmrg * libsupc++/eh_alloc.cc (struct allocated_entry): Align 4588*f9a78e0eSmrg data member. 4589*f9a78e0eSmrg (pool::allocate): Adjust allocation size and alignment to 4590*f9a78e0eSmrg that change. 4591*f9a78e0eSmrg (pool::free): Adjust pointer offsetting. 4592*f9a78e0eSmrg 4593*f9a78e0eSmrg2015-01-27 Jonathan Wakely <jwakely@redhat.com> 4594*f9a78e0eSmrg 4595*f9a78e0eSmrg PR libstdc++/64368 4596*f9a78e0eSmrg * include/std/shared_mutex (shared_timed_mutex::try_lock_for, 4597*f9a78e0eSmrg shared_timed_mutex::try_lock_until): Only define when POSIX thread 4598*f9a78e0eSmrg timeouts option is supported. 4599*f9a78e0eSmrg (shared_timed_mutex::try_shared_lock_for, 4600*f9a78e0eSmrg shared_timed_mutex::try_shared_lock_until): Likewise. 4601*f9a78e0eSmrg 4602*f9a78e0eSmrg2015-01-26 Jonathan Wakely <jwakely@redhat.com> 4603*f9a78e0eSmrg 4604*f9a78e0eSmrg PR libstdc++/64368 4605*f9a78e0eSmrg * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(), 4606*f9a78e0eSmrg numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping. 4607*f9a78e0eSmrg * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping 4608*f9a78e0eSmrg and use cache's _M_grouping field. 4609*f9a78e0eSmrg (__numpunct_fill_cache): Likewise. 4610*f9a78e0eSmrg (__moneypunct_fill_cache): Improve comments. 4611*f9a78e0eSmrg 4612*f9a78e0eSmrg2015-01-26 Jonathan Wakely <jwakely@redhat.com> 4613*f9a78e0eSmrg 4614*f9a78e0eSmrg * testsuite/23_containers/set/operations/2.cc: Add test for 4615*f9a78e0eSmrg non-transparent comparison function. 4616*f9a78e0eSmrg 4617*f9a78e0eSmrg2015-01-25 Oleg Endo <olegendo@gcc.gnu.org> 4618*f9a78e0eSmrg 4619*f9a78e0eSmrg PR target/29366 4620*f9a78e0eSmrg * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add): 4621*f9a78e0eSmrg Remove SH4A inline asm and lock based implementations and use the 4622*f9a78e0eSmrg defaults from ext/atomicity.h. 4623*f9a78e0eSmrg 4624*f9a78e0eSmrg2015-01-23 Jonathan Wakely <jwakely@redhat.com> 4625*f9a78e0eSmrg 4626*f9a78e0eSmrg * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match 4627*f9a78e0eSmrg new std::string constructors for byname facets. 4628*f9a78e0eSmrg 4629*f9a78e0eSmrg2015-01-22 Richard Biener <rguenther@suse.de> 4630*f9a78e0eSmrg 4631*f9a78e0eSmrg PR libstdc++/64535 4632*f9a78e0eSmrg * libsupc++/eh_alloc.cc: Include new. 4633*f9a78e0eSmrg (bitmask_type): Remove. 4634*f9a78e0eSmrg (one_buffer): Likewise. 4635*f9a78e0eSmrg (emergency_buffer): Likewise. 4636*f9a78e0eSmrg (emergency_used): Likewise. 4637*f9a78e0eSmrg (dependents_buffer): Likewise. 4638*f9a78e0eSmrg (dependents_used): Likewise. 4639*f9a78e0eSmrg (class pool): New custom fixed-size arena, variable size object 4640*f9a78e0eSmrg allocator. 4641*f9a78e0eSmrg (emergency_pool): New global. 4642*f9a78e0eSmrg (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool. 4643*f9a78e0eSmrg (__cxxabiv1::__cxa_free_exception): Likewise. 4644*f9a78e0eSmrg (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise. 4645*f9a78e0eSmrg (__cxxabiv1::__cxa_free_dependent_exception): Likewise. 4646*f9a78e0eSmrg 4647*f9a78e0eSmrg2015-01-22 Tim Shen <timshen@google.com> 4648*f9a78e0eSmrg 4649*f9a78e0eSmrg PR libstdc++/64680 4650*f9a78e0eSmrg * include/bits/regex.h (basic_regex<>::basic_regex, 4651*f9a78e0eSmrg basic_regex<>::operator=, basic_regex<>::imbue): Conform to the 4652*f9a78e0eSmrg standard interface. 4653*f9a78e0eSmrg * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase. 4654*f9a78e0eSmrg 4655*f9a78e0eSmrg2015-01-22 Tim Shen <timshen@google.com> 4656*f9a78e0eSmrg 4657*f9a78e0eSmrg PR libstdc++/64649 4658*f9a78e0eSmrg * include/bits/regex.tcc (regex_traits<>::lookup_collatename, 4659*f9a78e0eSmrg regex_traits<>::lookup_classname): Correctly narrow input chars. 4660*f9a78e0eSmrg * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase. 4661*f9a78e0eSmrg 4662*f9a78e0eSmrg2015-01-21 Jonathan Wakely <jwakely@redhat.com> 4663*f9a78e0eSmrg 4664*f9a78e0eSmrg * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters. 4665*f9a78e0eSmrg 4666*f9a78e0eSmrg2015-01-21 Jonathan Wakely <jwakely@redhat.com> 4667*f9a78e0eSmrg 4668*f9a78e0eSmrg * testsuite/29_atomics/atomic/64658.cc: Test stored value. 4669*f9a78e0eSmrg 4670*f9a78e0eSmrg2015-01-20 Jonathan Wakely <jwakely@redhat.com> 4671*f9a78e0eSmrg 4672*f9a78e0eSmrg * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags. 4673*f9a78e0eSmrg * doc/xml/manual/status_cxx2014.xml: Update status. 4674*f9a78e0eSmrg * doc/html/manual/status.html: Regenerate. 4675*f9a78e0eSmrg 4676*f9a78e0eSmrg2015-01-20 Jonathan Wakely <jwakely@redhat.com> 4677*f9a78e0eSmrg 4678*f9a78e0eSmrg PR libstdc++/64650 4679*f9a78e0eSmrg * include/experimental/optional (bad_optional_access): Add default 4680*f9a78e0eSmrg constructor. 4681*f9a78e0eSmrg * testsuite/experimental/optional/requirements.cc: Test for default 4682*f9a78e0eSmrg constructor. 4683*f9a78e0eSmrg 4684*f9a78e0eSmrg2015-01-20 Jonathan Wakely <jwakely@redhat.com> 4685*f9a78e0eSmrg 4686*f9a78e0eSmrg * include/bits/stl_map.h (map::find<>, map::count<>, 4687*f9a78e0eSmrg map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New 4688*f9a78e0eSmrg member function templates to perform heterogeneous lookup. 4689*f9a78e0eSmrg * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>, 4690*f9a78e0eSmrg multimap::lower_bound<>, multimap::upper_bound<>, 4691*f9a78e0eSmrg multimap::equal_range<>): Likewise. 4692*f9a78e0eSmrg * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>, 4693*f9a78e0eSmrg multiset::lower_bound<>, multiset::upper_bound<>, 4694*f9a78e0eSmrg multiset::equal_range<>): Likewise. 4695*f9a78e0eSmrg * include/bits/stl_set.h (set::find<>, set::count<>, 4696*f9a78e0eSmrg set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise. 4697*f9a78e0eSmrg * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr, 4698*f9a78e0eSmrg _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr, 4699*f9a78e0eSmrg _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr, 4700*f9a78e0eSmrg _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise. 4701*f9a78e0eSmrg * testsuite/23_containers/map/operations/2.cc: New. 4702*f9a78e0eSmrg * testsuite/23_containers/multimap/operations/2.cc: New. 4703*f9a78e0eSmrg * testsuite/23_containers/multiset/operations/2.cc: New. 4704*f9a78e0eSmrg * testsuite/23_containers/set/operations/2.cc: New. 4705*f9a78e0eSmrg 4706*f9a78e0eSmrg2015-01-20 Jonathan Wakely <jwakely@redhat.com> 4707*f9a78e0eSmrg 4708*f9a78e0eSmrg * config/abi/pre/gnu.ver: Export new constructors. 4709*f9a78e0eSmrg * include/bits/codecvt.h (codecvt_byname): Add string constructor. 4710*f9a78e0eSmrg (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit 4711*f9a78e0eSmrg specializations and declare explicit instantiations. 4712*f9a78e0eSmrg * include/bits/locale_classes.h (locale, collate_byname): Add string 4713*f9a78e0eSmrg constructors. 4714*f9a78e0eSmrg * include/bits/locale_facets.h (ctype_byname, numpunct_byname): 4715*f9a78e0eSmrg Likewise. 4716*f9a78e0eSmrg * include/bits/locale_facets_nonio.h (time_get_byname, 4717*f9a78e0eSmrg time_put_byname, moneypunct_byname, messages_byname): Likewise. 4718*f9a78e0eSmrg * src/c++11/codecvt.cc (codecvt_byname<char16_t>, 4719*f9a78e0eSmrg codecvt_byname<char32_t>): Define explicit instantiations. 4720*f9a78e0eSmrg * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname): 4721*f9a78e0eSmrg Instantiate string constructors. 4722*f9a78e0eSmrg (ctype_byname): Define string constructor. 4723*f9a78e0eSmrg * testsuite/22_locale/codecvt_byname/1.cc: New. 4724*f9a78e0eSmrg * testsuite/22_locale/collate_byname/1.cc: New. 4725*f9a78e0eSmrg * testsuite/22_locale/ctype_byname/2.cc: New. 4726*f9a78e0eSmrg * testsuite/22_locale/messages_byname/1.cc: New. 4727*f9a78e0eSmrg * testsuite/22_locale/moneypunct_byname/1.cc: New. 4728*f9a78e0eSmrg * testsuite/22_locale/numpunct_byname/1.cc: New. 4729*f9a78e0eSmrg 4730*f9a78e0eSmrg2015-01-20 Jonathan Wakely <jwakely@redhat.com> 4731*f9a78e0eSmrg 4732*f9a78e0eSmrg PR libstdc++/64658 4733*f9a78e0eSmrg * include/std/atomic (atomic_init): Define. 4734*f9a78e0eSmrg * testsuite/29_atomics/atomic/64658.cc: New. 4735*f9a78e0eSmrg 4736*f9a78e0eSmrg2015-01-19 Tim Shen <timshen@google.com> 4737*f9a78e0eSmrg 4738*f9a78e0eSmrg PR libstdc++/64649 4739*f9a78e0eSmrg * include/bits/regex.tcc (regex_traits<>::lookup_collatename, 4740*f9a78e0eSmrg regex_traits<>::lookup_classname): Support forward iterators. 4741*f9a78e0eSmrg * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases. 4742*f9a78e0eSmrg * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase. 4743*f9a78e0eSmrg 4744*f9a78e0eSmrg2015-01-19 Tim Shen <timshen@google.com> 4745*f9a78e0eSmrg 4746*f9a78e0eSmrg PR libstdc++/64584 4747*f9a78e0eSmrg PR libstdc++/64585 4748*f9a78e0eSmrg * include/bits/regex.h (basic_regex<>::basic_regex, 4749*f9a78e0eSmrg basic_regex<>::assign, basic_regex<>::imbue, 4750*f9a78e0eSmrg basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after 4751*f9a78e0eSmrg imbuing basic_regex; Make assign() transactional against exception. 4752*f9a78e0eSmrg * include/bits/regex_compiler.h (__compile_nfa<>): Add back 4753*f9a78e0eSmrg __compile_nfa SFINAE. 4754*f9a78e0eSmrg * include/std/regex: Adjust include order to avoid __compile_nfa 4755*f9a78e0eSmrg forward declaration. 4756*f9a78e0eSmrg * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase. 4757*f9a78e0eSmrg * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase. 4758*f9a78e0eSmrg 4759*f9a78e0eSmrg2015-01-19 Ville Voutilainen <ville.voutilainen@gmail.com> 4760*f9a78e0eSmrg Jonathan Wakely <jwakely@redhat.com> 4761*f9a78e0eSmrg 4762*f9a78e0eSmrg * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR 4763*f9a78e0eSmrg on overloads for arrays. 4764*f9a78e0eSmrg (cbegin, cend, rbegin, rend, crbegin, crend): New. 4765*f9a78e0eSmrg * testsuite/24_iterators/range_access_cpp14.cc: New. 4766*f9a78e0eSmrg 4767*f9a78e0eSmrg2015-01-18 Jonathan Wakely <jwakely@redhat.com> 4768*f9a78e0eSmrg 4769*f9a78e0eSmrg PR libstdc++/64646 4770*f9a78e0eSmrg * include/bits/stl_algo.h (__is_permutation): Also test for reaching 4771*f9a78e0eSmrg end of the second range. 4772*f9a78e0eSmrg * testsuite/25_algorithms/is_permutation/64646.cc: New. 4773*f9a78e0eSmrg 4774*f9a78e0eSmrg2015-01-18 Jonathan Wakely <jwakely@redhat.com> 4775*f9a78e0eSmrg 4776*f9a78e0eSmrg * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof. 4777*f9a78e0eSmrg * doc/html/manual/status.html: Regenerate. 4778*f9a78e0eSmrg 4779*f9a78e0eSmrg2015-01-18 Jonathan Wakely <jwakely@redhat.com> 4780*f9a78e0eSmrg 4781*f9a78e0eSmrg * include/bits/atomic_futex.h: Use mutex and condition_variable when 4782*f9a78e0eSmrg atomic int is not lock-free. Make member variables private. 4783*f9a78e0eSmrg * src/c++11/futex.cc: Likewise. 4784*f9a78e0eSmrg 4785*f9a78e0eSmrg * src/c++11/futex.cc: Fix order of includes and preprocessor condition. 4786*f9a78e0eSmrg 4787*f9a78e0eSmrg2015-01-17 Jonathan Wakely <jwakely@redhat.com> 4788*f9a78e0eSmrg 4789*f9a78e0eSmrg PR libstdc++/64638 4790*f9a78e0eSmrg * include/bits/atomic_futex.h: Use appropriate config macros for 4791*f9a78e0eSmrg availability of std::mutex, std::condition and std::chrono. 4792*f9a78e0eSmrg 4793*f9a78e0eSmrg2015-01-17 Ville Voutilainen <ville.voutilainen@gmail.com> 4794*f9a78e0eSmrg Jonathan Wakely <jwakely@redhat.com> 4795*f9a78e0eSmrg 4796*f9a78e0eSmrg * doc/xml/manual/status_cxx2011.xml: Update C++11 status. 4797*f9a78e0eSmrg * doc/html/*: Regenerate. 4798*f9a78e0eSmrg 4799*f9a78e0eSmrg2015-01-17 Jonathan Wakely <jwakely@redhat.com> 4800*f9a78e0eSmrg 4801*f9a78e0eSmrg DR 488 4802*f9a78e0eSmrg PR libstdc++/58357 4803*f9a78e0eSmrg * include/bits/algorithmfwd.h (rotate): Return an iterator. 4804*f9a78e0eSmrg * include/bits/stl_algo.h (rotate, __rotate): Likewise. 4805*f9a78e0eSmrg * testsuite/25_algorithms/rotate/dr488.cc: New. 4806*f9a78e0eSmrg * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type. 4807*f9a78e0eSmrg * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/ 4808*f9a78e0eSmrg 2.cc: Likewise. 4809*f9a78e0eSmrg * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/ 4810*f9a78e0eSmrg pod.cc: Likewise. 4811*f9a78e0eSmrg 4812*f9a78e0eSmrg2015-01-17 Jonathan Wakely <jwakely@redhat.com> 4813*f9a78e0eSmrg 4814*f9a78e0eSmrg PR libstdc++/60940 4815*f9a78e0eSmrg * include/bits/atomic_base.h: Remove atomic integral typedefs as 4816*f9a78e0eSmrg synonyms for __atomic_base<int> etc. 4817*f9a78e0eSmrg * include/std/atomic: Make atomic_int a synonym for atomic<int> and 4818*f9a78e0eSmrg likewise for all atomic integral types. 4819*f9a78e0eSmrg * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New. 4820*f9a78e0eSmrg * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. 4821*f9a78e0eSmrg 4822*f9a78e0eSmrg2015-01-17 Jonathan Wakely <jwakely@redhat.com> 4823*f9a78e0eSmrg 4824*f9a78e0eSmrg PR libstdc++/56785 4825*f9a78e0eSmrg * include/std/tuple (_Tuple_impl): Remove zero-element specialization 4826*f9a78e0eSmrg and define one-element specialization. 4827*f9a78e0eSmrg * testsuite/20_util/tuple/56785.cc: New. 4828*f9a78e0eSmrg 4829*f9a78e0eSmrg2015-01-17 Jonathan Wakely <jwakely@redhat.com> 4830*f9a78e0eSmrg 4831*f9a78e0eSmrg * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: 4832*f9a78e0eSmrg Remove unused header. 4833*f9a78e0eSmrg * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: 4834*f9a78e0eSmrg Likewise. 4835*f9a78e0eSmrg * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc: 4836*f9a78e0eSmrg Likewise. 4837*f9a78e0eSmrg 4838*f9a78e0eSmrg2015-01-16 Jonathan Wakely <jwakely@redhat.com> 4839*f9a78e0eSmrg 4840*f9a78e0eSmrg * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New. 4841*f9a78e0eSmrg * include/std/locale: Include new header. 4842*f9a78e0eSmrg * include/Makefile.am: Add it. 4843*f9a78e0eSmrg * include/Makefile.in: Regenerate. 4844*f9a78e0eSmrg * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New. 4845*f9a78e0eSmrg * testsuite/22_locale/conversions/string/1.cc: New. 4846*f9a78e0eSmrg * testsuite/22_locale/conversions/string/2.cc: New. 4847*f9a78e0eSmrg * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New. 4848*f9a78e0eSmrg * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc: 4849*f9a78e0eSmrg New. 4850*f9a78e0eSmrg 4851*f9a78e0eSmrg2015-01-16 Jonathan Wakely <jwakely@redhat.com> 4852*f9a78e0eSmrg 4853*f9a78e0eSmrg * config/abi/pre/gnu.ver: Export new symbols. 4854*f9a78e0eSmrg * include/Makefile.am: Add codecvt. 4855*f9a78e0eSmrg * include/Makefile.in: Regenerate. 4856*f9a78e0eSmrg * include/std/codecvt: New header. 4857*f9a78e0eSmrg * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base, 4858*f9a78e0eSmrg __codecvt_utf8_utf16_base): Define specializations. 4859*f9a78e0eSmrg * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New. 4860*f9a78e0eSmrg * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New. 4861*f9a78e0eSmrg * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc: 4862*f9a78e0eSmrg New. 4863*f9a78e0eSmrg 4864*f9a78e0eSmrg2015-01-16 Torvald Riegel <triegel@redhat.com> 4865*f9a78e0eSmrg 4866*f9a78e0eSmrg * src/c++11/futex.cc: New file. 4867*f9a78e0eSmrg * include/bits/atomic_futex.h: New file. 4868*f9a78e0eSmrg * include/std/future (__future_base::_State_baseV2): Use 4869*f9a78e0eSmrg atomic_futex_unsigned instead of mutex+condvar. 4870*f9a78e0eSmrg * src/c++11/futex.cc: Likewise. 4871*f9a78e0eSmrg * include/Makefile.am: Add atomic_futex.h. 4872*f9a78e0eSmrg * include/Makefile.in: Likewise. 4873*f9a78e0eSmrg * src/c++11/Makefile.am: Add futex.cc. 4874*f9a78e0eSmrg * src/c++11/Makefile.in: Likewise. 4875*f9a78e0eSmrg 4876*f9a78e0eSmrg2015-01-16 Jonathan Wakely <jwakely@redhat.com> 4877*f9a78e0eSmrg 4878*f9a78e0eSmrg * acinclude.m4: Fix typo in comment. 4879*f9a78e0eSmrg * configure: Regenerate. 4880*f9a78e0eSmrg * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>, 4881*f9a78e0eSmrg codecvt<char16_t, char, mbstate_t>): Declare specializations. 4882*f9a78e0eSmrg * include/bits/locale_facets.h: Reserve space for new specializations. 4883*f9a78e0eSmrg * src/c++11/Makefile.am: Add codecvt.cc. 4884*f9a78e0eSmrg * src/c++11/Makefile.in: Regenerate. 4885*f9a78e0eSmrg * src/c++11/codecvt.cc: New. 4886*f9a78e0eSmrg * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc 4887*f9a78e0eSmrg with -std=gnu++11. 4888*f9a78e0eSmrg * src/c++98/Makefile.in: Regenerate. 4889*f9a78e0eSmrg * src/c++98/locale_init.cc: Initialize new codecvt specializations. 4890*f9a78e0eSmrg * src/c++98/localename.cc: Likewise. 4891*f9a78e0eSmrg * config/abi/pre/gnu.ver: Exports for new codecvt specializations. 4892*f9a78e0eSmrg * testsuite/22_locale/codecvt/utf8.cc: New. 4893*f9a78e0eSmrg * testsuite/22_locale/locale/cons/unicode.cc: Check that new 4894*f9a78e0eSmrg specializations are installed in locale objects. 4895*f9a78e0eSmrg 4896*f9a78e0eSmrg2015-01-16 Torvald Riegel <triegel@redhat.com> 4897*f9a78e0eSmrg 4898*f9a78e0eSmrg * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based 4899*f9a78e0eSmrg implementation. 4900*f9a78e0eSmrg 4901*f9a78e0eSmrg2015-01-13 Jonathan Wakely <jwakely@redhat.com> 4902*f9a78e0eSmrg 4903*f9a78e0eSmrg PR libstdc++/64571 4904*f9a78e0eSmrg * config/abi/pre/gnu.ver: Export fstream functions using new string. 4905*f9a78e0eSmrg 4906*f9a78e0eSmrg2015-01-12 Jonathan Wakely <jwakely@redhat.com> 4907*f9a78e0eSmrg 4908*f9a78e0eSmrg PR libstdc++/64560 4909*f9a78e0eSmrg * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check 4910*f9a78e0eSmrg for RTTI support. 4911*f9a78e0eSmrg 4912*f9a78e0eSmrg PR libstdc++/64553 4913*f9a78e0eSmrg * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support. 4914*f9a78e0eSmrg 4915*f9a78e0eSmrg2015-01-10 Thomas Schwinge <thomas@codesourcery.com> 4916*f9a78e0eSmrg 4917*f9a78e0eSmrg * doc/xml/manual/parallel_mode.xml: Update for libgomp being 4918*f9a78e0eSmrg renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and 4919*f9a78e0eSmrg Multi Processing Runtime Library". 4920*f9a78e0eSmrg 4921*f9a78e0eSmrg2015-01-09 Jonathan Wakely <jwakely@redhat.com> 4922*f9a78e0eSmrg 4923*f9a78e0eSmrg PR libstdc++/64476 4924*f9a78e0eSmrg * include/bits/stl_uninitialized.h (uninitialized_copy): Fix 4925*f9a78e0eSmrg is_assignable arguments. 4926*f9a78e0eSmrg * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc: 4927*f9a78e0eSmrg New. 4928*f9a78e0eSmrg 4929*f9a78e0eSmrg2015-01-09 Andreas Tobler <andreast@gcc.gnu.org> 4930*f9a78e0eSmrg 4931*f9a78e0eSmrg * libsupc++/unwind-cxx.h: Revert previous commit. 4932*f9a78e0eSmrg 4933*f9a78e0eSmrg2015-01-09 Andreas Tobler <andreast@gcc.gnu.org> 4934*f9a78e0eSmrg 4935*f9a78e0eSmrg * configure.host: Add arm*-*-freebsd* port_specific_symbol_files. 4936*f9a78e0eSmrg 4937*f9a78e0eSmrg2015-01-09 Tim Shen <timshen@google.com> 4938*f9a78e0eSmrg 4939*f9a78e0eSmrg PR libstdc++/64239 4940*f9a78e0eSmrg * include/bits/regex.h (match_results<>::swap): Use std::swap 4941*f9a78e0eSmrg instead of swap. 4942*f9a78e0eSmrg * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier): 4943*f9a78e0eSmrg Likewise. 4944*f9a78e0eSmrg * testsuite/28_regex/match_results/swap.cc: New testcase. 4945*f9a78e0eSmrg 4946*f9a78e0eSmrg2015-01-08 Jonathan Wakely <jwakely@redhat.com> 4947*f9a78e0eSmrg 4948*f9a78e0eSmrg PR libstdc++/60132 4949*f9a78e0eSmrg * include/std/type_traits (has_trivial_default_constructor, 4950*f9a78e0eSmrg has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated 4951*f9a78e0eSmrg attribute. 4952*f9a78e0eSmrg * testsuite/20_util/has_trivial_copy_assign/requirements/ 4953*f9a78e0eSmrg explicit_instantiation.cc: Use -Wno-deprecated. 4954*f9a78e0eSmrg * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc: 4955*f9a78e0eSmrg Likewise. 4956*f9a78e0eSmrg * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise. 4957*f9a78e0eSmrg * testsuite/20_util/has_trivial_copy_constructor/requirements/ 4958*f9a78e0eSmrg explicit_instantiation.cc: Likewise. 4959*f9a78e0eSmrg * testsuite/20_util/has_trivial_copy_constructor/requirements/ 4960*f9a78e0eSmrg typedefs.cc: Likewise. 4961*f9a78e0eSmrg * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. 4962*f9a78e0eSmrg * testsuite/20_util/has_trivial_default_constructor/requirements/ 4963*f9a78e0eSmrg explicit_instantiation.c: Likewise. 4964*f9a78e0eSmrg * testsuite/20_util/has_trivial_default_constructor/requirements/ 4965*f9a78e0eSmrg typedefs.cc: Likewise. 4966*f9a78e0eSmrg * testsuite/20_util/has_trivial_default_constructor/value.cc: 4967*f9a78e0eSmrg Likewise. 4968*f9a78e0eSmrg * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated 4969*f9a78e0eSmrg trait. 4970*f9a78e0eSmrg * testsuite/20_util/tuple/requirements/dr801.cc: Likewise. 4971*f9a78e0eSmrg * testsuite/util/testsuite_common_types.h: Likewise. 4972*f9a78e0eSmrg 4973*f9a78e0eSmrg2015-01-08 Jonathan Wakely <jwakely@redhat.com> 4974*f9a78e0eSmrg 4975*f9a78e0eSmrg * include/bits/hashtable_policy.h: Use __bool_constant. 4976*f9a78e0eSmrg 4977*f9a78e0eSmrg2015-01-07 Jonathan Wakely <jwakely@redhat.com> 4978*f9a78e0eSmrg 4979*f9a78e0eSmrg * libsupc++/Makefile.am: Compile del_ops.cc as C++14. 4980*f9a78e0eSmrg * libsupc++/Makefile.in: Regenerate. 4981*f9a78e0eSmrg 4982*f9a78e0eSmrg2015-01-06 Jonathan Wakely <jwakely@redhat.com> 4983*f9a78e0eSmrg 4984*f9a78e0eSmrg * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name(). 4985*f9a78e0eSmrg 4986*f9a78e0eSmrg2015-01-05 Jakub Jelinek <jakub@redhat.com> 4987*f9a78e0eSmrg 4988*f9a78e0eSmrg Update copyright years. 4989*f9a78e0eSmrg 4990*f9a78e0eSmrg2015-01-04 Jonathan Wakely <jwakely@redhat.com> 4991*f9a78e0eSmrg 4992*f9a78e0eSmrg PR libstdc++/64483 4993*f9a78e0eSmrg * testsuite/18_support/exception_ptr/64241.cc: Use 4994*f9a78e0eSmrg dg-require-atomic-builtins. 4995*f9a78e0eSmrg 4996*f9a78e0eSmrg2015-01-02 Jonathan Wakely <jwakely@redhat.com> 4997*f9a78e0eSmrg 4998*f9a78e0eSmrg * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright 4999*f9a78e0eSmrg date. 5000*f9a78e0eSmrg 5001*f9a78e0eSmrg2015-01-02 Tim Shen <timshen@google.com> 5002*f9a78e0eSmrg 5003*f9a78e0eSmrg PR libstdc++/64475 5004*f9a78e0eSmrg * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the 5005*f9a78e0eSmrg iterator, since the original one shouldn't be mutated. 5006*f9a78e0eSmrg 5007*f9a78e0eSmrg2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de> 5008*f9a78e0eSmrg 5009*f9a78e0eSmrg PR libstdc++/64422 5010*f9a78e0eSmrg * src/c++98/misc-inst.cc (string::erase): Add missing overloads. 5011*f9a78e0eSmrg (string::insert): Likewise. 5012*f9a78e0eSmrg (string::replace): Likewise. 5013*f9a78e0eSmrg (wstring::erase): Likewise. 5014*f9a78e0eSmrg (wstring::insert): Likewise. 5015*f9a78e0eSmrg (wstring::replace): Likewise. 5016*f9a78e0eSmrg * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase. 5017*f9a78e0eSmrg 5018*f9a78e0eSmrg2015-01-02 Jonathan Wakely <jwakely@redhat.com> 5019*f9a78e0eSmrg 5020*f9a78e0eSmrg PR libstdc++/64468 5021*f9a78e0eSmrg * doc/doxygen/user.cfg.in: Set correct TAB_SIZE. 5022*f9a78e0eSmrg 5023*f9a78e0eSmrg2015-01-02 Jonathan Wakely <jwakely@redhat.com> 5024*f9a78e0eSmrg 5025*f9a78e0eSmrg PR libstdc++/64438 5026*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc: 5027*f9a78e0eSmrg Revert removal of dg-require-string-conversions. 5028*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc: 5029*f9a78e0eSmrg Likewise. 5030*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc: 5031*f9a78e0eSmrg Likewise. 5032*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc: 5033*f9a78e0eSmrg Likewise. 5034*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc: 5035*f9a78e0eSmrg Likewise. 5036*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc: 5037*f9a78e0eSmrg Likewise. 5038*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc: 5039*f9a78e0eSmrg Likewise. 5040*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc: 5041*f9a78e0eSmrg Likewise. 5042*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/char/ 5043*f9a78e0eSmrg stoull.cc: Likewise. 5044*f9a78e0eSmrg * testsuite/21_strings/basic_string/numeric_conversions/char/ 5045*f9a78e0eSmrg to_string.cc: Likewise. 5046*f9a78e0eSmrg 5047*f9a78e0eSmrgCopyright (C) 2015 Free Software Foundation, Inc. 5048*f9a78e0eSmrg 5049*f9a78e0eSmrgCopying and distribution of this file, with or without modification, 5050*f9a78e0eSmrgare permitted in any medium without royalty provided the copyright 5051*f9a78e0eSmrgnotice and this notice are preserved. 5052