2016-10-18 Jonathan Wakely * include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)): Remove const from parameter. (operator<(const shared_ptr&, nullptr_t)): Use correct specialization of std::less. * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc: Test comparison with nullptr and actually call test functions. * include/bits/uses_allocator.h (__is_uses_allocator_constructible_v) (__is_nothrow_uses_allocator_constructible_v): Only define for C++14 and later. 2016-10-17 Paolo Carlini * testsuite/27_io/basic_filebuf/close/12790-1.cc: Remove 'test' variables. * testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Likewise. * testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Likewise. * testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise. * testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Likewise. * testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise. * testsuite/27_io/basic_filebuf/close/char/3.cc: Likewise. * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise. * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise. * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc: Likewise. * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc: Likewise. * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise. * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc: Likewise. * testsuite/27_io/basic_filebuf/cons/2020.cc: Likewise. * testsuite/27_io/basic_filebuf/cons/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/12206.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise. * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Likewise. * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/open/12790-1.cc: Likewise. * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise. * testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise. * testsuite/27_io/basic_filebuf/open/char/4.cc: Likewise. * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise. * testsuite/27_io/basic_filebuf/overflow/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Likewise. * testsuite/27_io/basic_filebuf/overflow/char/2.cc: Likewise. * testsuite/27_io/basic_filebuf/overflow/char/3599.cc: Likewise. * testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Likewise. * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Likewise. * testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Likewise. * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise. * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise. * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise. * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise. * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Likewise. * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise. * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise. * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise. * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise. * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise. * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise. * testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/45628-2.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc: Likewise. * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Likewise. * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Likewise. * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise. * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise. * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise. * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Likewise. * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise. * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise. * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise. * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise. * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise. * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise. * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Likewise. * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Likewise. * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise. * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Likewise. * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Likewise. * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise. * testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Likewise. * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise. * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise. * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise. * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise. * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise. * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise. * testsuite/27_io/basic_filebuf/sputc/char/59427.cc: Likewise. * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Likewise. * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise. * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise. * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise. * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Likewise. * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise. * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise. * testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise. * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Likewise. * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Likewise. * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise. * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise. * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise. * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise. * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise. * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise. * testsuite/27_io/basic_filebuf/sync/char/1057.cc: Likewise. * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/char/2.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/char/3.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/char/45841.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise. * testsuite/27_io/basic_fstream/cons/1.cc: Likewise. * testsuite/27_io/basic_fstream/rdbuf/char/2832.cc: Likewise. * testsuite/27_io/basic_ifstream/cons/2020.cc: Likewise. * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise. * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise. * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise. * testsuite/27_io/basic_ios/clear/char/1.cc: Likewise. * testsuite/27_io/basic_ios/cons/2020.cc: Likewise. * testsuite/27_io/basic_ios/cons/char/1.cc: Likewise. * testsuite/27_io/basic_ios/cons/char/2.cc: Likewise. * testsuite/27_io/basic_ios/cons/char/3.cc: Likewise. * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise. * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise. * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. * testsuite/27_io/basic_ios/imbue/14072.cc: Likewise. * testsuite/27_io/basic_ios/locales/char/1.cc: Likewise. * testsuite/27_io/basic_iostream/cons/2020.cc: Likewise. * testsuite/27_io/basic_istream/cons/3.cc: Likewise. * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Likewise. * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/ exceptions_failbit.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/char/ exceptions_failbit_throw.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/ wchar_t/9555-ia.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ dr696.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ exceptions_failbit.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ exceptions_failbit_throw.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/char/1.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/char/2.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/char/3.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/char/4.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/wchar_t/ 11095-i.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/wchar_t/ 9555-ic.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/char/2.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/char/26181.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/char/3.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/char/ error_failbit.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/char/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/char/ exceptions_failbit_throw.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/char/ exceptions_null.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/wchar_t/ error_failbit.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/wchar_t/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/wchar_t/ exceptions_failbit_throw.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/wchar_t/ exceptions_null.cc: Likewise. * testsuite/27_io/basic_istream/get/char/1.cc: Likewise. * testsuite/27_io/basic_istream/get/char/2.cc: Likewise. * testsuite/27_io/basic_istream/get/char/3.cc: Likewise. * testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise. * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise. * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise. * testsuite/27_io/basic_istream/getline/char/4.cc: Likewise. * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise. * testsuite/27_io/basic_istream/getline/char/6.cc: Likewise. * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_istream/getline/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise. * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Likewise. * testsuite/27_io/basic_istream/getline/wchar_t/6.cc: Likewise. * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise. * testsuite/27_io/basic_istream/ignore/char/2.cc: Likewise. * testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise. * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise. * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise. * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise. * testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise. * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise. * testsuite/27_io/basic_istream/peek/char/12296.cc: Likewise. * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise. * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise. * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise. * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise. * testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istream/read/char/1.cc: Likewise. * testsuite/27_io/basic_istream/read/char/2.cc: Likewise. * testsuite/27_io/basic_istream/read/char/3.cc: Likewise. * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_istream/readsome/char/6746-1.cc: Likewise. * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Likewise. * testsuite/27_io/basic_istream/readsome/char/8258.cc: Likewise. * testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise. * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise. * testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise. * testsuite/27_io/basic_istream/seekg/char/2.cc: Likewise. * testsuite/27_io/basic_istream/seekg/char/26211.cc: Likewise. * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise. * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise. * testsuite/27_io/basic_istream/seekg/char/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise. * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise. * testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise. * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise. * testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise. * testsuite/27_io/basic_istream/seekg/wchar_t/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise. * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise. * testsuite/27_io/basic_istream/sentry/char/1.cc: Likewise. * testsuite/27_io/basic_istream/sentry/char/2.cc: Likewise. * testsuite/27_io/basic_istream/sentry/char/3.cc: Likewise. * testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise. * testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise. * testsuite/27_io/basic_istream/tellg/char/2.cc: Likewise. * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise. * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise. * testsuite/27_io/basic_istream/tellg/char/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise. * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise. * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise. * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise. * testsuite/27_io/basic_istream/tellg/wchar_t/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise. * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise. * testsuite/27_io/basic_istream/ws/char/1.cc: Likewise. * testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istringstream/cons/2020.cc: Likewise. * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Likewise. * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: Likewise. * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise. * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ofstream/cons/2020.cc: Likewise. * testsuite/27_io/basic_ofstream/cons/char/1.cc: Likewise. * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise. * testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Likewise. * testsuite/27_io/basic_ostream/cons/2020.cc: Likewise. * testsuite/27_io/basic_ostream/cons/char/9827.cc: Likewise. * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: Likewise. * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/ends/char/2.cc: Likewise. * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise. * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise. * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise. * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/flush/wchar_t/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/ exceptions_failbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/ 9555-oa.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/ exceptions_failbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/char/2.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/char/3.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/char/4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/char/5.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/char/6.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/char/8.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ 11095-od.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ 11095-oe.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ 11095-of.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ 28277-1.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ 28277-2.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ 28277-3.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ 28277-4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ 9555-oc.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ error_failbit.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ exceptions_failbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ exceptions_null.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ 9318-out.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ 9424-out.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ 9555-oo.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ error_code.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ error_failbit.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ exceptions_failbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ exceptions_null.cc: Likewise. * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Likewise. * testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc: Likewise. * testsuite/27_io/basic_ostream/seekp/char/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc: Likewise. * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc: Likewise. * testsuite/27_io/basic_ostream/seekp/wchar_t/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/sentry/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise. * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise. * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise. * testsuite/27_io/basic_ostream/tellp/char/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_ostream/tellp/wchar_t/ exceptions_badbit_throw.cc: Likewise. * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise. * testsuite/27_io/basic_ostringstream/cons/char/3.cc: Likewise. * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: Likewise. * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise. * testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise. * testsuite/27_io/basic_ostringstream/str/char/2.cc: Likewise. * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_streambuf/cons/2020.cc: Likewise. * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise. * testsuite/27_io/basic_streambuf/cons/char/1.cc: Likewise. * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise. * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise. * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise. * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise. * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise. * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise. * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: Likewise. * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise. * testsuite/27_io/basic_streambuf/overflow/char/2.cc: Likewise. * testsuite/27_io/basic_streambuf/overflow/char/3599.cc: Likewise. * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc: Likewise. * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise. * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise. * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc: Likewise. * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise. * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise. * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise. * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise. * testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise. * testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise. * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise. * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/overflow/char/2.cc: Likewise. * testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: Likewise. * testsuite/27_io/basic_stringbuf/overflow/char/3599.cc: Likewise. * testsuite/27_io/basic_stringbuf/overflow/char/9988.cc: Likewise. * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Likewise. * testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc: Likewise. * testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc: Likewise. * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise. * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc: Likewise. * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc: Likewise. * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: Likewise. * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: Likewise. * testsuite/27_io/basic_stringbuf/seekoff/char/2.cc: Likewise. * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise. * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: Likewise. * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/seekpos/char/2.cc: Likewise. * testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: Likewise. * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Likewise. * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: Likewise. * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/setbuf/char/2.cc: Likewise. * testsuite/27_io/basic_stringbuf/setbuf/char/3.cc: Likewise. * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: Likewise. * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise. * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc: Likewise. * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc: Likewise. * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc: Likewise. * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc: Likewise. * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc: Likewise. * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc: Likewise. * testsuite/27_io/basic_stringbuf/str/char/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/str/char/2.cc: Likewise. * testsuite/27_io/basic_stringbuf/str/char/3.cc: Likewise. * testsuite/27_io/basic_stringbuf/str/char/3955.cc: Likewise. * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc: Likewise. * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_stringbuf/sync/char/1057.cc: Likewise. * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise. * testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise. * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Likewise. * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: Likewise. * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise. * testsuite/27_io/basic_stringstream/str/char/2.cc: Likewise. * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise. * testsuite/27_io/basic_stringstream/str/char/4.cc: Likewise. * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise. * testsuite/27_io/fpos/11450.cc: Likewise. * testsuite/27_io/fpos/14252.cc: Likewise. * testsuite/27_io/fpos/14320-1.cc: Likewise. * testsuite/27_io/fpos/14320-2.cc: Likewise. * testsuite/27_io/fpos/14320-3.cc: Likewise. * testsuite/27_io/fpos/14320-4.cc: Likewise. * testsuite/27_io/fpos/14320-5.cc: Likewise. * testsuite/27_io/fpos/14775.cc: Likewise. * testsuite/27_io/fpos/mbstate_t/1.cc: Likewise. * testsuite/27_io/fpos/mbstate_t/12065.cc: Likewise. * testsuite/27_io/fpos/mbstate_t/2.cc: Likewise. * testsuite/27_io/fpos/mbstate_t/3.cc: Likewise. * testsuite/27_io/ios_base/callbacks/1.cc: Likewise. * testsuite/27_io/ios_base/failure/what-1.cc: Likewise. * testsuite/27_io/ios_base/failure/what-2.cc: Likewise. * testsuite/27_io/ios_base/failure/what-3.cc: Likewise. * testsuite/27_io/ios_base/failure/what-big.cc: Likewise. * testsuite/27_io/ios_base/state/1.cc: Likewise. * testsuite/27_io/ios_base/storage/1.cc: Likewise. * testsuite/27_io/ios_base/storage/11584.cc: Likewise. * testsuite/27_io/ios_base/storage/2.cc: Likewise. * testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise. * testsuite/27_io/manipulators/adjustfield/char/1.cc: Likewise. * testsuite/27_io/manipulators/adjustfield/char/2.cc * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: Likewise. * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise. * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise. * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise. * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise. * testsuite/27_io/manipulators/extended/get_money/char/51288.cc: Likewise. * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc: Likewise. * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc: Likewise. * testsuite/27_io/manipulators/extended/get_time/char/1.cc * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise. * testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: Likewise. * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Likewise. * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise. * testsuite/27_io/manipulators/extended/put_money/char/51288.cc: Likewise. * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc: Likewise. * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc: Likewise. * testsuite/27_io/manipulators/extended/put_time/char/1.cc: Likewise. * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise. * testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: Likewise. * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Likewise. * testsuite/27_io/manipulators/standard/char/1.cc: Likewise. * testsuite/27_io/manipulators/standard/char/2.cc: Likewise. * testsuite/27_io/manipulators/standard/char/dr2344.cc: Likewise. * testsuite/27_io/manipulators/standard/char/quoted.cc: Likewise. * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise. * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise. * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: Likewise. * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Likewise. * testsuite/27_io/objects/char/1.cc: Likewise. * testsuite/27_io/objects/char/10.cc: Likewise. * testsuite/27_io/objects/char/3045.cc: Likewise. * testsuite/27_io/objects/char/41037.cc: Likewise. * testsuite/27_io/objects/char/5.cc: Likewise. * testsuite/27_io/objects/char/6.cc: Likewise. * testsuite/27_io/objects/char/6548_xin.cc: Likewise. * testsuite/27_io/objects/char/6648-1_xin.cc: Likewise. * testsuite/27_io/objects/char/6648-2_xin.cc: Likewise. * testsuite/27_io/objects/char/7744_xin.cc: Likewise. * testsuite/27_io/objects/char/8.cc: Likewise. * testsuite/27_io/objects/char/9.cc: Likewise. * testsuite/27_io/objects/char/9661-2_xin.cc: Likewise. * testsuite/27_io/objects/char/dr455.cc: Likewise. * testsuite/27_io/objects/wchar_t/1.cc: Likewise. * testsuite/27_io/objects/wchar_t/10.cc: Likewise. * testsuite/27_io/objects/wchar_t/11.cc: Likewise. * testsuite/27_io/objects/wchar_t/12.cc: Likewise. * testsuite/27_io/objects/wchar_t/13.cc: Likewise. * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise. * testsuite/27_io/objects/wchar_t/3045.cc: Likewise. * testsuite/27_io/objects/wchar_t/41037.cc: Likewise. * testsuite/27_io/objects/wchar_t/5.cc: Likewise. * testsuite/27_io/objects/wchar_t/6548_xin.cc: Likewise. * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: Likewise. * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: Likewise. * testsuite/27_io/objects/wchar_t/7744_xin.cc: Likewise. * testsuite/27_io/objects/wchar_t/8.cc: Likewise. * testsuite/27_io/objects/wchar_t/9520.cc: Likewise. * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: Likewise. * testsuite/27_io/objects/wchar_t/9662.cc: Likewise. * testsuite/27_io/objects/wchar_t/dr455.cc: Likewise. * testsuite/27_io/types/3.cc: Likewise. 2016-10-17 Jonathan Wakely PR libstdc++/77994 * include/bits/stl_algo.h (sample): Convert size argument to iterator difference type. * include/experimental/algorithm (experimental::sample): Likewise. * testsuite/25_algorithms/sample/2.cc: New test. 2016-10-17 Paolo Carlini * testsuite/unordered_map/insert/57619.C: Rename to 57619.cc. * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise. 2016-10-17 Paolo Carlini * testsuite/array/capacity/empty.cc: Remove 'test' variables. * testsuite/array/capacity/max_size.cc: Likewise. * testsuite/array/capacity/size.cc: Likewise. * testsuite/array/comparison_operators/equal.cc: Likewise. * testsuite/array/comparison_operators/greater.cc: Likewise. * testsuite/array/comparison_operators/greater_or_equal.cc: Likewise. * testsuite/array/comparison_operators/less.cc: Likewise. * testsuite/array/comparison_operators/less_or_equal.cc: Likewise. * testsuite/array/comparison_operators/not_equal.cc: Likewise. * testsuite/array/element_access/54388.cc: Likewise. * testsuite/array/element_access/at_out_of_range.cc: Likewise. * testsuite/array/element_access/back.cc: Likewise. * testsuite/array/element_access/data.cc: Likewise. * testsuite/array/element_access/front.cc: Likewise. * testsuite/array/iterators/end_is_one_past.cc: Likewise. * testsuite/array/requirements/contiguous.cc: Likewise. * testsuite/array/requirements/fill.cc: Likewise. * testsuite/array/requirements/member_swap.cc: Likewise. * testsuite/array/requirements/zero_sized_arrays.cc: Likewise. * testsuite/array/specialized_algorithms/swap.cc: Likewise. * testsuite/array/tuple_interface/tuple_element.cc: Likewise. * testsuite/array/tuple_interface/tuple_element_cpp14.cc: Likewise. * testsuite/array/tuple_interface/tuple_size.cc: Likewise. * testsuite/bitset/all/1.cc: Likewise. * testsuite/bitset/cons/1.cc: Likewise. * testsuite/bitset/cons/16020.cc: Likewise. * testsuite/bitset/cons/2.cc: Likewise. * testsuite/bitset/cons/3.cc: Likewise. * testsuite/bitset/cons/50268.cc: Likewise. * testsuite/bitset/cons/6282.cc: Likewise. * testsuite/bitset/cons/dr1325-2.cc: Likewise. * testsuite/bitset/cons/dr396.cc: Likewise. * testsuite/bitset/ext/15361.cc: Likewise. * testsuite/bitset/input/1.cc: Likewise. * testsuite/bitset/operations/1.cc: Likewise. * testsuite/bitset/operations/13838.cc: Likewise. * testsuite/bitset/operations/2.cc: Likewise. * testsuite/bitset/test/1.cc: Likewise. * testsuite/bitset/to_string/1.cc: Likewise. * testsuite/bitset/to_string/dr396.cc: Likewise. * testsuite/bitset/to_ullong/1.cc: Likewise. * testsuite/bitset/to_ulong/1.cc: Likewise. * testsuite/deque/allocator/copy.cc: Likewise. * testsuite/deque/allocator/copy_assign.cc: Likewise. * testsuite/deque/allocator/ext_ptr.cc: Likewise. * testsuite/deque/allocator/minimal.cc: Likewise. * testsuite/deque/allocator/move.cc: Likewise. * testsuite/deque/allocator/move_assign.cc: Likewise. * testsuite/deque/allocator/swap.cc: Likewise. * testsuite/deque/capacity/29134-2.cc: Likewise. * testsuite/deque/capacity/29134.cc: Likewise. * testsuite/deque/capacity/moveable.cc: Likewise. * testsuite/deque/capacity/resize_size.cc: Likewise. * testsuite/deque/capacity/shrink_to_fit.cc: Likewise. * testsuite/deque/cons/1.cc: Likewise. * testsuite/deque/cons/2.cc: Likewise. * testsuite/deque/cons/assign/1.cc: Likewise. * testsuite/deque/cons/cons_size.cc: Likewise. * testsuite/deque/cons/moveable.cc: Likewise. * testsuite/deque/modifiers/erase/1.cc: Likewise. * testsuite/deque/modifiers/erase/2.cc: Likewise. * testsuite/deque/modifiers/erase/3.cc: Likewise. * testsuite/deque/modifiers/erase/moveable.cc: Likewise. * testsuite/deque/modifiers/moveable.cc: Likewise. * testsuite/deque/modifiers/push_back/49836.cc: Likewise. * testsuite/deque/modifiers/push_front/49836.cc: Likewise. * testsuite/deque/modifiers/swap/1.cc: Likewise. * testsuite/deque/modifiers/swap/2.cc: Likewise. * testsuite/deque/modifiers/swap/3.cc: Likewise. * testsuite/deque/operators/1.cc: Likewise. * testsuite/deque/operators/2.cc: Likewise. * testsuite/forward_list/allocator/copy.cc: Likewise. * testsuite/forward_list/allocator/copy_assign.cc: Likewise. * testsuite/forward_list/allocator/ext_ptr.cc: Likewise. * testsuite/forward_list/allocator/minimal.cc: Likewise. * testsuite/forward_list/allocator/move.cc: Likewise. * testsuite/forward_list/allocator/move_assign.cc: Likewise. * testsuite/forward_list/allocator/swap.cc: Likewise. * testsuite/forward_list/capacity/1.cc: Likewise. * testsuite/forward_list/capacity/resize_size.cc: Likewise. * testsuite/forward_list/comparable.cc: Likewise. * testsuite/forward_list/cons/1.cc: Likewise. * testsuite/forward_list/cons/2.cc: Likewise. * testsuite/forward_list/cons/3.cc: Likewise. * testsuite/forward_list/cons/4.cc: Likewise. * testsuite/forward_list/cons/5.cc: Likewise. * testsuite/forward_list/cons/6.cc: Likewise. * testsuite/forward_list/cons/7.cc: Likewise. * testsuite/forward_list/cons/8.cc: Likewise. * testsuite/forward_list/cons/9.cc: Likewise. * testsuite/forward_list/cons/cons_size.cc: Likewise. * testsuite/forward_list/cons/moveable.cc: Likewise. * testsuite/forward_list/debug/clear.cc: Likewise. * testsuite/forward_list/debug/construct4_neg.cc: Likewise. * testsuite/forward_list/debug/erase_after1_neg.cc: Likewise. * testsuite/forward_list/debug/move_assign_neg.cc: Likewise. * testsuite/forward_list/debug/move_constructor.cc: Likewise. * testsuite/forward_list/debug/move_neg.cc: Likewise. * testsuite/forward_list/debug/splice_after.cc: Likewise. * testsuite/forward_list/debug/swap.cc: Likewise. * testsuite/forward_list/modifiers/1.cc: Likewise. * testsuite/forward_list/modifiers/2.cc: Likewise. * testsuite/forward_list/modifiers/3.cc: Likewise. * testsuite/forward_list/modifiers/4.cc: Likewise. * testsuite/forward_list/modifiers/5.cc: Likewise. * testsuite/forward_list/modifiers/6.cc: Likewise. * testsuite/forward_list/operations/1.cc: Likewise. * testsuite/forward_list/operations/2.cc: Likewise. * testsuite/forward_list/operations/3.cc: Likewise. * testsuite/forward_list/operations/4.cc: Likewise. * testsuite/forward_list/operations/5.cc: Likewise. * testsuite/forward_list/operations/6.cc: Likewise. * testsuite/forward_list/operations/7.cc: Likewise. * testsuite/forward_list/operations/remove_freed.cc: Likewise. * testsuite/list/61347.cc: Likewise. * testsuite/list/allocator/copy.cc: Likewise. * testsuite/list/allocator/copy_assign.cc: Likewise. * testsuite/list/allocator/minimal.cc: Likewise. * testsuite/list/allocator/move.cc: Likewise. * testsuite/list/allocator/move_assign.cc: Likewise. * testsuite/list/allocator/swap.cc: Likewise. * testsuite/list/capacity/1.h: Likewise. * testsuite/list/capacity/29134.cc: Likewise. * testsuite/list/capacity/resize_size.cc: Likewise. * testsuite/list/cons/1.h: Likewise. * testsuite/list/cons/2.h: Likewise. * testsuite/list/cons/3.h: Likewise. * testsuite/list/cons/4.h: Likewise. * testsuite/list/cons/5.h: Likewise. * testsuite/list/cons/6.h: Likewise. * testsuite/list/cons/7.h: Likewise. * testsuite/list/cons/8.h: Likewise. * testsuite/list/cons/9.h: Likewise. * testsuite/list/cons/cons_size.cc: Likewise. * testsuite/list/cons/moveable.h: Likewise. * testsuite/list/debug/invalidation/1.cc: Likewise. * testsuite/list/debug/invalidation/2.cc: Likewise. * testsuite/list/debug/invalidation/3.cc: Likewise. * testsuite/list/debug/invalidation/4.cc: Likewise. * testsuite/list/modifiers/1.h: Likewise. * testsuite/list/modifiers/2.h: Likewise. * testsuite/list/modifiers/3.h: Likewise. * testsuite/list/modifiers/insert/25288.h: Likewise. * testsuite/list/modifiers/swap/1.h: Likewise. * testsuite/list/modifiers/swap/2.h: Likewise. * testsuite/list/modifiers/swap/3.h: Likewise. * testsuite/list/operations/1.h: Likewise. * testsuite/list/operations/2.h: Likewise. * testsuite/list/operations/3.h: Likewise. * testsuite/list/operations/4.h: Likewise. * testsuite/list/operations/42352.cc: Likewise. * testsuite/map/allocator/copy.cc: Likewise. * testsuite/map/allocator/copy_assign.cc: Likewise. * testsuite/map/allocator/init-list.cc: Likewise. * testsuite/map/allocator/minimal.cc: Likewise. * testsuite/map/allocator/move.cc: Likewise. * testsuite/map/allocator/move_assign.cc: Likewise. * testsuite/map/allocator/swap.cc: Likewise. * testsuite/map/capacity/29134.cc: Likewise. * testsuite/map/cons/moveable.cc: Likewise. * testsuite/map/debug/construct5_neg.cc: Likewise. * testsuite/map/debug/move_assign_neg.cc: Likewise. * testsuite/map/debug/move_neg.cc: Likewise. * testsuite/map/element_access/1.cc: Likewise. * testsuite/map/element_access/2.cc: Likewise. * testsuite/map/element_access/39901.cc: Likewise. * testsuite/map/init-list.cc: Likewise. * testsuite/map/modifiers/dr130.cc: Likewise. * testsuite/map/modifiers/emplace/1.cc: Likewise. * testsuite/map/modifiers/extract.cc: Likewise. * testsuite/map/modifiers/insert/1.cc: Likewise. * testsuite/map/modifiers/insert/16813.cc: Likewise. * testsuite/map/modifiers/insert/2.cc: Likewise. * testsuite/map/modifiers/insert/3.cc: Likewise. * testsuite/map/modifiers/insert/4.cc: Likewise. * testsuite/map/modifiers/insert/5.cc: Likewise. * testsuite/map/modifiers/insert_or_assign/1.cc: Likewise. * testsuite/map/modifiers/merge.cc: Likewise. * testsuite/map/modifiers/swap/1.cc: Likewise. * testsuite/map/modifiers/swap/2.cc: Likewise. * testsuite/map/modifiers/swap/3.cc: Likewise. * testsuite/map/modifiers/try_emplace/1.cc: Likewise. * testsuite/map/operations/1.cc: Likewise. * testsuite/map/operations/count.cc: Likewise. * testsuite/map/operators/1_neg.cc: Likewise. * testsuite/map/operators/2.cc: Likewise. * testsuite/multimap/allocator/copy.cc: Likewise. * testsuite/multimap/allocator/copy_assign.cc: Likewise. * testsuite/multimap/allocator/init-list.cc: Likewise. * testsuite/multimap/allocator/minimal.cc: Likewise. * testsuite/multimap/allocator/move.cc: Likewise. * testsuite/multimap/allocator/move_assign.cc: Likewise. * testsuite/multimap/allocator/swap.cc: Likewise. * testsuite/multimap/capacity/29134.cc: Likewise. * testsuite/multimap/cons/moveable.cc: Likewise. * testsuite/multimap/debug/construct5_neg.cc: Likewise. * testsuite/multimap/debug/move_assign_neg.cc: Likewise. * testsuite/multimap/debug/move_neg.cc: Likewise. * testsuite/multimap/init-list.cc: Likewise. * testsuite/multimap/modifiers/dr130.cc: Likewise. * testsuite/multimap/modifiers/emplace/1.cc: Likewise. * testsuite/multimap/modifiers/extract.cc: Likewise. * testsuite/multimap/modifiers/insert/1.cc: Likewise. * testsuite/multimap/modifiers/insert/2.cc: Likewise. * testsuite/multimap/modifiers/insert/22102.cc: Likewise. * testsuite/multimap/modifiers/insert/3.cc: Likewise. * testsuite/multimap/modifiers/insert/4.cc: Likewise. * testsuite/multimap/modifiers/merge.cc: Likewise. * testsuite/multimap/modifiers/swap/1.cc: Likewise. * testsuite/multimap/modifiers/swap/2.cc: Likewise. * testsuite/multimap/modifiers/swap/3.cc: Likewise. * testsuite/multimap/operations/1.cc: Likewise. * testsuite/multimap/operations/count.cc: Likewise. * testsuite/multiset/allocator/copy.cc: Likewise. * testsuite/multiset/allocator/copy_assign.cc: Likewise. * testsuite/multiset/allocator/init-list.cc: Likewise. * testsuite/multiset/allocator/minimal.cc: Likewise. * testsuite/multiset/allocator/move.cc: Likewise. * testsuite/multiset/allocator/move_assign.cc: Likewise. * testsuite/multiset/allocator/swap.cc: Likewise. * testsuite/multiset/capacity/29134.cc: Likewise. * testsuite/multiset/cons/moveable.cc: Likewise. * testsuite/multiset/debug/construct5_neg.cc: Likewise. * testsuite/multiset/debug/invalidation/2.cc: Likewise. * testsuite/multiset/debug/move_assign_neg.cc: Likewise. * testsuite/multiset/debug/move_neg.cc: Likewise. * testsuite/multiset/init-list.cc: Likewise. * testsuite/multiset/modifiers/dr130.cc: Likewise. * testsuite/multiset/modifiers/emplace/1.cc: Likewise. * testsuite/multiset/modifiers/extract.cc: Likewise. * testsuite/multiset/modifiers/insert/1.cc: Likewise. * testsuite/multiset/modifiers/insert/2.cc: Likewise. * testsuite/multiset/modifiers/insert/22102.cc: Likewise. * testsuite/multiset/modifiers/insert/3.cc: Likewise. * testsuite/multiset/modifiers/insert/4.cc: Likewise. * testsuite/multiset/modifiers/merge.cc: Likewise. * testsuite/multiset/modifiers/swap/1.cc: Likewise. * testsuite/multiset/modifiers/swap/2.cc: Likewise. * testsuite/multiset/modifiers/swap/3.cc: Likewise. * testsuite/multiset/operations/1.cc: Likewise. * testsuite/multiset/operations/count.cc: Likewise. * testsuite/priority_queue/moveable.cc: Likewise. * testsuite/queue/moveable.cc: Likewise. * testsuite/set/allocator/copy.cc: Likewise. * testsuite/set/allocator/copy_assign.cc: Likewise. * testsuite/set/allocator/init-list.cc: Likewise. * testsuite/set/allocator/minimal.cc: Likewise. * testsuite/set/allocator/move.cc: Likewise. * testsuite/set/allocator/move_assign.cc: Likewise. * testsuite/set/allocator/swap.cc: Likewise. * testsuite/set/capacity/29134.cc: Likewise. * testsuite/set/cons/moveable.cc: Likewise. * testsuite/set/debug/construct5_neg.cc: Likewise. * testsuite/set/debug/invalidation/2.cc: Likewise. * testsuite/set/debug/move_assign_neg.cc: Likewise. * testsuite/set/debug/move_neg.cc: Likewise. * testsuite/set/init-list.cc: Likewise. * testsuite/set/modifiers/17948.cc: Likewise. * testsuite/set/modifiers/dr130.cc: Likewise. * testsuite/set/modifiers/emplace/1.cc: Likewise. * testsuite/set/modifiers/extract.cc: Likewise. * testsuite/set/modifiers/insert/1.cc: Likewise. * testsuite/set/modifiers/insert/2.cc: Likewise. * testsuite/set/modifiers/insert/3.cc: Likewise. * testsuite/set/modifiers/merge.cc: Likewise. * testsuite/set/modifiers/swap/1.cc: Likewise. * testsuite/set/modifiers/swap/2.cc: Likewise. * testsuite/set/modifiers/swap/3.cc: Likewise. * testsuite/set/operations/1.cc: Likewise. * testsuite/set/operations/count.cc: Likewise. * testsuite/set/operators/1_neg.cc: Likewise. * testsuite/unordered_map/allocator/copy.cc: Likewise. * testsuite/unordered_map/allocator/copy_assign.cc: Likewise. * testsuite/unordered_map/allocator/minimal.cc: Likewise. * testsuite/unordered_map/allocator/move.cc: Likewise. * testsuite/unordered_map/allocator/move_assign.cc: Likewise. * testsuite/unordered_map/allocator/swap.cc: Likewise. * testsuite/unordered_map/cons/moveable.cc: Likewise. * testsuite/unordered_map/debug/construct5_neg.cc: Likewise. * testsuite/unordered_map/debug/move_assign_neg.cc: Likewise. * testsuite/unordered_map/debug/move_neg.cc: Likewise. * testsuite/unordered_map/dr761.cc: Likewise. * testsuite/unordered_map/erase/1.cc: Likewise. * testsuite/unordered_map/erase/24061-map.cc: Likewise. * testsuite/unordered_map/erase/54276.cc: Likewise. * testsuite/unordered_map/hash_policy/dr1189.cc: Likewise. * testsuite/unordered_map/init-list.cc: Likewise. * testsuite/unordered_map/insert/24061-map.cc: Likewise. * testsuite/unordered_map/insert/57619.C: Likewise. * testsuite/unordered_map/insert/array_syntax.cc: Likewise. * testsuite/unordered_map/insert/array_syntax_move.cc: Likewise. * testsuite/unordered_map/insert/map_range.cc: Likewise. * testsuite/unordered_map/insert/map_single.cc: Likewise. * testsuite/unordered_map/insert/map_single_move-1.cc: Likewise. * testsuite/unordered_map/insert/map_single_move-2.cc: Likewise. * testsuite/unordered_map/modifiers/61667.cc: Likewise. * testsuite/unordered_map/modifiers/emplace.cc: Likewise. * testsuite/unordered_map/modifiers/extract.cc: Likewise. * testsuite/unordered_map/modifiers/insert_or_assign.cc: Likewise. * testsuite/unordered_map/modifiers/merge.cc: Likewise. * testsuite/unordered_map/modifiers/reserve.cc: Likewise. * testsuite/unordered_map/modifiers/try_emplace.cc: Likewise. * testsuite/unordered_map/operations/count.cc: Likewise. * testsuite/unordered_map/operators/1.cc: Likewise. * testsuite/unordered_map/operators/2.cc: Likewise. * testsuite/unordered_multimap/allocator/copy.cc: Likewise. * testsuite/unordered_multimap/allocator/copy_assign.cc: Likewise. * testsuite/unordered_multimap/allocator/minimal.cc: Likewise. * testsuite/unordered_multimap/allocator/move.cc: Likewise. * testsuite/unordered_multimap/allocator/move_assign.cc: Likewise. * testsuite/unordered_multimap/allocator/swap.cc: Likewise. * testsuite/unordered_multimap/cons/moveable.cc: Likewise. * testsuite/unordered_multimap/debug/construct5_neg.cc: Likewise. * testsuite/unordered_multimap/debug/move_assign_neg.cc: Likewise. * testsuite/unordered_multimap/debug/move_neg.cc: Likewise. * testsuite/unordered_multimap/erase/1.cc: Likewise. * testsuite/unordered_multimap/erase/2.cc: Likewise. * testsuite/unordered_multimap/erase/24061-multimap.cc: Likewise. * testsuite/unordered_multimap/erase/51845-multimap.cc: Likewise. * testsuite/unordered_multimap/erase/54276.cc: Likewise. * testsuite/unordered_multimap/hash_policy/dr1189.cc: Likewise. * testsuite/unordered_multimap/init-list.cc: Likewise. * testsuite/unordered_multimap/insert/24061-multimap.cc: Likewise. * testsuite/unordered_multimap/insert/51866.cc: Likewise. * testsuite/unordered_multimap/insert/52476.cc: Likewise. * testsuite/unordered_multimap/insert/53115.cc: Likewise. * testsuite/unordered_multimap/insert/57619.C: Likewise. * testsuite/unordered_multimap/insert/hint.cc: Likewise. * testsuite/unordered_multimap/insert/multimap_range.cc: Likewise. * testsuite/unordered_multimap/insert/multimap_single.cc: Likewise. * testsuite/unordered_multimap/insert/multimap_single_move-1.cc: Likewise. * testsuite/unordered_multimap/insert/multimap_single_move-2.cc: Likewise. * testsuite/unordered_multimap/modifiers/emplace.cc: Likewise. * testsuite/unordered_multimap/modifiers/extract.cc: Likewise. * testsuite/unordered_multimap/modifiers/merge.cc: Likewise. * testsuite/unordered_multimap/modifiers/reserve.cc: Likewise. * testsuite/unordered_multimap/operations/count.cc: Likewise. * testsuite/unordered_multimap/operators/1.cc: Likewise. * testsuite/unordered_multimap/operators/2.cc: Likewise. * testsuite/unordered_multiset/allocator/copy.cc: Likewise. * testsuite/unordered_multiset/allocator/copy_assign.cc: Likewise. * testsuite/unordered_multiset/allocator/minimal.cc: Likewise. * testsuite/unordered_multiset/allocator/move.cc: Likewise. * testsuite/unordered_multiset/allocator/move_assign.cc: Likewise. * testsuite/unordered_multiset/allocator/swap.cc: Likewise. * testsuite/unordered_multiset/cons/copy.cc: Likewise. * testsuite/unordered_multiset/cons/moveable.cc: Likewise. * testsuite/unordered_multiset/debug/construct5_neg.cc: Likewise. * testsuite/unordered_multiset/debug/move_assign_neg.cc: Likewise. * testsuite/unordered_multiset/debug/move_neg.cc: Likewise. * testsuite/unordered_multiset/erase/1.cc: Likewise. * testsuite/unordered_multiset/erase/2.cc: Likewise. * testsuite/unordered_multiset/erase/24061-multiset.cc: Likewise. * testsuite/unordered_multiset/hash_policy/dr1189.cc: Likewise. * testsuite/unordered_multiset/init-list.cc: Likewise. * testsuite/unordered_multiset/insert/24061-multiset.cc: Likewise. * testsuite/unordered_multiset/insert/51866.cc: Likewise. * testsuite/unordered_multiset/insert/52476.cc: Likewise. * testsuite/unordered_multiset/insert/53115.cc: Likewise. * testsuite/unordered_multiset/insert/hash_policy.cc: Likewise. * testsuite/unordered_multiset/insert/multiset_range.cc: Likewise. * testsuite/unordered_multiset/insert/multiset_single.cc: Likewise. * testsuite/unordered_multiset/insert/multiset_single_move.cc: Likewise. * testsuite/unordered_multiset/modifiers/emplace.cc: Likewise. * testsuite/unordered_multiset/modifiers/extract.cc: Likewise. * testsuite/unordered_multiset/modifiers/merge.cc: Likewise. * testsuite/unordered_multiset/modifiers/reserve.cc: Likewise. * testsuite/unordered_multiset/operations/count.cc: Likewise. * testsuite/unordered_multiset/operators/1.cc: Likewise. * testsuite/unordered_set/allocator/copy.cc: Likewise. * testsuite/unordered_set/allocator/copy_assign.cc: Likewise. * testsuite/unordered_set/allocator/ext_ptr.cc: Likewise. * testsuite/unordered_set/allocator/minimal.cc: Likewise. * testsuite/unordered_set/allocator/move.cc: Likewise. * testsuite/unordered_set/allocator/move_assign.cc: Likewise. * testsuite/unordered_set/allocator/swap.cc: Likewise. * testsuite/unordered_set/buckets/swap.cc: Likewise. * testsuite/unordered_set/cons/moveable.cc: Likewise. * testsuite/unordered_set/debug/construct5_neg.cc: Likewise. * testsuite/unordered_set/debug/debug_functions.cc: Likewise. * testsuite/unordered_set/debug/move_assign_neg.cc: Likewise. * testsuite/unordered_set/debug/move_neg.cc: Likewise. * testsuite/unordered_set/erase/1.cc: Likewise. * testsuite/unordered_set/erase/24061-set.cc: Likewise. * testsuite/unordered_set/hash_policy/26132.cc: Likewise. * testsuite/unordered_set/hash_policy/71181.cc: Likewise. * testsuite/unordered_set/hash_policy/dr1189.cc: Likewise. * testsuite/unordered_set/hash_policy/load_factor.cc: Likewise. * testsuite/unordered_set/hash_policy/power2_rehash.cc: Likewise. * testsuite/unordered_set/hash_policy/prime_rehash.cc: Likewise. * testsuite/unordered_set/hash_policy/rehash.cc: Likewise. * testsuite/unordered_set/init-list.cc: Likewise. * testsuite/unordered_set/insert/24061-set.cc: Likewise. * testsuite/unordered_set/insert/hash_policy.cc: Likewise. * testsuite/unordered_set/insert/move_range.cc: Likewise. * testsuite/unordered_set/insert/set_range.cc: Likewise. * testsuite/unordered_set/insert/set_single.cc: Likewise. * testsuite/unordered_set/insert/set_single_move.cc: Likewise. * testsuite/unordered_set/max_load_factor/robustness.cc: Likewise. * testsuite/unordered_set/modifiers/emplace.cc: Likewise. * testsuite/unordered_set/modifiers/extract.cc: Likewise. * testsuite/unordered_set/modifiers/merge.cc: Likewise. * testsuite/unordered_set/modifiers/reserve.cc: Likewise. * testsuite/unordered_set/modifiers/swap.cc: Likewise. * testsuite/unordered_set/operations/count.cc: Likewise. * testsuite/unordered_set/operators/1.cc: Likewise. * testsuite/vector/allocator/copy.cc: Likewise. * testsuite/vector/allocator/copy_assign.cc: Likewise. * testsuite/vector/allocator/ext_ptr.cc: Likewise. * testsuite/vector/allocator/minimal.cc: Likewise. * testsuite/vector/allocator/move.cc: Likewise. * testsuite/vector/allocator/move_assign.cc: Likewise. * testsuite/vector/allocator/swap.cc: Likewise. * testsuite/vector/bool/6886.cc: Likewise. * testsuite/vector/bool/72847.cc: Likewise. * testsuite/vector/bool/allocator/copy.cc: Likewise. * testsuite/vector/bool/allocator/copy_assign.cc: Likewise. * testsuite/vector/bool/allocator/ext_ptr.cc: Likewise. * testsuite/vector/bool/allocator/move.cc: Likewise. * testsuite/vector/bool/allocator/move_assign.cc: Likewise. * testsuite/vector/bool/allocator/swap.cc: Likewise. * testsuite/vector/bool/capacity/1.cc: Likewise. * testsuite/vector/bool/capacity/29134.cc: Likewise. * testsuite/vector/bool/capacity/shrink_to_fit.cc: Likewise. * testsuite/vector/bool/cons/1.cc: Likewise. * testsuite/vector/bool/cons/2.cc: Likewise. * testsuite/vector/bool/modifiers/erase/1.cc: Likewise. * testsuite/vector/bool/modifiers/insert/1.cc: Likewise. * testsuite/vector/bool/modifiers/insert/31370.cc: Likewise. * testsuite/vector/bool/modifiers/swap/1.cc: Likewise. * testsuite/vector/bool/modifiers/swap/2.cc: Likewise. * testsuite/vector/bool/swap.cc: Likewise. * testsuite/vector/capacity/1.cc: Likewise. * testsuite/vector/capacity/2.cc: Likewise. * testsuite/vector/capacity/29134-2.cc: Likewise. * testsuite/vector/capacity/29134.cc: Likewise. * testsuite/vector/capacity/44190.cc: Likewise. * testsuite/vector/capacity/8230.cc: Likewise. * testsuite/vector/capacity/reserve/moveable.cc: Likewise. * testsuite/vector/capacity/reserve/moveable2.cc: Likewise. * testsuite/vector/capacity/resize/1.cc: Likewise. * testsuite/vector/capacity/resize/moveable.cc: Likewise. * testsuite/vector/capacity/resize/moveable2.cc: Likewise. * testsuite/vector/capacity/resize/resize_size.cc: Likewise. * testsuite/vector/capacity/shrink_to_fit.cc: Likewise. * testsuite/vector/capacity/shrink_to_fit2.cc: Likewise. * testsuite/vector/cons/3.cc: Likewise. * testsuite/vector/cons/4.cc: Likewise. * testsuite/vector/cons/cons_size.cc: Likewise. * testsuite/vector/cons/moveable.cc: Likewise. * testsuite/vector/data_access/1.cc: Likewise. * testsuite/vector/debug/debug_functions.cc: Likewise. * testsuite/vector/debug/move_assign_neg.cc: Likewise. * testsuite/vector/debug/move_neg.cc: Likewise. * testsuite/vector/debug/multithreaded_swap.cc: Likewise. * testsuite/vector/element_access/1.cc: Likewise. * testsuite/vector/ext_pointer/citerators.cc: Likewise. * testsuite/vector/ext_pointer/data_access.cc: Likewise. * testsuite/vector/ext_pointer/modifiers/element.cc: Likewise. * testsuite/vector/ext_pointer/modifiers/erase.cc: Likewise. * testsuite/vector/ext_pointer/modifiers/insert.cc: Likewise. * testsuite/vector/ext_pointer/resize.cc: Likewise. * testsuite/vector/modifiers/1.cc: Likewise. * testsuite/vector/modifiers/2.cc: Likewise. * testsuite/vector/modifiers/emplace/self_emplace.cc: Likewise. * testsuite/vector/modifiers/erase/1.cc: Likewise. * testsuite/vector/modifiers/erase/moveable.cc: Likewise. * testsuite/vector/modifiers/insert/1.cc: Likewise. * testsuite/vector/modifiers/insert/self_insert.cc: Likewise. * testsuite/vector/modifiers/moveable.cc: Likewise. * testsuite/vector/modifiers/moveable2.cc: Likewise. * testsuite/vector/modifiers/push_back/49836.cc: Likewise. * testsuite/vector/modifiers/swap/1.cc: Likewise. * testsuite/vector/modifiers/swap/2.cc: Likewise. * testsuite/vector/modifiers/swap/3.cc: Likewise. * testsuite/vector/zero_sized_allocations.cc: Likewise. 2016-10-17 Jonathan Wakely PR libstdc++/77998 * include/std/future (__future_base::_Deferred_state) (__future_base::_Async_state_impl): Use decltype to deduce return type, instead of _Invoker::result_type. * include/std/thread (thread::_Invoker::operator()): Likewise. (thread::_Invoker::result_type): Remove. PR libstdc++/77987 * include/bits/unique_ptr.h (unique_ptr::reset(U)): Copy value to pointer of the correct type to swap, to support conversions allowed by LWG 2118 / N4089. * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for incompatible deleters from ... * testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here. * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for incompatible pointers to ... * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move destructor definition to base class. Test for invalid derived-to-base conversion. * doc/xml/manual/status_cxx2017.xml: Update status. * doc/html/*: Regenerate. * include/bits/deque.tcc (deque::emplace_front, deque::emplace_back): Return a reference in C++17 mode. * include/bits/forward_list.h (forward_list::emplace_front): Likewise. * include/bits/stl_bvector.h (vector::emplace_back): Likewise. * include/bits/stl_deque.h (deque::emplace_front, deque::emplace_back): Likewise. * include/bits/stl_list.h (list::emplace_front, list::emplace_back): Likewise. * include/bits/stl_queue.h (queue::emplace): Likewise. * include/bits/stl_stack.h (stack::emplace): Likewise. * include/bits/stl_vector.h (vector::emplace_back): Likewise. * include/bits/vector.tcc (vector::emplace_back): Likewise. * include/debug/deque (__gnu_debug::deque::emplace_front) (__gnu_debug::deque::emplace_back): Likewise. * include/debug/vector (__gnu_debug::vector::emplace_back): Likewise. * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc: New. * testsuite/23_containers/forward_list/modifiers/ emplace_cxx17_return.cc: New. * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: New. * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: New. * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: New. * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: New. * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc: New. 2016-10-16 Paolo Carlini * testsuite/22_locale/classification/isblank.cc: Remove 'test' variables. * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise. * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Likewise. * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise. * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise. * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise. * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Likewise. * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise. * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Likewise. * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise. * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise. * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise. * testsuite/22_locale/codecvt/in/char/1.cc: Likewise. * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Likewise. * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise. * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise. * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise. * testsuite/22_locale/codecvt/in/wchar_t/5.cc: Likewise. * testsuite/22_locale/codecvt/in/wchar_t/6.cc: Likewise. * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise. * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise. * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise. * testsuite/22_locale/codecvt/length/char/1.cc: Likewise. * testsuite/22_locale/codecvt/length/char/2.cc: Likewise. * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Likewise. * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise. * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise. * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise. * testsuite/22_locale/codecvt/length/wchar_t/5.cc: Likewise. * testsuite/22_locale/codecvt/length/wchar_t/6.cc: Likewise. * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise. * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise. * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Likewise. * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise. * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise. * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise. * testsuite/22_locale/codecvt/out/char/1.cc: Likewise. * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Likewise. * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise. * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise. * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise. * testsuite/22_locale/codecvt/out/wchar_t/5.cc: Likewise. * testsuite/22_locale/codecvt/out/wchar_t/6.cc: Likewise. * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise. * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise. * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Likewise. * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise. * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise. * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise. * testsuite/22_locale/collate/compare/char/1.cc: Likewise. * testsuite/22_locale/collate/compare/char/2.cc: Likewise. * testsuite/22_locale/collate/compare/char/3.cc: Likewise. * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise. * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise. * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise. * testsuite/22_locale/collate/hash/char/1.cc: Likewise. * testsuite/22_locale/collate/hash/char/2.cc: Likewise. * testsuite/22_locale/collate/hash/wchar_t/1.cc: Likewise. * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise. * testsuite/22_locale/collate/transform/char/2.cc: Likewise. * testsuite/22_locale/collate/transform/char/28277.cc: Likewise. * testsuite/22_locale/collate/transform/char/3.cc: Likewise. * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise. * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise. * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise. * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise. * testsuite/22_locale/ctype/cons/char/1.cc: Likewise. * testsuite/22_locale/ctype/is/char/1.cc: Likewise. * testsuite/22_locale/ctype/is/char/2.cc: Likewise. * testsuite/22_locale/ctype/is/char/3.cc: Likewise. * testsuite/22_locale/ctype/is/char/9858.cc: Likewise. * testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise. * testsuite/22_locale/ctype/is/wchar_t/11740.cc: Likewise. * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise. * testsuite/22_locale/ctype/narrow/char/1.cc: Likewise. * testsuite/22_locale/ctype/narrow/char/19955.cc: Likewise. * testsuite/22_locale/ctype/narrow/char/2.cc: Likewise. * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Likewise. * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Likewise. * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise. * testsuite/22_locale/ctype/scan/char/1.cc: Likewise. * testsuite/22_locale/ctype/scan/wchar_t/1.cc: Likewise. * testsuite/22_locale/ctype/to/char/1.cc: Likewise. * testsuite/22_locale/ctype/to/wchar_t/1.cc: Likewise. * testsuite/22_locale/ctype/widen/char/1.cc: Likewise. * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Likewise. * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise. * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise. * testsuite/22_locale/ctype_base/11844.cc: Likewise. * testsuite/22_locale/facet/1.cc: Likewise. * testsuite/22_locale/facet/2.cc: Likewise. * testsuite/22_locale/facet/25421.cc: Likewise. * testsuite/22_locale/global_templates/1.cc: Likewise. * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc: Likewise. * testsuite/22_locale/global_templates/user_facet_hierarchies.cc: Likewise. * testsuite/22_locale/locale/13630.cc: Likewise. * testsuite/22_locale/locale/cons/12352.cc: Likewise. * testsuite/22_locale/locale/cons/12438.cc: Likewise. * testsuite/22_locale/locale/cons/2.cc: Likewise. * testsuite/22_locale/locale/cons/29217.cc: Likewise. * testsuite/22_locale/locale/cons/38365.cc: Likewise. * testsuite/22_locale/locale/cons/38368.cc: Likewise. * testsuite/22_locale/locale/cons/4.cc: Likewise. * testsuite/22_locale/locale/cons/40184.cc: Likewise. * testsuite/22_locale/locale/cons/5.cc: Likewise. * testsuite/22_locale/locale/cons/6.cc: Likewise. * testsuite/22_locale/locale/cons/7.cc: Likewise. * testsuite/22_locale/locale/cons/7222-c.cc: Likewise. * testsuite/22_locale/locale/cons/7222-env.cc: Likewise. * testsuite/22_locale/locale/cons/8.cc: Likewise. * testsuite/22_locale/locale/cons/unicode.cc: Likewise. * testsuite/22_locale/locale/global_locale_objects/1.cc: Likewise. * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise. * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise. * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise. * testsuite/22_locale/locale/operations/1.cc: Likewise. * testsuite/22_locale/locale/operations/2.cc: Likewise. * testsuite/22_locale/messages/13631.cc: Likewise. * testsuite/22_locale/messages/members/char/1.cc: Likewise. * testsuite/22_locale/messages/members/char/2.cc: Likewise. * testsuite/22_locale/messages/members/char/3.cc: Likewise. * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise. * testsuite/22_locale/money_get/get/char/1.cc: Likewise. * testsuite/22_locale/money_get/get/char/10.cc: Likewise. * testsuite/22_locale/money_get/get/char/11.cc: Likewise. * testsuite/22_locale/money_get/get/char/11528.cc: Likewise. * testsuite/22_locale/money_get/get/char/12.cc: Likewise. * testsuite/22_locale/money_get/get/char/13.cc: Likewise. * testsuite/22_locale/money_get/get/char/14.cc: Likewise. * testsuite/22_locale/money_get/get/char/15.cc: Likewise. * testsuite/22_locale/money_get/get/char/16.cc: Likewise. * testsuite/22_locale/money_get/get/char/17.cc: Likewise. * testsuite/22_locale/money_get/get/char/18.cc: Likewise. * testsuite/22_locale/money_get/get/char/19.cc: Likewise. * testsuite/22_locale/money_get/get/char/2.cc: Likewise. * testsuite/22_locale/money_get/get/char/22131.cc: Likewise. * testsuite/22_locale/money_get/get/char/3.cc: Likewise. * testsuite/22_locale/money_get/get/char/38399.cc: Likewise. * testsuite/22_locale/money_get/get/char/39168.cc: Likewise. * testsuite/22_locale/money_get/get/char/4.cc: Likewise. * testsuite/22_locale/money_get/get/char/5.cc: Likewise. * testsuite/22_locale/money_get/get/char/6.cc: Likewise. * testsuite/22_locale/money_get/get/char/7.cc: Likewise. * testsuite/22_locale/money_get/get/char/8.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/14.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/19.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/6.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise. * testsuite/22_locale/money_get/get/wchar_t/8.cc: Likewise. * testsuite/22_locale/money_put/put/char/1.cc: Likewise. * testsuite/22_locale/money_put/put/char/12971.cc: Likewise. * testsuite/22_locale/money_put/put/char/2.cc: Likewise. * testsuite/22_locale/money_put/put/char/3.cc: Likewise. * testsuite/22_locale/money_put/put/char/39168.cc: Likewise. * testsuite/22_locale/money_put/put/char/4.cc: Likewise. * testsuite/22_locale/money_put/put/char/5.cc: Likewise. * testsuite/22_locale/money_put/put/char/6.cc: Likewise. * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise. * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise. * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise. * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise. * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise. * testsuite/22_locale/money_put/put/wchar_t/39168.cc: Likewise. * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise. * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise. * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise. * testsuite/22_locale/moneypunct/40712.cc: Likewise. * testsuite/22_locale/moneypunct/members/char/1.cc: Likewise. * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise. * testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise. * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise. * testsuite/22_locale/moneypunct/requirements/false/intl.cc: Likewise. * testsuite/22_locale/moneypunct/requirements/true/intl.cc: Likewise. * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise. * testsuite/22_locale/num_get/get/char/1.cc: Likewise. * testsuite/22_locale/num_get/get/char/10.cc: Likewise. * testsuite/22_locale/num_get/get/char/11.cc: Likewise. * testsuite/22_locale/num_get/get/char/12.cc: Likewise. * testsuite/22_locale/num_get/get/char/13.cc: Likewise. * testsuite/22_locale/num_get/get/char/14.cc: Likewise. * testsuite/22_locale/num_get/get/char/15.cc: Likewise. * testsuite/22_locale/num_get/get/char/16.cc: Likewise. * testsuite/22_locale/num_get/get/char/2.cc: Likewise. * testsuite/22_locale/num_get/get/char/22131.cc: Likewise. * testsuite/22_locale/num_get/get/char/23953.cc: Likewise. * testsuite/22_locale/num_get/get/char/3.cc: Likewise. * testsuite/22_locale/num_get/get/char/37958.cc: Likewise. * testsuite/22_locale/num_get/get/char/39168.cc: Likewise. * testsuite/22_locale/num_get/get/char/39802.cc: Likewise. * testsuite/22_locale/num_get/get/char/4.cc: Likewise. * testsuite/22_locale/num_get/get/char/5.cc: Likewise. * testsuite/22_locale/num_get/get/char/6.cc: Likewise. * testsuite/22_locale/num_get/get/char/7.cc: Likewise. * testsuite/22_locale/num_get/get/char/8.cc: Likewise. * testsuite/22_locale/num_get/get/char/9.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/2.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/4.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/7.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise. * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise. * testsuite/22_locale/num_put/put/char/1.cc: Likewise. * testsuite/22_locale/num_put/put/char/10.cc: Likewise. * testsuite/22_locale/num_put/put/char/11.cc: Likewise. * testsuite/22_locale/num_put/put/char/12.cc: Likewise. * testsuite/22_locale/num_put/put/char/14220.cc: Likewise. * testsuite/22_locale/num_put/put/char/15565.cc: Likewise. * testsuite/22_locale/num_put/put/char/2.cc: Likewise. * testsuite/22_locale/num_put/put/char/20909.cc: Likewise. * testsuite/22_locale/num_put/put/char/20914.cc: Likewise. * testsuite/22_locale/num_put/put/char/23953.cc: Likewise. * testsuite/22_locale/num_put/put/char/3.cc: Likewise. * testsuite/22_locale/num_put/put/char/38196.cc: Likewise. * testsuite/22_locale/num_put/put/char/38210.cc: Likewise. * testsuite/22_locale/num_put/put/char/4.cc: Likewise. * testsuite/22_locale/num_put/put/char/5.cc: Likewise. * testsuite/22_locale/num_put/put/char/6.cc: Likewise. * testsuite/22_locale/num_put/put/char/7.cc: Likewise. * testsuite/22_locale/num_put/put/char/8.cc: Likewise. * testsuite/22_locale/num_put/put/char/9.cc: Likewise. * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/15565.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise. * testsuite/22_locale/num_put/put/wchar_t/9.cc: Likewise. * testsuite/22_locale/numpunct/members/char/1.cc: Likewise. * testsuite/22_locale/numpunct/members/char/2.cc: Likewise. * testsuite/22_locale/numpunct/members/char/3.cc: Likewise. * testsuite/22_locale/numpunct/members/char/cache_1.cc: Likewise. * testsuite/22_locale/numpunct/members/char/cache_2.cc: Likewise. * testsuite/22_locale/numpunct/members/pod/1.cc: Likewise. * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Likewise. * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise. * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: Likewise. * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: Likewise. * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise. * testsuite/22_locale/time_get/date_order/char/1.cc: Likewise. * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Likewise. * testsuite/22_locale/time_get/get/char/1.cc: Likewise. * testsuite/22_locale/time_get/get/char/2.cc: Likewise. * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise. * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise. * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise. * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise. * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise. * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise. * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise. * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise. * testsuite/22_locale/time_get/get_date/char/5.cc: Likewise. * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise. * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise. * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise. * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise. * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise. * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise. * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise. * testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise. * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise. * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise. * testsuite/22_locale/time_get/get_monthname/char/3.cc: Likewise. * testsuite/22_locale/time_get/get_monthname/char/4.cc: Likewise. * testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise. * testsuite/22_locale/time_get/get_monthname/char/6.cc: Likewise. * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise. * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise. * testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc: Likewise. * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: Likewise. * testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise. * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise. * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise. * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise. * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise. * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise. * testsuite/22_locale/time_get/get_time/char/5.cc: Likewise. * testsuite/22_locale/time_get/get_time/char/6.cc: Likewise. * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise. * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise. * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise. * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise. * testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise. * testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise. * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise. * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise. * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise. * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise. * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise. * testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise. * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise. * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise. * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise. * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise. * testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise. * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise. * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise. * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise. * testsuite/22_locale/time_get/get_year/char/5.cc: Likewise. * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise. * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise. * testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise. * testsuite/22_locale/time_put/put/char/1.cc: Likewise. * testsuite/22_locale/time_put/put/char/10.cc: Likewise. * testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise. * testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise. * testsuite/22_locale/time_put/put/char/17038.cc: Likewise. * testsuite/22_locale/time_put/put/char/2.cc: Likewise. * testsuite/22_locale/time_put/put/char/3.cc: Likewise. * testsuite/22_locale/time_put/put/char/4.cc: Likewise. * testsuite/22_locale/time_put/put/char/5.cc: Likewise. * testsuite/22_locale/time_put/put/char/6.cc: Likewise. * testsuite/22_locale/time_put/put/char/7.cc: Likewise. * testsuite/22_locale/time_put/put/char/8.cc: Likewise. * testsuite/22_locale/time_put/put/char/9.cc: Likewise. * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise. * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise. * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise. * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise. * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise. * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise. * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise. * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise. * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise. * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise. * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise. * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise. * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise. * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise. * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise. * testsuite/30_threads/async/42819.cc: Likewise. * testsuite/30_threads/async/any.cc: Likewise. * testsuite/30_threads/async/async.cc: Likewise. * testsuite/30_threads/async/except.cc: Likewise. * testsuite/30_threads/async/launch.cc: Likewise. * testsuite/30_threads/async/sync.cc: Likewise. * testsuite/30_threads/call_once/call_once1.cc: Likewise. * testsuite/30_threads/condition_variable/cons/1.cc: Likewise. * testsuite/30_threads/condition_variable/members/1.cc: Likewise. * testsuite/30_threads/condition_variable/members/2.cc: Likewise. * testsuite/30_threads/condition_variable/members/3.cc: Likewise. * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise. * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise. * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise. * testsuite/30_threads/future/members/45133.cc: Likewise. * testsuite/30_threads/future/members/get.cc: Likewise. * testsuite/30_threads/future/members/get2.cc: Likewise. * testsuite/30_threads/future/members/share.cc: Likewise. * testsuite/30_threads/future/members/valid.cc: Likewise. * testsuite/30_threads/future/members/wait_for.cc: Likewise. * testsuite/30_threads/future/members/wait_until.cc: Likewise. * testsuite/30_threads/lock/1.cc: Likewise. * testsuite/30_threads/lock/2.cc: Likewise. * testsuite/30_threads/lock/3.cc: Likewise. * testsuite/30_threads/lock/4.cc: Likewise. * testsuite/30_threads/lock_guard/cons/1.cc: Likewise. * testsuite/30_threads/mutex/cons/1.cc: Likewise. * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise. * testsuite/30_threads/mutex/lock/1.cc: Likewise. * testsuite/30_threads/mutex/native_handle/1.cc: Likewise. * testsuite/30_threads/mutex/try_lock/1.cc: Likewise. * testsuite/30_threads/mutex/try_lock/2.cc: Likewise. * testsuite/30_threads/mutex/unlock/1.cc: Likewise. * testsuite/30_threads/packaged_task/cons/1.cc: Likewise. * testsuite/30_threads/packaged_task/cons/2.cc: Likewise. * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise. * testsuite/30_threads/packaged_task/cons/move.cc: Likewise. * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise. * testsuite/30_threads/packaged_task/members/at_thread_exit.cc: Likewise. * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise. * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise. * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise. * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise. * testsuite/30_threads/packaged_task/members/swap.cc: Likewise. * testsuite/30_threads/packaged_task/members/valid.cc: Likewise. * testsuite/30_threads/promise/cons/move.cc: Likewise. * testsuite/30_threads/promise/cons/move_assign.cc: Likewise. * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise. * testsuite/30_threads/promise/members/get_future.cc: Likewise. * testsuite/30_threads/promise/members/set_value.cc: Likewise. * testsuite/30_threads/promise/members/set_value3.cc: Likewise. * testsuite/30_threads/promise/members/swap.cc: Likewise. * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise. * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: Likewise. * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise. * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise. * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise. * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise. * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise. * testsuite/30_threads/shared_future/members/45133.cc: Likewise. * testsuite/30_threads/shared_future/members/get.cc: Likewise. * testsuite/30_threads/shared_future/members/get2.cc: Likewise. * testsuite/30_threads/shared_future/members/valid.cc: Likewise. * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise. * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise. * testsuite/30_threads/shared_lock/cons/1.cc: Likewise. * testsuite/30_threads/shared_lock/cons/2.cc: Likewise. * testsuite/30_threads/shared_lock/cons/3.cc: Likewise. * testsuite/30_threads/shared_lock/cons/4.cc: Likewise. * testsuite/30_threads/shared_lock/cons/5.cc: Likewise. * testsuite/30_threads/shared_lock/cons/6.cc: Likewise. * testsuite/30_threads/shared_lock/locking/1.cc: Likewise. * testsuite/30_threads/shared_lock/locking/2.cc: Likewise. * testsuite/30_threads/shared_lock/locking/3.cc: Likewise. * testsuite/30_threads/shared_lock/locking/4.cc: Likewise. * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise. * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise. * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise. * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise. * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise. * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise. * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise. * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise. * testsuite/30_threads/this_thread/1.cc: Likewise. * testsuite/30_threads/this_thread/2.cc: Likewise. * testsuite/30_threads/this_thread/3.cc: Likewise. * testsuite/30_threads/this_thread/4.cc: Likewise. * testsuite/30_threads/this_thread/60421.cc: Likewise. * testsuite/30_threads/thread/cons/1.cc: Likewise. * testsuite/30_threads/thread/cons/2.cc: Likewise. * testsuite/30_threads/thread/cons/3.cc: Likewise. * testsuite/30_threads/thread/cons/4.cc: Likewise. * testsuite/30_threads/thread/cons/5.cc: Likewise. * testsuite/30_threads/thread/cons/6.cc: Likewise. * testsuite/30_threads/thread/cons/7.cc: Likewise. * testsuite/30_threads/thread/cons/8.cc: Likewise. * testsuite/30_threads/thread/cons/9.cc: Likewise. * testsuite/30_threads/thread/cons/moveable.cc: Likewise. * testsuite/30_threads/thread/members/1.cc: Likewise. * testsuite/30_threads/thread/members/2.cc: Likewise. * testsuite/30_threads/thread/members/3.cc: Likewise. * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise. * testsuite/30_threads/thread/swap/1.cc: Likewise. * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise. * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise. * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise. * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise. * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise. * testsuite/30_threads/try_lock/1.cc: Likewise. * testsuite/30_threads/try_lock/2.cc: Likewise. * testsuite/30_threads/try_lock/3.cc: Likewise. * testsuite/30_threads/try_lock/4.cc: Likewise. * testsuite/30_threads/unique_lock/cons/1.cc: Likewise. * testsuite/30_threads/unique_lock/cons/2.cc: Likewise. * testsuite/30_threads/unique_lock/cons/3.cc: Likewise. * testsuite/30_threads/unique_lock/cons/4.cc: Likewise. * testsuite/30_threads/unique_lock/cons/5.cc: Likewise. * testsuite/30_threads/unique_lock/cons/6.cc: Likewise. * testsuite/30_threads/unique_lock/locking/1.cc: Likewise. * testsuite/30_threads/unique_lock/locking/2.cc: Likewise. * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. * testsuite/30_threads/unique_lock/locking/4.cc: Likewise. * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise. * testsuite/tr1/2_general_utilities/enable_shared_from_this/ not_shared.cc: Likewise. * testsuite/tr1/2_general_utilities/enable_shared_from_this/ not_shared2.cc: Likewise. * testsuite/tr1/2_general_utilities/enable_shared_from_this/ not_shared3.cc: Likewise. * testsuite/tr1/2_general_utilities/enable_shared_from_this/ shared.cc: Likewise. * testsuite/tr1/2_general_utilities/enable_shared_from_this/ still_shared.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/assign/ auto_ptr_rvalue_neg.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/assign/ shared_ptr_neg.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/thread/ default_weaktoshared.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/thread/ mutex_weaktoshared.cc: Likewise. * testsuite/tr1/3_function_objects/bind/all_bound.cc: Likewise. * testsuite/tr1/3_function_objects/bind/mixed.cc: Likewise. * testsuite/tr1/3_function_objects/bind/nested.cc: Likewise. * testsuite/tr1/3_function_objects/bind/placeholders.cc: Likewise. * testsuite/tr1/3_function_objects/bind/ref.cc: Likewise. * testsuite/tr1/3_function_objects/function/1.cc: Likewise. * testsuite/tr1/3_function_objects/function/2.cc: Likewise. * testsuite/tr1/3_function_objects/function/3.cc: Likewise. * testsuite/tr1/3_function_objects/function/4.cc: Likewise. * testsuite/tr1/3_function_objects/function/5.cc: Likewise. * testsuite/tr1/3_function_objects/function/6.cc: Likewise. * testsuite/tr1/3_function_objects/function/7.cc: Likewise. * testsuite/tr1/3_function_objects/function/8.cc: Likewise. * testsuite/tr1/3_function_objects/function/9.cc: Likewise. * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc: Likewise. * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc: Likewise. * testsuite/tr1/3_function_objects/result_of.cc: Likewise. * testsuite/tr1/4_metaprogramming/add_const/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/add_cv/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/add_pointer/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/add_reference/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/add_volatile/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/alignment_of/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/extent/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/integral_constant/ static_definition.cc: Likewise. * testsuite/tr1/4_metaprogramming/integral_constant/ true_false_value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_abstract/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_array/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_base_of/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_class/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_compound/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_const/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_convertible/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_empty/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_enum/24808.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_enum/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_function/24808.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_function/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_integral/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_object/24808.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_object/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_pod/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_pointer/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_reference/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_same/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_scalar/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_union/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/is_volatile/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/rank/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/remove_const/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/remove_cv/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/remove_extent/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/remove_pointer/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/remove_reference/value.cc: Likewise. * testsuite/tr1/4_metaprogramming/remove_volatile/value.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/ equal.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/ not_equal.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/ serialize.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/linear_congruential/ cons/default.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/linear_congruential/ cons/gen1.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/linear_congruential/ operators/equal.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/linear_congruential/ operators/not_equal.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/linear_congruential/ operators/serialize.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/ cons/default.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/ cons/gen1.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/ operators/equal.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/ operators/not_equal.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/ operators/serialize.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/mt19937.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/random_device/cons/ default.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/random_device/cons/ token.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/ranlux3.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/ranlux4.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/ cons/default.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/ cons/gen1.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/ operators/equal.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/ operators/not_equal.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/ operators/serialize.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/ cons/default.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/ cons/gen1.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/ operators/equal.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/ operators/not_equal.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/ operators/serialize.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/ default.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/ range.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/ default.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/ equal.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/ not_equal.cc: Likewise. * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/ serialize.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/pr56216.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 16_hermite/check_value.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: Likewise. * testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise. * testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise. * testsuite/tr1/6_containers/array/capacity/size.cc: Likewise. * testsuite/tr1/6_containers/array/comparison_operators/equal.cc: Likewise. * testsuite/tr1/6_containers/array/comparison_operators/greater.cc: Likewise. * testsuite/tr1/6_containers/array/comparison_operators/ greater_or_equal.cc: Likewise. * testsuite/tr1/6_containers/array/comparison_operators/less.cc: Likewise. * testsuite/tr1/6_containers/array/comparison_operators/ less_or_equal.cc: Likewise. * testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc: Likewise. * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc: Likewise. * testsuite/tr1/6_containers/array/element_access/back.cc: Likewise. * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise. * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise. * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc: Likewise. * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise. * testsuite/tr1/6_containers/array/requirements/contiguous.cc: Likewise. * testsuite/tr1/6_containers/array/requirements/member_swap.cc: Likewise. * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc: Likewise. * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc: Likewise. * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise. * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc: Likewise. * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc: Likewise. * testsuite/tr1/6_containers/hash/24799.cc: Likewise. * testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise. * testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc: Likewise. * testsuite/tr1/6_containers/tuple/cons/assignment.cc: Likewise. * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise. * testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise. * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc: Likewise. * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc: Likewise. * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: Likewise. * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Likewise. * testsuite/tr1/6_containers/tuple/element_access/get.cc: Likewise. * testsuite/tr1/6_containers/tuple/tuple_size.cc: Likewise. * testsuite/tr1/6_containers/unordered_map/24064.cc: Likewise. * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc: Likewise. * testsuite/tr1/6_containers/unordered_map/erase/1.cc: Likewise. * testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc: Likewise. * testsuite/tr1/6_containers/unordered_map/find/map1.cc: Likewise. * testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc: Likewise. * testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc: Likewise. * testsuite/tr1/6_containers/unordered_map/insert/map_range.cc: Likewise. * testsuite/tr1/6_containers/unordered_map/insert/map_single.cc: Likewise. * testsuite/tr1/6_containers/unordered_map/swap/1.cc: Likewise. * testsuite/tr1/6_containers/unordered_map/swap/2.cc: Likewise. * testsuite/tr1/6_containers/unordered_multimap/capacity/ 29134-multimap.cc: Likewise. * testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise. * testsuite/tr1/6_containers/unordered_multimap/erase/ 24061-multimap.cc: Likewise. * testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc: Likewise. * testsuite/tr1/6_containers/unordered_multimap/insert/ 24061-multimap.cc: Likewise. * testsuite/tr1/6_containers/unordered_multimap/insert/ multimap_range.cc: Likewise. * testsuite/tr1/6_containers/unordered_multimap/insert/ multimap_single.cc: Likewise. * testsuite/tr1/6_containers/unordered_multimap/swap/1.cc: Likewise. * testsuite/tr1/6_containers/unordered_multimap/swap/2.cc: Likewise. * testsuite/tr1/6_containers/unordered_multiset/24054.cc: Likewise. * testsuite/tr1/6_containers/unordered_multiset/capacity/ 29134-multiset.cc: Likewise. * testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise. * testsuite/tr1/6_containers/unordered_multiset/erase/ 24061-multiset.cc: Likewise. * testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc: Likewise. * testsuite/tr1/6_containers/unordered_multiset/insert/ 24061-multiset.cc: Likewise. * testsuite/tr1/6_containers/unordered_multiset/insert/ multiset_range.cc: Likewise. * testsuite/tr1/6_containers/unordered_multiset/insert/ multiset_single.cc: Likewise. * testsuite/tr1/6_containers/unordered_multiset/swap/1.cc: Likewise. * testsuite/tr1/6_containers/unordered_multiset/swap/2.cc: Likewise. * testsuite/tr1/6_containers/unordered_set/23465.cc: Likewise. * testsuite/tr1/6_containers/unordered_set/26132.cc: Likewise. * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc: Likewise. * testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise. * testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc: Likewise. * testsuite/tr1/6_containers/unordered_set/find/set1.cc: Likewise. * testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc: Likewise. * testsuite/tr1/6_containers/unordered_set/insert/set_range.cc: Likewise. * testsuite/tr1/6_containers/unordered_set/insert/set_single.cc: Likewise. * testsuite/tr1/6_containers/unordered_set/swap/1.cc: Likewise. * testsuite/tr1/6_containers/unordered_set/swap/2.cc: Likewise. * testsuite/tr1/6_containers/utility/pair.cc: Likewise. * testsuite/tr1/7_regular_expressions/match_results/ctors/char/ default.cc: Likewise. * testsuite/tr1/7_regular_expressions/regex_traits/char/ translate_nocase.cc: Likewise. * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc: Likewise. * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/ translate_nocase.cc: Likewise. * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc: Likewise. * testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise. * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise. 2016-10-16 Ville Voutilainen Make sure the return value of malloc_allocator::allocate is zero-initialized so that checking it for non-zero works later. * include/ext/malloc_allocator.h (malloc_allocator::allocate): Initialize the return value. * testsuite/ext/malloc_allocator/sanity.cc: New. 2016-10-14 Eelis van der Weegen * include/bits/stl_algo.h (shuffle): Extract two random numbers from each generator invocation when its range is large enough. 2016-10-14 Jonathan Wakely * testsuite/experimental/algorithm/sample.cc: Qualify calls to resolve ambiguity between std::sample and std::experimental::sample. * include/std/functional (_Mu, _Mu): Simplify forwarding from tuple of references. (_Maybe_wrap_member_pointer): Remove. (_Bind::__call, _Bind::__call_c, _Bind::__call_v, _Bind::__call_c_v): Use std::__invoke. (_Bind::_Mu_type, _Bind::_Res_type_impl, _Bind::_Res_type) (_Bind::__dependent, _Bind::_Res_type_cv): New helpers to simplify return type deduction. (_Bind::operator(), _Bind::operator() const): Use new helpers. (_Bind::operator() volatile, _Bind::operator() const volatile): Likewise. Add deprecated attribute for C++17 mode. (_Bind_result::__call): Use std::__invoke. (_Bind_result::operator() volatile) (_Bind_result::operator() const volatile): Add deprecated attribute. (_Bind_helper::__maybe_type, _Bindres_helper::__maybe_type): Remove. (_Bind_helper, _Bindres_helper): Don't use _Maybe_wrap_member_pointer. (bind, bind): Don't use __maybe_type. * src/c++11/compatibility-thread-c++0x.cc (_Maybe_wrap_member_pointer): Define here for compatibility symbols. * testsuite/20_util/bind/68912.cc: Don't test volatile-qualification in C++17 mode. * testsuite/20_util/bind/cv_quals.cc: Likewise. * testsuite/20_util/bind/cv_quals_2.cc: Likewise. * include/std/scoped_allocator (scoped_allocator_adaptor): Forward piecewise construction arguments as tuples of references, to avoid copies (related to LWG 2511). * testsuite/20_util/scoped_allocator/construct_pair.cc: New test. 2016-10-14 Paolo Carlini * testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables. * testsuite/26_numerics/adjacent_difference/1.cc: Likewise. * testsuite/26_numerics/complex/13450.cc: Likewise. * testsuite/26_numerics/complex/50880.cc: Likewise. * testsuite/26_numerics/complex/c99.cc: Likewise. * testsuite/26_numerics/complex/cons/48760.cc: Likewise. * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise. * testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise. * testsuite/26_numerics/complex/dr844.cc: Likewise. * testsuite/26_numerics/complex/inserters_extractors/char/1.cc: Likewise. * testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc: Likewise. * testsuite/26_numerics/complex/value_operations/1.cc: Likewise. * testsuite/26_numerics/complex/value_operations/dr387.cc: Likewise. * testsuite/26_numerics/headers/cmath/19322.cc: Likewise. * testsuite/26_numerics/headers/cmath/ c99_classification_macros_c++11.c: Likewise.c * testsuite/26_numerics/headers/cmath/ c99_classification_macros_c++98.cc: Likewise. * testsuite/26_numerics/headers/cmath/c_math.cc: Likewise. * testsuite/26_numerics/headers/cmath/dr550.cc: Likewise. * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise. * testsuite/26_numerics/headers/cmath/powi.cc: Likewise. * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise. * testsuite/26_numerics/inner_product/1.cc: Likewise. * testsuite/26_numerics/iota/1.cc: Likewise. * testsuite/26_numerics/partial_sum/1.cc: Likewise. * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc: Likewise. * testsuite/26_numerics/random/bernoulli_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/bernoulli_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/binomial_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc: Likewise. * testsuite/26_numerics/random/binomial_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/binomial_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc: Likewise. * testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc: Likewise. * testsuite/26_numerics/random/cauchy_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/chi_squared_distribution/cons/ default.cc: Likewise. * testsuite/26_numerics/random/chi_squared_distribution/cons/ parms.cc: Likewise. * testsuite/26_numerics/random/chi_squared_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/chi_squared_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/default_random_engine.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/operators/equal.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/operators/ serialize.cc: Likewise. * testsuite/26_numerics/random/discrete_distribution/cons/ default.cc: Likewise. * testsuite/26_numerics/random/discrete_distribution/cons/ initlist.cc: Likewise. * testsuite/26_numerics/random/discrete_distribution/cons/ num_xbound_fun.cc: Likewise. * testsuite/26_numerics/random/discrete_distribution/cons/range.cc: Likewise. * testsuite/26_numerics/random/discrete_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/discrete_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/exponential_distribution/cons/ default.cc: Likewise. * testsuite/26_numerics/random/exponential_distribution/cons/ parms.cc: Likewise. * testsuite/26_numerics/random/exponential_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/exponential_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/extreme_value_distribution/cons/ default.cc: Likewise. * testsuite/26_numerics/random/extreme_value_distribution/cons/ parms.cc: Likewise. * testsuite/26_numerics/random/extreme_value_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/extreme_value_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc: Likewise. * testsuite/26_numerics/random/fisher_f_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/fisher_f_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/gamma_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc: Likewise. * testsuite/26_numerics/random/gamma_distribution/operators/equal.cc: Likewise. * testsuite/26_numerics/random/gamma_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/geometric_distribution/cons/ default.cc: Likewise. * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc: Likewise. * testsuite/26_numerics/random/geometric_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/geometric_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc: Likewise. * testsuite/26_numerics/random/independent_bits_engine/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/independent_bits_engine/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/independent_bits_engine/operators/ serialize.cc: Likewise. * testsuite/26_numerics/random/knuth_b.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/cons/ 55215.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/cons/ default.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/operators/ 51795.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/operators/ serialize.cc: Likewise. * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc: Likewise. * testsuite/26_numerics/random/lognormal_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/lognormal_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc: Likewise. * testsuite/26_numerics/random/mersenne_twister_engine/cons/ default.cc: Likewise. * testsuite/26_numerics/random/mersenne_twister_engine/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/mersenne_twister_engine/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/mersenne_twister_engine/operators/ serialize.cc: Likewise. * testsuite/26_numerics/random/minstd_rand.cc: Likewise. * testsuite/26_numerics/random/minstd_rand0.cc: Likewise. * testsuite/26_numerics/random/mt19937.cc: Likewise. * testsuite/26_numerics/random/mt19937_64.cc: Likewise. * testsuite/26_numerics/random/negative_binomial_distribution/cons/ default.cc: Likewise. * testsuite/26_numerics/random/negative_binomial_distribution/cons/ parms.cc: Likewise. * testsuite/26_numerics/random/negative_binomial_distribution/ operators/equal.cc: Likewise. * testsuite/26_numerics/random/negative_binomial_distribution/ operators/inequal.cc: Likewise. * testsuite/26_numerics/random/normal_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/normal_distribution/cons/parms.cc: Likewise. * testsuite/26_numerics/random/normal_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/normal_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/piecewise_constant_distribution/cons/ default.cc: Likewise. * testsuite/26_numerics/random/piecewise_constant_distribution/cons/ initlist_fun.cc: Likewise. * testsuite/26_numerics/random/piecewise_constant_distribution/cons/ num_xbound_fun.cc: Likewise. * testsuite/26_numerics/random/piecewise_constant_distribution/cons/ range.cc: Likewise. * testsuite/26_numerics/random/piecewise_constant_distribution/ operators/equal.cc: Likewise. * testsuite/26_numerics/random/piecewise_constant_distribution/ operators/inequal.cc: Likewise. * testsuite/26_numerics/random/piecewise_linear_distribution/cons/ default.cc: Likewise. * testsuite/26_numerics/random/piecewise_linear_distribution/cons/ initlist_fun.cc: Likewise. * testsuite/26_numerics/random/piecewise_linear_distribution/cons/ num_xbound_fun.cc: Likewise. * testsuite/26_numerics/random/piecewise_linear_distribution/cons/ range.cc: Likewise. * testsuite/26_numerics/random/piecewise_linear_distribution/ operators/equal.cc: Likewise. * testsuite/26_numerics/random/piecewise_linear_distribution/ operators/inequal.cc: Likewise. * testsuite/26_numerics/random/poisson_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc: Likewise. * testsuite/26_numerics/random/poisson_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/poisson_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/random_device/cons/default.cc: Likewise. * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise. * testsuite/26_numerics/random/ranlux24.cc: Likewise. * testsuite/26_numerics/random/ranlux24_base.cc: Likewise. * testsuite/26_numerics/random/ranlux48.cc: Likewise. * testsuite/26_numerics/random/ranlux48_base.cc: Likewise. * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Likewise. * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc: Likewise. * testsuite/26_numerics/random/shuffle_order_engine/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/shuffle_order_engine/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/shuffle_order_engine/operators/ serialize.cc: Likewise. * testsuite/26_numerics/random/student_t_distribution/cons/ default.cc: Likewise. * testsuite/26_numerics/random/student_t_distribution/cons/ parms.cc: Likewise. * testsuite/26_numerics/random/student_t_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/student_t_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/subtract_with_carry_engine/cons/ 55215.cc: Likewise. * testsuite/26_numerics/random/subtract_with_carry_engine/cons/ default.cc: Likewise. * testsuite/26_numerics/random/subtract_with_carry_engine/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/subtract_with_carry_engine/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/subtract_with_carry_engine/operators/ serialize.cc: Likewise. * testsuite/26_numerics/random/uniform_int_distribution/cons/ default.cc: Likewise. * testsuite/26_numerics/random/uniform_int_distribution/cons/ parms.cc: Likewise. * testsuite/26_numerics/random/uniform_int_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/uniform_int_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/uniform_real_distribution/cons/ default.cc: Likewise. * testsuite/26_numerics/random/uniform_real_distribution/cons/ parms.cc: Likewise. * testsuite/26_numerics/random/uniform_real_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/uniform_real_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/random/weibull_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc: Likewise. * testsuite/26_numerics/random/weibull_distribution/operators/ equal.cc: Likewise. * testsuite/26_numerics/random/weibull_distribution/operators/ inequal.cc: Likewise. * testsuite/26_numerics/slice/1.cc: Likewise. * testsuite/26_numerics/slice_array/array_assignment.cc: Likewise. * testsuite/26_numerics/valarray/27867.cc: Likewise. * testsuite/26_numerics/valarray/28277.cc: Likewise. * testsuite/26_numerics/valarray/30416.cc: Likewise. * testsuite/26_numerics/valarray/dr543.cc: Likewise. * testsuite/26_numerics/valarray/dr630-1.cc: Likewise. * testsuite/26_numerics/valarray/dr630-2.cc: Likewise. * testsuite/26_numerics/valarray/dr630-3.C: Likewise. * testsuite/26_numerics/valarray/init-list.cc: Likewise. * testsuite/26_numerics/valarray/moveable.cc: Likewise. * testsuite/26_numerics/valarray/operators.cc: Likewise. * testsuite/26_numerics/valarray/swap.cc: Likewise. * testsuite/experimental/deque/erasure.cc: Likewise. * testsuite/experimental/filesystem/iterators/directory_iterator.cc: Likewise. * testsuite/experimental/filesystem/iterators/ recursive_directory_iterator.cc: Likewise. * testsuite/experimental/filesystem/operations/absolute.cc: Likewise. * testsuite/experimental/filesystem/operations/canonical.cc: Likewise. * testsuite/experimental/filesystem/operations/copy.cc: Likewise. * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise. * testsuite/experimental/filesystem/operations/create_directories.cc: Likewise. * testsuite/experimental/filesystem/operations/create_directory.cc: Likewise. * testsuite/experimental/filesystem/operations/current_path.cc: Likewise. * testsuite/experimental/filesystem/operations/exists.cc: Likewise. * testsuite/experimental/filesystem/operations/file_size.cc: Likewise. * testsuite/experimental/filesystem/operations/last_write_time.cc: Likewise. * testsuite/experimental/filesystem/operations/permissions.cc: Likewise. * testsuite/experimental/filesystem/operations/status.cc: Likewise. * testsuite/experimental/filesystem/operations/temp_directory_path.cc: Likewise. * testsuite/experimental/filesystem/path/native/string.cc: Likewise. * testsuite/experimental/forward_list/erasure.cc: Likewise. * testsuite/experimental/list/erasure.cc: Likewise. * testsuite/experimental/map/erasure.cc: Likewise. * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Likewise. * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc: Likewise. * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: Likewise. * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: Likewise. * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: Likewise. * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc: Likewise. * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: Likewise. * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc: Likewise. * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc: Likewise. * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc: Likewise. * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise. * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Likewise. * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: Likewise. * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc: Likewise. * testsuite/experimental/memory/shared_ptr/observers/operators.cc: Likewise. * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc: Likewise. * testsuite/experimental/memory/shared_ptr/observers/use_count.cc: Likewise. * testsuite/experimental/memory_resource/1.cc: Likewise. * testsuite/experimental/memory_resource/null_memory_resource.cc: Likewise. * testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise. * testsuite/experimental/set/erasure.cc: Likewise. * testsuite/experimental/string/erasure.cc: Likewise. * testsuite/experimental/string_view/capacity/1.cc: Likewise. * testsuite/experimental/string_view/cons/char/1.cc: Likewise. * testsuite/experimental/string_view/cons/char/2.cc: Likewise. * testsuite/experimental/string_view/cons/char/3.cc: Likewise. * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise. * testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise. * testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise. * testsuite/experimental/string_view/element_access/char/1.cc: Likewise. * testsuite/experimental/string_view/element_access/char/empty.cc: Likewise. * testsuite/experimental/string_view/element_access/char/ front_back.cc: Likewise. * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Likewise. * testsuite/experimental/string_view/element_access/wchar_t/empty.cc: Likewise. * testsuite/experimental/string_view/element_access/wchar_t/ front_back.cc: Likewise. * testsuite/experimental/string_view/inserters/char/1.cc: Likewise. * testsuite/experimental/string_view/inserters/char/2.cc: Likewise. * testsuite/experimental/string_view/inserters/char/3.cc: Likewise. * testsuite/experimental/string_view/inserters/pod/10081-out.cc: Likewise. * testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise. * testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise. * testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise. * testsuite/experimental/string_view/modifiers/remove_prefix/char/ 1.cc: Likewise. * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/ 1.cc: Likewise. * testsuite/experimental/string_view/modifiers/remove_suffix/char/ 1.cc: Likewise. * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/ 1.cc: Likewise. * testsuite/experimental/string_view/operations/compare/char/1.cc: Likewise. * testsuite/experimental/string_view/operations/compare/char/ 13650.cc: Likewise. * testsuite/experimental/string_view/operations/compare/wchar_t/ 1.cc: Likewise. * testsuite/experimental/string_view/operations/compare/wchar_t/ 13650.cc: Likewise. * testsuite/experimental/string_view/operations/copy/char/1.cc: Likewise. * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: Likewise. * testsuite/experimental/string_view/operations/data/char/1.cc: Likewise. * testsuite/experimental/string_view/operations/data/wchar_t/1.cc: Likewise. * testsuite/experimental/string_view/operations/find/char/1.cc: Likewise. * testsuite/experimental/string_view/operations/find/char/2.cc: Likewise. * testsuite/experimental/string_view/operations/find/char/3.cc: Likewise. * testsuite/experimental/string_view/operations/find/char/4.cc: Likewise. * testsuite/experimental/string_view/operations/find/wchar_t/1.cc: Likewise. * testsuite/experimental/string_view/operations/find/wchar_t/2.cc: Likewise. * testsuite/experimental/string_view/operations/find/wchar_t/3.cc: Likewise. * testsuite/experimental/string_view/operations/find/wchar_t/4.cc: Likewise. * testsuite/experimental/string_view/operations/rfind/char/1.cc: Likewise. * testsuite/experimental/string_view/operations/rfind/char/2.cc: Likewise. * testsuite/experimental/string_view/operations/rfind/char/3.cc: Likewise. * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc: Likewise. * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc: Likewise. * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc: Likewise. * testsuite/experimental/string_view/operations/substr/char/1.cc: Likewise. * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc: Likewise. * testsuite/experimental/string_view/operations/to_string/1.cc: Likewise. * testsuite/experimental/string_view/operators/char/2.cc: Likewise. * testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise. * testsuite/experimental/unordered_map/erasure.cc: Likewise. * testsuite/experimental/unordered_set/erasure.cc: Likewise. * testsuite/experimental/vector/erasure.cc: Likewise. * testsuite/ext/array_allocator/1.cc: Likewise. * testsuite/ext/array_allocator/2.cc: Likewise. * testsuite/ext/array_allocator/3.cc: Likewise. * testsuite/ext/array_allocator/variadic_construct.cc: Likewise. * testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise. * testsuite/ext/codecvt/1.cc: Likewise. * testsuite/ext/codecvt/char-1.cc: Likewise. * testsuite/ext/codecvt/char-2.cc: Likewise. * testsuite/ext/codecvt/wchar_t.cc: Likewise. * testsuite/ext/enc_filebuf/char/13189.cc: Likewise. * testsuite/ext/enc_filebuf/char/13598.cc: Likewise. * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise. * testsuite/ext/ext_pointer/1.cc: Likewise. * testsuite/ext/ext_pointer/1_neg.cc: Likewise. * testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise. * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: Likewise. * testsuite/ext/mt_allocator/tune-1.cc: Likewise. * testsuite/ext/mt_allocator/tune-2.cc: Likewise. * testsuite/ext/mt_allocator/tune-3.cc: Likewise. * testsuite/ext/mt_allocator/tune-4.cc: Likewise. * testsuite/ext/mt_allocator/variadic_construct.cc: Likewise. * testsuite/ext/new_allocator/variadic_construct.cc: Likewise. * testsuite/ext/pod_char_traits.cc: Likewise. * testsuite/ext/pool_allocator/variadic_construct.cc: Likewise. * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise. * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise. * testsuite/ext/random/arcsine_distribution/operators/equal.cc: Likewise. * testsuite/ext/random/arcsine_distribution/operators/inequal.cc: Likewise. * testsuite/ext/random/arcsine_distribution/operators/serialize.cc: Likewise. * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise. * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise. * testsuite/ext/random/beta_distribution/operators/equal.cc: Likewise. * testsuite/ext/random/beta_distribution/operators/inequal.cc: Likewise. * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise. * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise. * testsuite/ext/random/hoyt_distribution/operators/equal.cc: Likewise. * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: Likewise. * testsuite/ext/random/hoyt_distribution/operators/serialize.cc: Likewise. * testsuite/ext/random/hypergeometric_distribution/cons/default.cc: Likewise. * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc: Likewise. * testsuite/ext/random/hypergeometric_distribution/operators/ equal.cc: Likewise. * testsuite/ext/random/hypergeometric_distribution/operators/ inequal.cc: Likewise. * testsuite/ext/random/hypergeometric_distribution/operators/ serialize.cc: Likewise. * testsuite/ext/random/k_distribution/cons/default.cc: Likewise. * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise. * testsuite/ext/random/k_distribution/operators/equal.cc: Likewise. * testsuite/ext/random/k_distribution/operators/inequal.cc: Likewise. * testsuite/ext/random/k_distribution/operators/serialize.cc: Likewise. * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise. * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise. * testsuite/ext/random/logistic_distribution/operators/equal.cc: Likewise. * testsuite/ext/random/logistic_distribution/operators/inequal.cc: Likewise. * testsuite/ext/random/logistic_distribution/operators/serialize.cc: Likewise. * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise. * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise. * testsuite/ext/random/nakagami_distribution/operators/equal.cc: Likewise. * testsuite/ext/random/nakagami_distribution/operators/inequal.cc: Likewise. * testsuite/ext/random/nakagami_distribution/operators/serialize.cc: Likewise. * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise. * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise. * testsuite/ext/random/normal_mv_distribution/operators/equal.cc: Likewise. * testsuite/ext/random/normal_mv_distribution/operators/inequal.cc: Likewise. * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise. * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise. * testsuite/ext/random/pareto_distribution/operators/equal.cc: Likewise. * testsuite/ext/random/pareto_distribution/operators/inequal.cc: Likewise. * testsuite/ext/random/pareto_distribution/operators/serialize.cc: Likewise. * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise. * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise. * testsuite/ext/random/rice_distribution/operators/equal.cc: Likewise. * testsuite/ext/random/rice_distribution/operators/inequal.cc: Likewise. * testsuite/ext/random/rice_distribution/operators/serialize.cc: Likewise. * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/ default.cc: Likewise. * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/ equal.cc: Likewise. * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/ inequal.cc: Likewise. * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/ serialize.cc: Likewise. * testsuite/ext/random/triangular_distribution/cons/default.cc: Likewise. * testsuite/ext/random/triangular_distribution/cons/parms.cc: Likewise. * testsuite/ext/random/triangular_distribution/operators/equal.cc: Likewise. * testsuite/ext/random/triangular_distribution/operators/inequal.cc: Likewise. * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc: Likewise. * testsuite/ext/random/uniform_on_sphere_distribution/operators/ equal.cc: Likewise. * testsuite/ext/random/uniform_on_sphere_distribution/operators/ generate.cc: Likewise. * testsuite/ext/random/uniform_on_sphere_distribution/operators/ inequal.cc: Likewise. * testsuite/ext/random/uniform_on_sphere_distribution/operators/ serialize.cc: Likewise. * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise. * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise. * testsuite/ext/random/von_mises_distribution/operators/equal.cc: Likewise. * testsuite/ext/random/von_mises_distribution/operators/inequal.cc: Likewise. * testsuite/ext/rope/2.cc: Likewise. * testsuite/ext/rope/3.cc: Likewise. * testsuite/ext/rope/4.cc: Likewise. * testsuite/ext/rope/pthread7-rope.cc: Likewise. * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise. * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise. * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise. * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise. * testsuite/ext/stdio_filebuf/char/10063-1.cc: Likewise. * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise. * testsuite/ext/stdio_filebuf/char/10063-3.cc: Likewise. * testsuite/ext/stdio_filebuf/char/2.cc: Likewise. * testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise. * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise. * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise. * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise. * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise. * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise. * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise. * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise. * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise. * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise. * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise. * testsuite/ext/throw_allocator/variadic_construct.cc: Likewise. * testsuite/ext/type_traits/add_unsigned.cc: Likewise. * testsuite/ext/type_traits/remove_unsigned.cc: Likewise. * testsuite/ext/vstring/capacity/29134.cc: Likewise. * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise. * testsuite/ext/vstring/cons/58415-1.cc: Likewise. * testsuite/ext/vstring/cons/moveable.cc: Likewise. * testsuite/ext/vstring/element_access/char/58163.cc: Likewise. * testsuite/ext/vstring/element_access/char/front_back.cc: Likewise. * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise. * testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise. * testsuite/ext/vstring/hash/char/1.cc: Likewise. * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise. * testsuite/ext/vstring/init-list.cc: Likewise. * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise. * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise. * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Likewise. * testsuite/ext/vstring/modifiers/pop_back/char/1.cc: Likewise. * testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc: Likewise. * testsuite/ext/vstring/operators/1.cc: Likewise. * testsuite/ext/vstring/operators/2.cc: Likewise. 2016-10-14 Jonathan Wakely PR libstdc++/65122 * include/ext/malloc_allocator.h (malloc_allocator::allocate): Use aligned_alloc for types with extended alignment if available, otherwise throw bad_alloc if malloc doesn't return a suitable value. * include/ext/bitmap_allocator.h (bitmap_allocator::allocate) (bitmap_allocator::deallocate): Use aligned new/delete for types with extended alignment. * include/ext/mt_allocator.h (__mt_alloc::allocate) (__mt_alloc::deallocate): Likewise. * include/ext/new_allocator.h (new_allocator::allocate) (new_allocator::deallocate): Likewise. * include/ext/pool_allocator.h (__pool_alloc::allocate) (__pool_alloc::deallocate): Likewise. * testsuite/20_util/allocator/overaligned.cc: New test. * testsuite/ext/bitmap_allocator/overaligned.cc: New test. * testsuite/ext/malloc_allocator/overaligned.cc: New test. * testsuite/ext/mt_allocator/overaligned.cc: New test. * testsuite/ext/new_allocator/overaligned.cc: New test. * testsuite/ext/pool_allocator/overaligned.cc: New test. 2016-10-14 Tim Shen PR libstdc++/77944 * include/std/variant: Include for __try and __catch. 2016-10-14 Jonathan Wakely * include/std/functional (_Reference_wrapper_base_impl): Remove. (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t. (_Reference_wrapper_base): Inherit from new helpers. 2016-10-13 Paolo Carlini * testsuite/24_iterators/container_access.cc: Remove 'test' variables. * testsuite/24_iterators/istream_iterator/2.cc: Likewise. * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise. * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise. * testsuite/24_iterators/operations/next.cc: Likewise. * testsuite/24_iterators/operations/prev.cc: Likewise. * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise. * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise. * testsuite/24_iterators/range_access_cpp14.cc: Likewise. * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise. * testsuite/24_iterators/reverse_iterator/3.cc: Likewise. * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise. * testsuite/25_algorithms/all_of/1.cc: Likewise. * testsuite/25_algorithms/any_of/1.cc: Likewise. * testsuite/25_algorithms/binary_search/2.cc: Likewise. * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise. * testsuite/25_algorithms/clamp/1.cc: Likewise. * testsuite/25_algorithms/clamp/2.cc: Likewise. * testsuite/25_algorithms/copy/1.cc: Likewise. * testsuite/25_algorithms/copy/2.cc: Likewise. * testsuite/25_algorithms/copy/3.cc: Likewise. * testsuite/25_algorithms/copy/34595.cc: Likewise. * testsuite/25_algorithms/copy/4.cc: Likewise. * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise. * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise. * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise. * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise. * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise. * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise. * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc: Likewise. * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc: Likewise. * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc: Likewise. * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc: Likewise. * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise. * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise. * testsuite/25_algorithms/copy_n/1.cc: Likewise. * testsuite/25_algorithms/copy_n/2.cc: Likewise. * testsuite/25_algorithms/copy_n/3.cc: Likewise. * testsuite/25_algorithms/copy_n/4.cc: Likewise. * testsuite/25_algorithms/copy_n/50119.cc: Likewise. * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise. * testsuite/25_algorithms/equal_range/2.cc: Likewise. * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise. * testsuite/25_algorithms/fill/1.cc: Likewise. * testsuite/25_algorithms/fill/2.cc: Likewise. * testsuite/25_algorithms/fill/3.cc: Likewise. * testsuite/25_algorithms/fill/4.cc: Likewise. * testsuite/25_algorithms/fill_n/1.cc: Likewise. * testsuite/25_algorithms/find/39546.cc: Likewise. * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise. * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise. * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc: Likewise. * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc: Likewise. * testsuite/25_algorithms/find_if/1.cc: Likewise. * testsuite/25_algorithms/find_if_not/1.cc: Likewise. * testsuite/25_algorithms/for_each/1.cc: Likewise. * testsuite/25_algorithms/heap/1.cc: Likewise. * testsuite/25_algorithms/heap/moveable.cc: Likewise. * testsuite/25_algorithms/heap/moveable2.cc: Likewise. * testsuite/25_algorithms/heap/vectorbool.cc: Likewise. * testsuite/25_algorithms/includes/1.cc: Likewise. * testsuite/25_algorithms/inplace_merge/1.cc: Likewise. * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise. * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise. * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise. * testsuite/25_algorithms/is_heap/1.cc: Likewise. * testsuite/25_algorithms/is_heap_until/1.cc: Likewise. * testsuite/25_algorithms/is_partitioned/1.cc: Likewise. * testsuite/25_algorithms/is_permutation/1.cc: Likewise. * testsuite/25_algorithms/is_permutation/2.cc: Likewise. * testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise. * testsuite/25_algorithms/is_sorted/1.cc: Likewise. * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise. * testsuite/25_algorithms/iter_swap/20577.cc: Likewise. * testsuite/25_algorithms/lower_bound/2.cc: Likewise. * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise. * testsuite/25_algorithms/make_heap/complexity.cc: Likewise. * testsuite/25_algorithms/max/1.cc: Likewise. * testsuite/25_algorithms/max/2.cc: Likewise. * testsuite/25_algorithms/max/3.cc: Likewise. * testsuite/25_algorithms/max/37547.cc: Likewise. * testsuite/25_algorithms/max/4.cc: Likewise. * testsuite/25_algorithms/min/1.cc: Likewise. * testsuite/25_algorithms/min/2.cc: Likewise. * testsuite/25_algorithms/min/3.cc: Likewise. * testsuite/25_algorithms/min/37547.cc: Likewise. * testsuite/25_algorithms/min/4.cc: Likewise. * testsuite/25_algorithms/minmax/1.cc: Likewise. * testsuite/25_algorithms/minmax/2.cc: Likewise. * testsuite/25_algorithms/minmax/3.cc: Likewise. * testsuite/25_algorithms/minmax/37547.cc: Likewise. * testsuite/25_algorithms/minmax_element/1.cc: Likewise. * testsuite/25_algorithms/move/1.cc: Likewise. * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise. * testsuite/25_algorithms/move_backward/1.cc: Likewise. * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise. * testsuite/25_algorithms/next_permutation/moveable.cc: Likewise. * testsuite/25_algorithms/none_of/1.cc: Likewise. * testsuite/25_algorithms/nth_element/1.cc: Likewise. * testsuite/25_algorithms/nth_element/2.cc: Likewise. * testsuite/25_algorithms/nth_element/3.cc: Likewise. * testsuite/25_algorithms/nth_element/moveable.cc: Likewise. * testsuite/25_algorithms/nth_element/random_test.cc: Likewise. * testsuite/25_algorithms/partial_sort/2.cc: Likewise. * testsuite/25_algorithms/partial_sort/check_compare_by_value.cc: Likewise. * testsuite/25_algorithms/partial_sort/moveable.cc: Likewise. * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise. * testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise. * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise. * testsuite/25_algorithms/partition/1.cc: Likewise. * testsuite/25_algorithms/partition/moveable.cc: Likewise. * testsuite/25_algorithms/partition_copy/1.cc: Likewise. * testsuite/25_algorithms/partition_point/1.cc: Likewise. * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise. * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise. * testsuite/25_algorithms/push_heap/complexity.cc: Likewise. * testsuite/25_algorithms/random_shuffle/1.cc: Likewise. * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise. * testsuite/25_algorithms/rotate/1.cc: Likewise. * testsuite/25_algorithms/rotate/moveable.cc: Likewise. * testsuite/25_algorithms/rotate/moveable2.cc: Likewise. * testsuite/25_algorithms/rotate/rotate.cc: Likewise. * testsuite/25_algorithms/search/1.cc: Likewise. * testsuite/25_algorithms/search_n/58358.cc: Likewise. * testsuite/25_algorithms/shuffle/1.cc: Likewise. * testsuite/25_algorithms/sort/1.cc: Likewise. * testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise. * testsuite/25_algorithms/sort/moveable.cc: Likewise. * testsuite/25_algorithms/sort/random_test.cc: Likewise. * testsuite/25_algorithms/sort/vectorbool.cc: Likewise. * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise. * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise. * testsuite/25_algorithms/stable_partition/1.cc: Likewise. * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise. * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise. * testsuite/25_algorithms/stable_sort/2.cc: Likewise. * testsuite/25_algorithms/stable_sort/3.cc: Likewise. * testsuite/25_algorithms/stable_sort/49559.cc: Likewise. * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc: Likewise. * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise. * testsuite/25_algorithms/stable_sort/moveable.cc: Likewise. * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise. * testsuite/25_algorithms/swap_ranges/1.cc: Likewise. * testsuite/25_algorithms/unique/11480.cc: Likewise. * testsuite/25_algorithms/unique/2.cc: Likewise. * testsuite/25_algorithms/unique/moveable.cc: Likewise. * testsuite/25_algorithms/unique_copy/1.cc: Likewise. * testsuite/25_algorithms/unique_copy/2.cc: Likewise. * testsuite/25_algorithms/unique_copy/26133.cc: Likewise. * testsuite/25_algorithms/upper_bound/2.cc: Likewise. * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/basic/ string_range_00_03.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/basic/ string_range_01_03.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/basic/ string_range_02_03.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/ anymatcher.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/extended/ cstring_questionmark.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/extended/ cstring_range.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/extended/ string_range_00_03.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/extended/ string_range_01_03.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/extended/ string_range_02_03.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/extended/ wstring_locale.cc: Likewise. * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc: Likewise. * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise. * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise. * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: Likewise. * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: Likewise. * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise. * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise. * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: Likewise. * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise. * testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise. * testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise. * testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise. * testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise. * testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise. * testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise. * testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise. * testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise. * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise. * testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise. * testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise. * testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise. * testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc: Likewise. * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc: Likewise. * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise. * testsuite/28_regex/basic_regex/ctors/extended/ string_range_01_02_03.cc: Likewise. * testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise. * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise. * testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise. * testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise. * testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise. * testsuite/28_regex/basic_regex/imbue/string.cc: Likewise. * testsuite/28_regex/constants/error_type.cc: Likewise. * testsuite/28_regex/constants/match_flag_type.cc: Likewise. * testsuite/28_regex/init-list.cc: Likewise. * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise. * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc: Likewise. * testsuite/28_regex/iterators/regex_iterator/char/ string_position_01.cc * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc: Likewise. * testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/ default.cc: Likewise. * testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise. * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc: Likewise. * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: Likewise. * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise. * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc: Likewise. * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/ default.cc: Likewise. * testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/ default.cc: Likewise. * testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc: Likewise. * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/ string_01.cc: Likewise. * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/ wstring_02.cc: Likewise. * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise. * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise. * testsuite/28_regex/match_results/format.cc: Likewise. * testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise. * testsuite/28_regex/match_results/swap.cc: Likewise. * testsuite/28_regex/match_results/typedefs.cc: Likewise. * testsuite/28_regex/regex_error/regex_error.cc: Likewise. * testsuite/28_regex/regression.cc: Likewise. * testsuite/28_regex/sub_match/cast_char.cc: Likewise. * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise. * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise. * testsuite/28_regex/sub_match/length.cc: Likewise. * testsuite/28_regex/traits/char/ctor.cc: Likewise. * testsuite/28_regex/traits/char/isctype.cc: Likewise. * testsuite/28_regex/traits/char/length.cc: Likewise. * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise. * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise. * testsuite/28_regex/traits/char/transform.cc: Likewise. * testsuite/28_regex/traits/char/transform_primary.cc: Likewise. * testsuite/28_regex/traits/char/translate.cc: Likewise. * testsuite/28_regex/traits/char/translate_nocase.cc: Likewise. * testsuite/28_regex/traits/char/user_defined.cc: Likewise. * testsuite/28_regex/traits/char/value.cc: Likewise. * testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise. * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise. * testsuite/28_regex/traits/wchar_t/length.cc: Likewise. * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise. * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise. * testsuite/28_regex/traits/wchar_t/transform.cc: Likewise. * testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise. * testsuite/28_regex/traits/wchar_t/translate.cc: Likewise. * testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise. * testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise. * testsuite/28_regex/traits/wchar_t/value.cc: Likewise. * testsuite/29_atomics/atomic/60658.cc: Likewise. * testsuite/29_atomics/atomic/operators/51811.cc: Likewise. * testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise. * testsuite/backward/11460.cc: Likewise. * testsuite/backward/hash_map/1.cc: Likewise. * testsuite/backward/hash_map/25896.cc: Likewise. * testsuite/backward/hash_set/1.cc: Likewise. * testsuite/backward/hash_set/25896.cc: Likewise. * testsuite/decimal/binary-arith.cc: Likewise. * testsuite/decimal/comparison.cc: Likewise. * testsuite/decimal/compound-assignment-memfunc.cc: Likewise. * testsuite/decimal/compound-assignment.cc: Likewise. * testsuite/decimal/conversion-from-float.cc: Likewise. * testsuite/decimal/conversion-from-integral.cc: Likewise. * testsuite/decimal/conversion-to-generic-float.cc: Likewise. * testsuite/decimal/conversion-to-integral.cc: Likewise. * testsuite/decimal/ctor.cc: Likewise. * testsuite/decimal/incdec-memfunc.cc: Likewise. * testsuite/decimal/incdec.cc: Likewise. * testsuite/decimal/make-decimal.cc: Likewise. * testsuite/decimal/pr54036-1.cc: Likewise. * testsuite/decimal/pr54036-2.cc: Likewise. * testsuite/decimal/pr54036-3.cc: Likewise. * testsuite/decimal/unary-arith.cc: Likewise. * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise. * testsuite/special_functions/01_assoc_laguerre/check_value.cc: Likewise. * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise. * testsuite/special_functions/02_assoc_legendre/check_value.cc: Likewise. * testsuite/special_functions/03_beta/check_nan.cc: Likewise. * testsuite/special_functions/03_beta/check_value.cc: Likewise. * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise. * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise. * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise. * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise. * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise. * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise. * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise. * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise. * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise. * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise. * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise. * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise. * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise. * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise. * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise. * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise. * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise. * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise. * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise. * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise. * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise. * testsuite/special_functions/14_expint/check_nan.cc: Likewise. * testsuite/special_functions/14_expint/check_value.cc: Likewise. * testsuite/special_functions/15_hermite/check_nan.cc: Likewise. * testsuite/special_functions/15_hermite/check_value.cc: Likewise. * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise. * testsuite/special_functions/16_laguerre/check_value.cc: Likewise. * testsuite/special_functions/17_legendre/check_nan.cc: Likewise. * testsuite/special_functions/17_legendre/check_value.cc: Likewise. * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise. * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise. * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise. * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise. * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise. * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise. * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise. * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise. * testsuite/tr2/bases/value.cc: Likewise. * testsuite/tr2/direct_bases/value.cc: Likewise. * testsuite/util/debug/checks.h: Likewise. * testsuite/util/debug/unordered_checks.h: Likewise. * testsuite/util/testsuite_allocator.h: Likewise. * testsuite/util/testsuite_api.h: Likewise. * testsuite/util/testsuite_common_types.h: Likewise. * testsuite/util/testsuite_random.h: Likewise. * testsuite/util/testsuite_rvalref.h: Likewise. 2016-10-13 Jonathan Wakely * include/bits/shared_ptr_base.h: Include . [!__cpp_rtti]: Do not include . * include/experimental/array: Do not include . * include/experimental/memory: Include instead of . * include/experimental/propagate_const: Include , , and instead of . * include/experimental/tuple: Do not include . * include/std/future: Include . * include/std/memory: Do not include . * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise. * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add missing includes. * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. * testsuite/20_util/specialized_algorithms/memory_management_tools/ 1.cc: Likewise. * testsuite/30_threads/call_once/60497.cc: Likewise. * testsuite/30_threads/lock/2.cc: Likewise. * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise. * testsuite/experimental/algorithm/sample.cc: Likewise. * testsuite/experimental/array/make_array.cc: Likewise. * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line. * testsuite/experimental/propagate_const/assignment/move_neg.cc: Adjust dg-error lines. * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise. * testsuite/experimental/propagate_const/requirements2.cc: Likewise. * testsuite/experimental/propagate_const/requirements3.cc: Likewise. * testsuite/experimental/propagate_const/requirements4.cc: Likewise. * testsuite/experimental/propagate_const/requirements5.cc: Likewise. * testsuite/experimental/algorithm/sample.cc: Add missing header. * include/experimental/propagate_const (element_type): Qualify declval. * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY instead of assert. * include/experiumental/functional (boyer_moore_searcher) (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers with _GLIBCXX_STD_C. * include/std/functional: Likewise. * include/std/chrono (floor): Replace non-constexpr operation. * testsuite/20_util/duration_cast/rounding.cc: Test conversion to durations with floating pointer representations. * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple) (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols. * include/std/functional (_Bind_simple, _Bind_simple_helper) (__bind_simple): Remove. * include/std/future: Include instead of . (__future_base::_Task_state::_M_run) (__future_base::_Task_state::_M_run_delayed): Use lambda expressions instead of __bind_simple. (__future_base::_Task_state::_S_maybe_wrap_ref): Remove. (async): Use thread::__make_invoker instead of __bind_simple. * include/std/thread: Include and instead of . (thread::_Invoker, thread::__make_invoker): Define helpers to do INVOKE(DECAY_COPY(f), DECAY_COPY(args)...). * include/std/functional (_Not_fn): Make exception specifications depend on whether negating the result can throw. * testsuite/20_util/not_fn/1.cc: Move to ... * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests for types that can throw when negated and that cannot be negated. * include/bits/invoke.h (__invoke): Fix exception-specification. * include/std/functional (invoke): Likewise. * testsuite/20_util/function_objects/invoke/1.cc: New test. 2016-10-12 Paolo Carlini * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of __builtin_printf and __builtin_abort. * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use. * scripts/testsuite_flags.in: Likewise. * testsuite/22_locale/time_get/get/char/1.cc: Likewise. * testsuite/22_locale/time_get/get/char/2.cc: Likewise. * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise. * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust. * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc: Likewise. * testsuite/27_io/objects/char/7.cc: Likewise. * testsuite/27_io/objects/char/9661-1.cc: Likewise. * testsuite/27_io/objects/wchar_t/7.cc: Likewise. * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise. * testsuite/18_support/50594.cc: Remove 'test' variable, adjust. * testsuite/18_support/bad_alloc/what.cc: Likewise. * testsuite/18_support/bad_cast/what.cc: Likewise. * testsuite/18_support/bad_exception/what.cc: Likewise. * testsuite/18_support/bad_typeid/what.cc: Likewise. * testsuite/18_support/exception/38732.cc: Likewise. * testsuite/18_support/exception/what.cc: Likewise. * testsuite/18_support/exception_ptr/64241.cc: Likewise. * testsuite/18_support/exception_ptr/current_exception.cc: Likewise. * testsuite/18_support/exception_ptr/lifespan.cc: Likewise. * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise. * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise. * testsuite/18_support/nested_exception/cons.cc: Likewise. * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise. * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise. * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise. * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise. * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise. * testsuite/18_support/numeric_limits/digits10.cc: Likewise. * testsuite/18_support/numeric_limits/dr559.cc: Likewise. * testsuite/18_support/numeric_limits/epsilon.cc: Likewise. * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise. * testsuite/18_support/numeric_limits/is_signed.cc: Likewise. * testsuite/18_support/numeric_limits/lowest.cc: Likewise. * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise. * testsuite/18_support/numeric_limits/min_max.cc: Likewise. * testsuite/18_support/numeric_limits/specialization_default_values.cc: Likewise. * testsuite/18_support/type_info/hash_code.cc: Likewise. * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise. * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise. * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise. * testsuite/19_diagnostics/error_category/operators/ not_equal.cc: Likewise. * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise. * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise. * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise. * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise. * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise. * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise. * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise. * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise. * testsuite/19_diagnostics/error_condition/modifiers/39881.cc: Likewise. * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise. * testsuite/19_diagnostics/error_condition/operators/equal.cc: Likewise. * testsuite/19_diagnostics/error_condition/operators/not_equal.cc: Likewise. * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise. * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise. * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise. * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise. * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise. * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise. * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise. * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise. * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise. * testsuite/19_diagnostics/system_error/what-1.cc: Likewise. * testsuite/19_diagnostics/system_error/what-2.cc: Likewise. * testsuite/19_diagnostics/system_error/what-3.cc: Likewise. * testsuite/19_diagnostics/system_error/what-4.cc: Likewise. * testsuite/19_diagnostics/system_error/what-big.cc: Likewise. * testsuite/20_util/addressof/1.cc: Likewise. * testsuite/20_util/align/1.cc: Likewise. * testsuite/20_util/align/2.cc: Likewise. * testsuite/20_util/allocator/1.cc: Likewise. * testsuite/20_util/allocator/10378.cc: Likewise. * testsuite/20_util/allocator/8230.cc: Likewise. * testsuite/20_util/allocator_traits/members/allocate_hint.cc: Likewise. * testsuite/20_util/allocator_traits/members/construct.cc: Likewise. * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise. * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise. * testsuite/20_util/any/assign/exception.cc: Likewise. * testsuite/20_util/auto_ptr/1.cc: Likewise. * testsuite/20_util/auto_ptr/2.cc: Likewise. * testsuite/20_util/auto_ptr/3.cc: Likewise. * testsuite/20_util/auto_ptr/4.cc: Likewise. * testsuite/20_util/auto_ptr/5.cc: Likewise. * testsuite/20_util/auto_ptr/6.cc: Likewise. * testsuite/20_util/auto_ptr/7.cc: Likewise. * testsuite/20_util/bind/all_bound.cc: Likewise. * testsuite/20_util/bind/conv_result.cc: Likewise. * testsuite/20_util/bind/cv_quals.cc: Likewise. * testsuite/20_util/bind/cv_quals_2.cc * testsuite/20_util/bind/nested.cc: Likewise. * testsuite/20_util/bind/placeholders.cc: Likewise. * testsuite/20_util/bind/ref.cc: Likewise. * testsuite/20_util/bind/ref2.cc: Likewise. * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise. * testsuite/20_util/duration/arithmetic/1.cc: Likewise. * testsuite/20_util/duration/arithmetic/2.cc: Likewise. * testsuite/20_util/duration/arithmetic/58850.cc: Likewise. * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise. * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise. * testsuite/20_util/duration/comparison_operators/1.cc: Likewise. * testsuite/20_util/duration/cons/1.cc: Likewise. * testsuite/20_util/duration/cons/2.cc: Likewise. * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise. * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/enable_shared_from_this/members/assign.cc: Likewise. * testsuite/20_util/exchange/1.cc: Likewise. * testsuite/20_util/forward/a.cc: Likewise. * testsuite/20_util/forward/b.cc: Likewise. * testsuite/20_util/forward/d.cc: Likewise. * testsuite/20_util/function/1.cc: Likewise. * testsuite/20_util/function/2.cc: Likewise. * testsuite/20_util/function/3.cc: Likewise. * testsuite/20_util/function/4.cc: Likewise. * testsuite/20_util/function/43397.cc: Likewise. * testsuite/20_util/function/5.cc: Likewise. * testsuite/20_util/function/6.cc: Likewise. * testsuite/20_util/function/7.cc: Likewise. * testsuite/20_util/function/8.cc: Likewise. * testsuite/20_util/function/9.cc: Likewise. * testsuite/20_util/function/assign/move.cc: Likewise. * testsuite/20_util/function/cons/move.cc: Likewise. * testsuite/20_util/function_objects/dr660.cc: Likewise. * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise. * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise. * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise. * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise. * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise. * testsuite/20_util/hash/operators/size_t.cc: Likewise. * testsuite/20_util/hash/quality.cc: Likewise. * testsuite/20_util/integral_constant/static_definition.cc: Likewise. * testsuite/20_util/integral_constant/true_false_value.cc: Likewise. * testsuite/20_util/is_function/24808.cc: Likewise. * testsuite/20_util/is_object/24808.cc: Likewise. * testsuite/20_util/move_if_noexcept/1.cc: Likewise. * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise. * testsuite/20_util/owner_less/cmp.cc: Likewise. * testsuite/20_util/pair/1.cc: Likewise. * testsuite/20_util/pair/2.cc: Likewise. * testsuite/20_util/pair/3.cc: Likewise. * testsuite/20_util/pair/4.cc: Likewise. * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise. * testsuite/20_util/pair/moveable.cc: Likewise. * testsuite/20_util/pair/piecewise.cc: Likewise. * testsuite/20_util/pair/swap.cc: Likewise. * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise. * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise. * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise. * testsuite/20_util/ratio/cons/cons1.cc: Likewise. * testsuite/20_util/ratio/operations/45866.cc: Likewise. * testsuite/20_util/ratio/operations/47913.cc: Likewise. * testsuite/20_util/ratio/operations/ops1.cc: Likewise. * testsuite/20_util/ratio/operations/ops2.cc: Likewise. * testsuite/20_util/ratio/operations/ops3.cc: Likewise. * testsuite/20_util/reference_wrapper/invoke.cc: Likewise. * testsuite/20_util/scoped_allocator/1.cc: Likewise. * testsuite/20_util/scoped_allocator/2.cc: Likewise. * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise. * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise. * testsuite/20_util/shared_ptr/assign/move.cc: Likewise. * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: Likewise. * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise. * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise. * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise. * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise. * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise. * testsuite/20_util/shared_ptr/cons/default.cc: Likewise. * testsuite/20_util/shared_ptr/cons/move.cc: Likewise. * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise. * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise. * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise. * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise. * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise. * testsuite/20_util/shared_ptr/creation/make.cc: Likewise. * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise. * testsuite/20_util/shared_ptr/hash/1.cc: Likewise. * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise. * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise. * testsuite/20_util/shared_ptr/misc/io.cc: Likewise. * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise. * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise. * testsuite/20_util/shared_ptr/observers/get.cc: Likewise. * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise. * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise. * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise. * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise. * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. * testsuite/20_util/specialized_algorithms/uninitialized_copy/ move_iterators/1.cc: Likewise. * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/ move_iterators/1.cc: Likewise. * testsuite/20_util/temporary_buffer.cc: Likewise. * testsuite/20_util/time_point/1.cc: Likewise. * testsuite/20_util/time_point/2.cc: Likewise. * testsuite/20_util/time_point/3.cc: Likewise. * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise. * testsuite/20_util/tuple/48476.cc: Likewise. * testsuite/20_util/tuple/comparison_operators/comparisons.cc: Likewise. * testsuite/20_util/tuple/cons/allocators.cc: Likewise. * testsuite/20_util/tuple/cons/assignment.cc: Likewise. * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise. * testsuite/20_util/tuple/cons/constructor.cc: Likewise. * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise. * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise. * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise. * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc: Likewise. * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise. * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise. * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise. * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise. * testsuite/20_util/tuple/element_access/get.cc: Likewise. * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise. * testsuite/20_util/tuple/moveable.cc: Likewise. * testsuite/20_util/tuple/swap.cc: Likewise. * testsuite/20_util/tuple/tuple_size.cc: Likewise. * testsuite/20_util/typeindex/comparison_operators.cc: Likewise. * testsuite/20_util/typeindex/hash.cc: Likewise. * testsuite/20_util/typeindex/hash_code.cc: Likewise. * testsuite/20_util/typeindex/name.cc: Likewise. * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise. * testsuite/20_util/unique_ptr/assign/move.cc: Likewise. * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise. * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise. * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise. * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise. * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise. * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise. * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise. * testsuite/20_util/unique_ptr/creation/array.cc: Likewise. * testsuite/20_util/unique_ptr/creation/single.cc: Likewise. * testsuite/20_util/unique_ptr/hash/1.cc: Likewise. * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise. * testsuite/20_util/unique_ptr/specialized_algorithms/ comparisons.cc: Likewise. * testsuite/20_util/unique_ptr/specialized_algorithms/ comparisons_array.cc: Likewise. * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc: Likewise. * testsuite/20_util/uses_allocator/construction.cc: Likewise. * testsuite/20_util/uses_allocator/value.cc: Likewise. * testsuite/20_util/variant/run.cc: Likewise. * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise. * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise. * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: Likewise. * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise. * testsuite/21_strings/basic_string/allocator/char/move_assign.cc: Likewise. * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: Likewise. * testsuite/21_strings/basic_string/capacity/1.cc: Likewise. * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise. * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise. * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise. * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc: Likewise. * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: Likewise. * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc: Likewise. * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise. * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise. * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise. * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise. * testsuite/21_strings/basic_string/element_access/char/58163.cc: Likewise. * testsuite/21_strings/basic_string/element_access/char/empty.cc: Likewise. * testsuite/21_strings/basic_string/element_access/char/front_back.cc: Likewise. * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc: Likewise. * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc: Likewise. * testsuite/21_strings/basic_string/element_access/wchar_t/ front_back.cc: Likewise. * testsuite/21_strings/basic_string/init-list.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/ 28277.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/pod/ 10081-in.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/pod/ 10081-out.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/ 10.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/ 11.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/ 28277.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/char/2.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/char/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/char/ move_assign.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/ move_assign.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/ stoull.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/ to_string.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ dr1261.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stod.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stof.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoi.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stol.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stold.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoll.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoul.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoull.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ to_wstring.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/char/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/char/13650.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/char/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/wchar_t/ 13650.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/data/char/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/char/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/char/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/char/3.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/char/4.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/char/5.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc: Likewise. * testsuite/21_strings/basic_string/operations/rfind/char/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/rfind/char/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/rfind/char/3.cc: Likewise. * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/operations/substr/char/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/substr/wchar_t/ 1.cc: Likewise. * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise. * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise. * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise. * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise. * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise. * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise. * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/char/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/char/ empty.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/char/ front_back.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/wchar_t/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/wchar_t/ empty.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/wchar_t/ front_back.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/ char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/ wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/ char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/ wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/char/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/char/ 13650.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/ 13650.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/data/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/3.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/4.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/ 2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/ 3.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/ 4.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/char/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/char/ 2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/char/ 3.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/ 2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/ 3.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/string_conversion/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/substr/char/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc: Likewise. * testsuite/21_strings/c_strings/char/1.cc: Likewise. * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise. * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise. * testsuite/21_strings/char_traits/requirements/char/57704.cc: Likewise. * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise. * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise. * doc/xml/manual/test.xml: Fix typo. 2016-10-12 Jonathan Wakely * doc/xml/manual/status_cxx2017.xml: Add std::sample status. * doc/html/*: Regenerate. * include/experimental/algorithm (__sample): Move to bits/stl_algo.h and into namespace std. * include/bits/stl_algo.h (__sample): Define here. Fix invalid use of input iterator. Defend against overloaded comma operator. (sample): Define for C++17. * testsuite/25_algorithms/sample/1.cc: New test. * testsuite/util/testsuite_common_types.h (bitwise_assignment_operators): Use direct-initialization for C++11 and later, to avoid CopyConstructible requirement. * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error line numbers. * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise. * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise. * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise. * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Adjust expected errors and line numbers. * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove. (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call. * include/bits/stl_uninitialized.h (__uninitialized_default_novalue_n_1): Add missing return. * testsuite/20_util/specialized_algorithms/memory_management_tools/ 1.cc: Check return values of uninitialized_xxx_n algorithms. * libsupc++/nested_exception.h (throw_with_nested): Remove return. * doc/xml/manual/intro.xml: Document LWG 2442 status. * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove. [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define partial specialization to unpack args and forward to std::invoke. (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call instead of __bind_simple and __once_call_impl. (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of __bind_simple. * testsuite/30_threads/call_once/dr2442.cc: New test. 2016-10-11 Jonathan Wakely * include/bits/stl_list.h (assign(initializer_list)): Call _M_assign_dispatch directly with correct tag. * doc/xml/manual/intro.xml: Document LWG 2484 status. * libsupc++/nested_exception.h (_Throw_with_nested_impl) (_Throw_with_nested_helper): Remove. (__throw_with_nested_impl): New overloaded functions to implement throw_with_nested logic. (throw_with_nested): Call __throw_with_nested_impl. (_Rethrow_if_nested_impl): Remove (__rethrow_if_nested_impl): New overloaded functions to implement rethrow_if_nested logic. (rethrow_if_nested): Call __rethrow_if_nested_impl. * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test problem cases from LWG 2484. * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary): Register printer for std::__cxx11::list. * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match std::__cxx11::list as well as std::list. * include/experimental/string_view (basic_string_view::_S_compare): Remove redundant const from return type. * include/std/string_view (basic_string_view:_S_compare): Likewise. * include/bits/std_mutex.h (mutex::native_handle) (lock_guard(mutex_type&, adopt_lock_t) (unique_lock(mutex_type&, adopt_lock_t): Add noexcept. * include/std/mutex (recursive_mutex, timed_mutex) (recursive_timed_mutex): Likewise. 2016-10-10 Jonathan Wakely * doc/xml/manual/appendix_contributing.xml (contrib.organization): Replace with nested elements. Update some more outdated text. * doc/html/*: Regenerate. 2016-10-10 Ville Voutilainen Make any's copy assignment operator exception-safe, don't copy the underlying value when any is moved, make in_place constructors explicit. * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)): Make explicit. (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)): Likewise. (operator=(const any&)): Make strongly exception-safe. (operator=(any&&)): reset() unconditionally in the case where rhs has a value. (operator=(_ValueType&&)): Indent the return type. (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy. * testsuite/20_util/any/assign/2.cc: Adjust. * testsuite/20_util/any/assign/exception.cc: New. * testsuite/20_util/any/cons/2.cc: Adjust. * testsuite/20_util/any/cons/explicit.cc: New. * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust. 2016-10-10 Jonathan Wakely * doc/xml/manual/appendix_contributing.xml (contrib.organization): Describe other subdirectories and add markup. Remove outdated reference to check-script target. * doc/html/*: Regenerate. * doc/xml/manual/status_cxx2011.xml: Correct C++11 status. * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT with noexcept. * include/std/functional (_Bind_result::__enable_if_void): Use alias template instead of class template. (_Bind_result::__disable_if_void): Likewise. (_Bind_result::__call): Adjust uses of __enable_if_void and __disable_if_void. * doc/xml/manual/intro.xml: Document DR 2296 status. * doc/xml/manual/status_cxx2017.xml: Update status. * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and call __builtin_addressof. (addressof): Add _GLIBCXX17_CONSTEXPR. * testsuite/20_util/addressof/requirements/constexpr.cc: New test. * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno. * testsuite/20_util/forward/f_neg.cc: Likewise. * include/bits/allocator.h (allocator::is_always_equal): Define. * testsuite/20_util/allocator/requirements/typedefs.cc: Test for is_always_equal. * testsuite/util/testsuite_allocator.h (uneq_allocator::is_always_equal): Define as false_type. * include/experimental/numeric (gcd, lcm): Make bool arguments ill-formed. * include/std/numeric (gcd, lcm): Likewise. * testsuite/26_numerics/gcd/gcd_neg.cc: New test. * testsuite/26_numerics/lcm/lcm_neg.cc: New test. * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this): Add noexcept. * include/bits/shared_ptr_base.h (__enable_shared_from_this::weak_from_this): Likewise. * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: Test exception-specification of weak_from_this. 2016-10-07 Jonathan Wakely * doc/xml/manual/status_cxx1998.xml: Improve documentation of implementation-defined properties. * doc/xml/manual/status_cxx2011.xml: Likewise. * doc/xml/manual/status_cxx2017.xml: Likewise. * doc/xml/manual/status_cxx2017.xml: Update status. * include/std/type_traits (has_unique_object_representations): Define. * testsuite/20_util/has_unique_object_representations/value.cc: New. * testsuite/20_util/has_unique_object_representations/requirements/ explicit_instantiation.cc: New. * testsuite/20_util/has_unique_object_representations/requirements/ typedefs.cc: New. 2016-10-06 Jonathan Wakely * doc/xml/manual/status_cxx2011.xml: Update status. * include/std/scoped_allocator (__outer_allocator_t, __outermost_type): New helpers for recursive OUTERMOST. (__outermost): Use __outermost_type::_S_outermost. (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove. (scoped_allocator_adaptor::__outermost_alloc_traits): Use new __outermost_type helper. (scoped_allocator_adaptor::_Constructible): New alias template. (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>): Constrain template constructors. * testsuite/20_util/scoped_allocator/3.cc: New test. * testsuite/20_util/scoped_allocator/outermost.cc: New test. 2016-10-05 Jonathan Wakely PR libstdc++/70564 * testsuite/20_util/not_fn/1.cc: Fix test. * testsuite/experimental/functional/not_fn.cc: Likewise. PR libstdc++/70101 * include/bits/stl_queue.h (priority_queue): Fix allocator-extended constructors. * testsuite/23_containers/priority_queue/allocator.cc: New test. PR libstdc++/77864 * include/bits/stl_map.h (map::map()): Use nothrow constructibility of comparison function in conditional noexcept. * include/bits/stl_multimap.h (multimap::multimap()): Likewise. * include/bits/stl_multiset.h (multiset::multiset()): Likewise. * include/bits/stl_set.h (set::set()): Likewise. * testsuite/23_containers/map/cons/noexcept_default_construct.cc: New test. * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc: Likewise. * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc: Likewise. * testsuite/23_containers/set/cons/noexcept_default_construct.cc: Likewise. * include/bits/node_handle.h (_Node_handle): Remove invalid and unused alias declaration. PR libstdc++/70564 * include/experimental/functional (_Not_fn): Remove. (not_fn): Use std::_Not_fn. * include/std/functional (_Not_fn): Add second parameter to disambiguate copying from initialization by not_fn. Define for C++14. (not_fn): Add second argument to initialization. * testsuite/20_util/not_fn/1.cc: Copy call wrapper using direct-initialization. 2016-10-03 François Dumont * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move declaration... * src/c++11/mutex_pool.h: ... here. New. * src/c++11/debug.cc: Use latter. 2016-10-03 Jonathan Wakely * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status. * doc/html/*: Regenerate. * include/experimental/numeric (__abs): Move to . (gcd, lcm): Use __detail::gcd and __detail::lcm. * include/std/numeric (__detail::__abs_integral) (__detail::__gcd, __detail::__lcm): Define. (gcd, lcm): Define for C++17. * testsuite/26_numerics/gcd/1.cc: New test. * testsuite/26_numerics/lcm/1.cc: New test. * testsuite/experimental/numeric/gcd.cc: Swap contents with ... * testsuite/experimental/numeric/lcd.cc: ... this. PR libstdc++/68323 PR libstdc++/77794 * config/abi/pre/gnu-versioned-namespace.ver: Add exports for __cxa_thread_atexit and __gnu_cxx::__freeres. * include/Makefile.am: Add * include/Makefile.in: Regenerate. * include.bits/basic_string.h: Fix nesting of versioned namespaces. * include/bits/c++config: Declare versioned namespaces for literals. * include/bits/regex.h (basic_regex, match_results): Add workarounds for PR c++/59256. * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace. * include/std/chrono: Likewise. * include/std/complex: Likewise. * include/std/string_view: Likewise. * include/std/variant: Likewise. Add workaround for PR c++/59256. * include/experimental/bits/fs_fwd.h: Declare versioned namespace. * include/experimental/bits/lfts_config.h: Declare versioned namespaces. * include/experimental/algorithm: Include . * include/experimental/any: Likewise. * include/experimental/bits/erase_if.h: Likewise. * include/experimental/chrono: Likewise. * include/experimental/functional: Likewise. * include/experimental/memory_resource: Likewise. * include/experimental/optional: Likewise. * include/experimental/propagate_const: Likewise. * include/experimental/random: Likewise. * include/experimental/ratio: Likewise. * include/experimental/system_error: Likewise. * include/experimental/tuple: Likewise. * include/experimental/type_traits: Likewise. * include/experimental/utility: Likewise. * include/experimental/string_view: Likewise. Fix nesting of versioned namespaces. * include/experimental/bits/string_view.tcc: Reopen inline namespace for non-inline function definitions. * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test. * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line. * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise. * testsuite/experimental/propagate_const/assignment/move_neg.cc: Likewise. * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise. * testsuite/experimental/propagate_const/requirements2.cc: Likewise. * testsuite/experimental/propagate_const/requirements3.cc: Likewise. * testsuite/experimental/propagate_const/requirements4.cc: Likewise. * testsuite/experimental/propagate_const/requirements5.cc: Likewise. * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise. PR libstdc++/77814 * include/bits/std_abs.h: Use "C++" language linkage. * testsuite/17_intro/headers/c++2011/linkage.cc: Move to the end. Add . 2016-10-03 Ville Voutilainen PR libstdc++/77802 * testsuite/20_util/tuple/77802.cc: New. Revert: 2016-09-21 Ville Voutilainen Implement LWG 2729 for tuple. * include/std/tuple (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally. (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise. (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New. (_Tuple_impl(const _Head&)): Constrain. (_Tuple_impl(_UHead&&)): Likewise. (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally. (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain. (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise. (operator=(const tuple&)): Enable conditionally. (operator=(tuple&&)): Suppress conditionally. (operator=(const tuple<_UElements...>&)): Constrain. (operator=(tuple<_UElements...>&&)): Likewise. (operator=(const tuple&)): Enable conditionally (2-param tuple). (operator=(tuple&&)): Suppress conditionally (2-param tuple). (operator=(const tuple<_U1, _U2>&)): Constrain. (operator=(tuple<_U1, _U2>&&)): Likewise. (operator=(const pair<_U1, _U2>&)): Likewise. (operator=(pair<_U1, _U2>&&)): Likewise. * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust. * testsuite/20_util/tuple/tuple_traits.cc: New. 2016-09-30 Jonathan Wakely PR libstdc++/77795 * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check for gets. * config.h.in: Regenerate. * configure: Regenerate. * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare for C++98 and C++11. * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise. * testsuite/27_io/headers/cstdio/functions_neg.cc: New test. * doc/xml/manual/intro.xml: Document LWG 2192 changes. * doc/html/*: Regenerate. * include/Makefile.am: Add bits/std_abs.h. * include/Makefile.in: Regenerate. * include/bits/std_abs.h: New header defining all required overloads of std::abs in one place (LWG 2294). * include/c_global/cmath (abs(double), abs(float), abs(long double)): Move to bits/std_abs.h. (abs<_Tp>(_Tp)): Remove. * include/c_global/cstdlib (abs(long), abs(long long), abs(__int)): Move to bits/std_abs.h. * testsuite/26_numerics/headers/cmath/dr2192.cc: New test. * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test. * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test. * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test. PR libstdc++/77801 * include/experimental/numeric: Include . (__abs): Define. (gcd, lcm): Use __abs instead of std::abs. * testsuite/experimental/numeric/77801.cc: New test. * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs. * testsuite/experimental/numeric/lcm.cc: Likewise. 2016-09-29 Ville Voutilainen Make optional::reset noexcept, make optional::value work in constant expressions. * include/std/optional (_M_get): Make constexpr. (reset): Make noexcept. * testsuite/20_util/optional/assignment/7.cc: New. * testsuite/20_util/optional/observers/6.cc: New. 2016-09-29 Jonathan Wakely * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads outside _GLIBCXX_USE_C99_MATH_TR1 condition. 2016-09-29 Alan Modra * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST. * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo): Use LONG_DOUBLE_COMPAT_FLAGS. * Makefile.in: Regenerate. * configure: Regenerate. * doc/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * python/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * src/c++11/Makefile.in: Regenerate. * src/c++98/Makefile.in: Regenerate. * src/filesystem/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. 2016-09-28 Jonathan Wakely * include/std/chrono (system_clock): Fix typo in comment. * include/experimental/bits/fs_fwd.h (file_time_type): Simplify definition. * src/filesystem/ops.cc (file_time): Take error_code parameter and check for overflow. (do_copy_file, last_write_time): Pass error_code in file_time calls. * testsuite/experimental/filesystem/operations/last_write_time.cc: New. * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper. PR libstdc++/77686 * include/std/functional (_Any_data): Add may_alias attribute. 2016-09-27 Jonathan Wakely * doc/xml/manual/status_cxx2017.xml: Update status. * doc/html/*: Regenerate. * include/std/functional (__cpp_lib_boyer_moore_searcher): Define. * testsuite/20_util/function_objects/searchers.cc: Test feature macro. * doc/xml/manual/status_cxx2017.xml: Update status. * include/c_global/cmath (hypot): Add three-dimensional overloads. * testsuite/26_numerics/headers/cmath/hypot.cc: New. 2016-09-26 Ville Voutilainen PR libstdc++/77727 * include/std/optional (optional(const optional<_Up>&)): Default-initialize the base and use emplace. (optional(optional<_Up>&&)): Likewise. * testsuite/20_util/optional/cons/77727.cc: New. 2016-09-26 François Dumont * include/debug/safe_base.h (_Safe_iterator_base::_M_detach_single): Make public. 2016-09-26 Jonathan Wakely * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not redefine macro defined in . * include/bits/stl_map.h (map::extract(const_iterator)): Assert that iterator is not past-the-end. * include/bits/stl_multimap.h (multimap::extract(const_iterator)): Likewise. * include/bits/stl_multiset.h (multiset::extract(const_iterator)): Likewise. * include/bits/stl_set.h (set::extract(const_iterator)): Likewise. * include/bits/unordered_map.h (unordered_map::extract(const_iterator)) (unordered_multimap::extract(const_iterator)): Likewise. * include/bits/unordered_set.h (unordered_set::extract(const_iterator)) (unordered_multiset::extract(const_iterator)): Likewise. 2016-09-26 Ville Voutilainen PR libstdc++/77717 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc: Fix an out-of-bounds access. 2016-09-26 Marek Polacek PR c/7652 * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]]. 2016-09-25 François Dumont * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove functional. (get_safe_base_mutex): Get mutex based on address lowest non nil bits. * testsuite/23_containers/vector/debug/mutex_association.cc: New. * include/debug/bitset (bitset::reference::reference(const _Base_ref&, bitset*)): Remove __unused__ attribute. * include/debug/safe_base.h (_Safe_iterator_base): Make _Safe_sequence_base a friend. (_Safe_iterator_base::_M_attach): Make protected. (_Safe_iterator_base::_M_attach_single): Likewise. (_Safe_iterator_base::_M_detach): Likewise. (_Safe_iterator_base::_M_detach_single): Likewise. (_Safe_sequence_base): Make _Safe_iterator_base a friend. (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New. (_Safe_sequence_base::_M_swap): Make protected. (_Safe_sequence_base::_M_attach): Make private. (_Safe_sequence_base::_M_attach_single): Likewise. (_Safe_sequence_base::_M_detach): Likewise. (_Safe_sequence_base::_M_detach_single): Likewise. * include/debug/safe_container.h (_Safe_container::_Safe_container(_Safe_container&&)): Make default. * include/debug/safe_iterator.h (_Safe_iterator::operator++()): Name __scoped_lock instance. * include/debug/safe_iterator.tcc: Remove trailing line. * include/debug/safe_unordered_base.h (_Safe_local_iterator_base::_M_attach): Make protected. (_Safe_local_iterator_base::_M_attach_single): Likewise. (_Safe_local_iterator_base::_M_detach): Likewise. (_Safe_local_iterator_base::_M_detach_single): Likewise. (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend. (_Safe_unordered_container_base::_M_attach_local): Make private. (_Safe_unordered_container_base::_M_attach_local_single): Likewise. (_Safe_unordered_container_base::_M_detach_local): Likewise. (_Safe_unordered_container_base::_M_detach_local_single): Likewise. * include/parallel/algo.h: Generalize usage of std::__iterator_category. Adjust whitespaces. 2016-09-23 Jonathan Wakely PR libstdc++/56166 PR libstdc++/77582 * include/bits/basic_string.h (basic_string::clear()): Drop reference and use empty rep. * include/ext/rc_string_base.h (__rc_string_base::_M_clear()): Likewise. * testsuite/21_strings/basic_string/56166.cc: New. * testsuite/ext/vstring/modifiers/clear/56166.cc: New. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string::erase(size_type, size_type)): Add fast path for truncating the string, by calling _M_set_length directly. (basic_string::erase(__const_iterator, __const_iterator)): Likewise. * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (basic_string::resize(size_type, _CharT)): Likewise. 2016-09-22 Jason Merrill * configure.ac: Define HAVE_MEMALIGN for newlib. 2015-09-23 Sebastian Huber * config/cpu/m68k/atomicity.h: Adjust comment. * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor explicit atomicity_dir setup via configure.host. * configure.host (rtems-*): Set atomicity_dir. * configure: Regenerate. 2016-09-22 Jonathan Wakely Implement C++17 node extraction and insertion (P0083R5) * doc/xml/manual/status_cxx2017.xml: Document status. * doc/html/*: Regenerate. * include/Makefile.am: Add bits/node_handle.h and reorder. * include/Makefile.in: Regenerate. * include/bits/hashtable.h (_Hashtable::node_type) (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node) (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract) (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define. (_Hash_merge_helper): Define primary template. * include/bits/node_handle.h: New header. * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as friend. (map::node_type, map::insert_return_type, map::extract, map::merge) (map::insert(node_type&&), map::insert(const_iterator, node_type&&)): Define new members. (_Rb_tree_merge_helper): Specialize for map. * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper as friend. (multimap::node_type, multimap::extract, multimap::merge) (multimap::insert(node_type&&)) (multimap::insert(const_iterator, node_type&&)): Define. (_Rb_tree_merge_helper): Specialize for multimap. * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper as friend. (multiset::node_type, multiset::extract, multiset::merge) (multiset::insert(node_type&&)) (multiset::insert(const_iterator, node_type&&)): Define. * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as friend. (set::node_type, set::insert_return_type, set::extract, set::merge) (set::insert(node_type&&), set::insert(const_iterator, node_type&&)): Define. (_Rb_tree_merge_helper): Specialize for set. * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend. (_Rb_tree::node_type, _Rb_tree::insert_return_type) (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal) (_Rb_tree::_M_reinsert_node_hint_unique) (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract) (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define. (_Rb_tree_merge_helper): Specialize for multiset. * include/bits/unordered_map.h (unordered_map): Declare unordered_map<> and unordered_multimap<> as friends. (unordered_map::node_type, unordered_map::insert_return_type) (unordered_map::extract, unordered_map::merge) (unordered_map::insert(node_type&&)) (unordered_map::insert(const_iterator, node_type&&)) (unordered_multimap): Declare _Hash_merge_helper as friend. (unordered_multimap::node_type, unordered_multimap::extract) (unordered_multimap::merge, unordered_multimap::insert(node_type&&)) (unordered_multimap::insert(const_iterator, node_type&&)): Define. (_Hash_merge_helper): Specialize for unordered maps and multimaps. * include/bits/unordered_set.h (unordered_set, unordered_multiset): Declare _Hash_merge_helper as friend. (unordered_set::node_type, unordered_set::insert_return_type) (unordered_set::extract, unordered_set::merge) (unordered_set::insert(node_type&&)) (unordered_set::insert(const_iterator, node_type&&)): Define. (unordered_multiset::node_type, unordered_multiset::extract) (unordered_multiset::merge, unordered_multiset::insert(node_type&&)) (unordered_multiset::insert(const_iterator, node_type&&)): Define. (_Hash_merge_helper): Specialize for unordered sets and multisets. * include/debug/map.h (map): Add using declarations or forwarding functions for new members. * include/debug/map.h (multimap): Likewise. * include/debug/map.h (multiset): Likewise. * include/debug/map.h (set): Likewise. * include/debug/unordered_map (unordered_map, unordered_multimap): Likewise. * include/debug/unordered_set( unordered_set, unordered_multiset): Likewise. * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New helper function. (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper. (StdNodeHandlePrinter): Define printer for node handles. (build_libstdcxx_dictionary): Register StdNodeHandlePrinter. * testsuite/23_containers/map/modifiers/extract.cc: New. * testsuite/23_containers/map/modifiers/merge.cc: New. * testsuite/23_containers/multimap/modifiers/extract.cc: New. * testsuite/23_containers/multimap/modifiers/merge.cc: New. * testsuite/23_containers/multiset/modifiers/extract.cc: New. * testsuite/23_containers/multiset/modifiers/merge.cc: New. * testsuite/23_containers/set/modifiers/extract.cc: New. * testsuite/23_containers/set/modifiers/merge.cc: New. * testsuite/23_containers/unordered_map/modifiers/extract.cc: New. * testsuite/23_containers/unordered_map/modifiers/merge.cc: New. * testsuite/23_containers/unordered_multimap/modifiers/extract.cc: New. * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New. * testsuite/23_containers/unordered_multiset/modifiers/extract.cc: New. * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New. * testsuite/23_containers/unordered_set/modifiers/extract.cc: New. * testsuite/23_containers/unordered_set/modifiers/merge.cc: New. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust dg-error lineno. * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles. 2016-09-22 Ville Voutilainen Fix tests on old arm platforms for optional. * testsuite/20_util/optional/77288.cc: Don't use exception_ptr. 2016-09-22 Jonathan Wakely * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for recent change to _Variant_storage. * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with reference type. * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify std::forward and ::new. Cast pointer to void*. * include/std/variant (_Variant_storage, _Union, _Variant_base) (__access, __visit_invoke, variant, visit): Qualify std::forward. * testsuite/20_util/variant/compile.cc: Test for ADL problems. 2016-09-22 Tim Shen * include/std/variant (variant::operator=): Fix assignment on references. * testsuite/20_util/variant/compile.cc: Add test. 2016-09-22 Tim Shen PR libstdc++/77641 * include/std/variant (_Variant_storage::_Variant_storage): Change _Variant_storage's union to be default constructible. * testsuite/20_util/variant/compile.cc: New test. 2016-09-21 Ville Voutilainen PR libstdc++/77288 * include/std/optional (__is_optional_impl, __is_optional): Remove. (__converts_from_optional, __assigns_from_optional): New. (optional(_Up&&)): Use is_same instead of __is_optional. (optional(const optional<_Up>&)): Constrain with __converts_from_optional. (optional(optional<_Up>&&)): Likewise. (operator=(_Up&&)): Use is_same instead of __is_optional, check is_same and is_scalar. (operator=(const optional<_Up>&)): Constrain with __converts_from_optional and __assigns_from_optional. (operator=(optional<_Up>&&)): Likewise. * testsuite/20_util/optional/77288.cc: New. * testsuite/20_util/optional/cons/value.cc: Adjust. 2016-09-21 Ville Voutilainen Implement LWG 2729 for tuple. * include/std/tuple (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally. (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise. (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New. (_Tuple_impl(const _Head&)): Constrain. (_Tuple_impl(_UHead&&)): Likewise. (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally. (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain. (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise. (operator=(const tuple&)): Enable conditionally. (operator=(tuple&&)): Suppress conditionally. (operator=(const tuple<_UElements...>&)): Constrain. (operator=(tuple<_UElements...>&&)): Likewise. (operator=(const tuple&)): Enable conditionally (2-param tuple). (operator=(tuple&&)): Suppress conditionally (2-param tuple). (operator=(const tuple<_U1, _U2>&)): Constrain. (operator=(tuple<_U1, _U2>&&)): Likewise. (operator=(const pair<_U1, _U2>&)): Likewise. (operator=(pair<_U1, _U2>&&)): Likewise. * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust. * testsuite/20_util/tuple/tuple_traits.cc: New. 2016-09-21 Ville Voutilainen PR libstdc++/77537 Implement LWG 2729 for pair. * include/bits/stl_pair.h (_PCC): New. (_ConstructiblePair, _ImplicitlyConvertiblePair): Turn into static member functions of _PCC. (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise. (_PCCP): New. (pair(const _T1&, const _T2&)): Adjust. (_PCCFP): New. (pair(const pair<_U1, _U2>&)): Adjust. (pair(_U1&&, const _T2&)): Likewise. (pair(const _T1&, _U2&&)): Likewise. (pair(_U1&&, _U2&&)): Likewise. (pair(pair<_U1, _U2>&&)): Likewise. (operator=(const pair&)): Make conditionally deleted. (operator=(pair&&)): Make conditionally suppressed. (operator=(const pair<_U1, _U2>&)): Constrain. (operator=(pair<_U1, _U2>&&): Likewise. * include/std/type_traits (__nonesuch): New. * testsuite/20_util/pair/traits.cc: New. 2016-09-20 Ville Voutilainen PR libstdc++/77619 * include/bits/stl_construct.h: (_Construct_novalue): New. (_Destroy_n_aux, _Destroy_n): New. * include/bits/stl_uninitialized.h: (type_traits): New include in C++11 mode. (__uninitialized_default_novalue_1): New. (__uninitialized_default_novalue_n_1): Likewise. (__uninitialized_default_novalue): Likewise. (__uninitialized_default_novalue_n): Likewise. (__uninitialized_copy_n_pair): Likewise. (uninitialized_default_construct): Use __uninitialized_default_novalue. (uninitialized_default_construct_n): Use __uninitialized_default_novalue_n. (uninitialized_value_construct): Use __uninitialized_default. (uninitialized_value_construct_n): Use __uninitialized_default_n. (uninitialized_move): Use uninitialized_copy. (uninitialized_move_n): Use __uninitialized_copy_n_pair. (destroy_at): Use _Destroy. (destroy): Likewise. (destroy_n): Likewise. * testsuite/20_util/specialized_algorithms/ memory_management_tools/1.cc: Add tests for exceptions, add tests for trivial cases for construct and move. 2016-09-20 Jonathan Wakely * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__) (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division. 2016-09-19 Jonathan Wakely PR libstdc++/77645 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__) (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of division to int to work with Python 3. * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs. * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow display_hint to be set by subclasses. (StdVariantPrinter): Use array for display_hint. Adjust output to be more similar to std::any and std::optional output. (register_type_printers): Add type printers for basic_string_view typedefs and experimental::any. Adjust type printers for fundamentals_v1 templates to match fundamentals_v2 and later. * testsuite/libstdc++-prettyprinters/cxx17.cc: New. PR libstdc++/77645 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename argument. (ListWorkerBase.get_value_from_node): Define new method. (ListFrontWorker.__call__, ListBackWorker.__call__): Use it. 2016-09-17 Jonathan Wakely * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define. (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter): Register for C++17 components in namespace std. Strip inline namespace from typename. 2016-09-16 Jonathan Wakely * doc/xml/manual/profile_mode.xml: Fix typo. * doc/html/manual/profile_mode_devel.html: Regenerate. 2016-09-16 Jonathan Wakely Marc Glisse * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)): Replace modulus operator with mask. 2016-09-16 Jonathan Wakely * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc): Increase alignment if less than sizeof(void*). [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)): Increase size if not a multiple of alignment. 2016-09-15 Jonathan Wakely * doc/xml/manual/debug_mode.xml: Minor editorial fixes. * doc/html/*: Regenerate. * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove -Wno-deprecated. * testsuite/util/debug/checks.h (generate_unique): Specialize. 2016-09-14 Marek Polacek * testsuite/23_containers/vector/debug/insert6_neg.cc: Use -Wno-deprecated. 2016-09-14 Christophe Lyon * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Move dg-do directive before dg-skip. * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc: Move dg-do directive before dg-require. * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise. * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise. * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise. * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise. * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise. * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise. * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise. * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc: Likewise. * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise. * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise. * testsuite/27_io/objects/char/12048-5.cc: Likewise. * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise. * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise. 2016-09-13 Ville Voutilainen Implement P0040R3, Extending memory management tools. * include/bits/stl_uninitialized.h (utility): New include in C++17 mode. (uninitialized_default_construct): New. (uninitialized_default_construct_n): Likewise. (uninitialized_value_construct): Likewise. (uninitialized_value_construct_n): Likewise. (uninitialized_move): Likewise. (uninitialized_move_n): Likewise. (destroy_at, destroy, destroy_n): Likewise. * testsuite/20_util/specialized_algorithms/memory_management_tools/ 1.cc: New. 2016-09-12 Jason Merrill * config/abi/pre/gnu.ver: Use [jmy] for size_t. 2016-09-12 Ville Voutilainen Implement P0253R1, Fixing a design mistake in the searchers interface in Library Fundamentals. * include/std/functional: (utility): New include in C++17 mode. (default_searcher): Use a pair as return type, adjust the definition. (boyer_moore_searcher): Likewise. (boyer_moore_horspool_searcher): Likewise. * testsuite/20_util/function_objects/searchers.cc: Adjust. 2016-09-12 Ville Voutilainen Implement C++17 string searchers. * include/std/functional: (unordered_map, vector): New includes in C++17 mode. (array, bits/stl_algo.h): Likewise. (default_searcher, __boyer_moore_map_base): New. (__boyer_moore_array_base, __is_std_equal_to): Likewise. (__boyer_moore_base_t, boyer_moore_searcher): Likewise. (boyer_moore_horspool_searcher, make_default_searcher): Likewise. (make_boyer_moore_searcher): Likewise. (make_boyer_moore_horspool_searcher): Likewise. * testsuite/20_util/function_objects/searchers.cc: New. 2016-09-12 Matthew Wahab * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: Move dg-do directive before dg-require. * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc: Likewise. * testsuite/22_locale/codecvt/utf8.cc: Likewise. * testsuite/22_locale/locale/cons/unicode.cc: Likewise. * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise. * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise. * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise. * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise. * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/deque/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise. * testsuite/23_containers/forward_list/debug/60499.cc: Likewise. * testsuite/23_containers/forward_list/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/ iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc: Likewise. * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise. * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise. * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise. * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise. * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/map/debug/60499.cc: Likewise. * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/60499.cc: Likewise. * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/ iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/60499.cc: Likewise. * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/ iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/set/debug/60499.cc: Likewise. * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise. * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/ invalid_local_iterator_compare_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/ invalid_local_iterator_range_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/ iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/ use_erased_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/ use_invalid_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/ use_invalid_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/ invalid_local_iterator_compare_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/ invalid_local_iterator_range_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/ iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/ max_load_factor_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/ self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/ use_erased_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/ use_invalid_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/ use_invalid_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/60499.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/ invalid_local_iterator_compare_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/ invalid_local_iterator_range_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/ iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/ max_load_factor_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/ self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/ use_erased_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/ use_invalid_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/ use_invalid_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/60499.cc: Likewise. * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/ invalid_local_iterator_compare_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/ invalid_local_iterator_range_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/ iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/ max_load_factor_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/ self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/ use_erased_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/ use_invalid_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/ use_invalid_local_iterator_neg.cc: Likewise. * testsuite/23_containers/vector/debug/52433.cc: Likewise. * testsuite/23_containers/vector/debug/60499.cc: Likewise. * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise. * testsuite/23_containers/vector/debug/ iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/vector/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise. * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise. * testsuite/25_algorithms/push_heap/complexity.cc: Likewise. * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise. * testsuite/29_atomics/atomic/60658.cc: Likewise. * testsuite/29_atomics/atomic/60695.cc: Likewise. * testsuite/29_atomics/atomic/62259.cc: Likewise. * testsuite/29_atomics/atomic/64658.cc: Likewise. * testsuite/29_atomics/atomic/cons/49445.cc: Likewise. * testsuite/29_atomics/atomic/operators/51811.cc: Likewise. * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Likewise. 2016-09-11 Jonathan Wakely * libsupc++/new_opant.cc: Include exception_defines.h. * libsupc++/new_opvant.cc: Likewise. 2016-09-09 Jason Merrill Implement P0035R4, C++17 new of over-aligned types. * libsupc++/new: Declare aligned new/delete operators. * config/abi/pre/gnu.ver: Export them. * configure.ac: Check for aligned_alloc, posix_memalign, memalign, _aligned_malloc. * libsupc++/new_opa.cc: New. * libsupc++/new_opant.cc: New. * libsupc++/new_opva.cc: New. * libsupc++/new_opva.cc: New. * libsupc++/del_opa.cc: New. * libsupc++/del_opant.cc: New. * libsupc++/del_opsa.cc: New. * libsupc++/del_opva.cc: New. * libsupc++/del_opvant.cc: New. * libsupc++/del_opvsa.cc: New. * libsupc++/Makefile.am: Build them. 2016-09-05 Tim Shen * include/std/variant: include bits/move.h for std::addressof. 2016-09-05 Mikhail Strelnikov * include/std/variant (_Variant_storage::_M_storage()): Use std::addressof instead of operator& to take address. 2016-09-02 Maxim Kuvyrkov * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of setrlimit on both native and cross targets. * configure: Regenerate. 2016-08-31 Jonathan Wakely * include/bits/shared_ptr.h (_Assignable): New alias template. (shared_ptr::operator=(const shared_ptr<_Tp1>&)) (shared_ptr::operator=(shared_ptr<_Tp1>&&)) (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with _Assignable. * include/bits/shared_ptr_base.h (_Assignable): New alias template. (__shared_ptr::operator=(const __shared_ptr<_Tp1>&)) (__shared_ptr::operator=(__shared_ptr<_Tp1>&&)) (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with _Assignable. (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter)) (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with _Convertible. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to match on any line. * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test. * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update expected errors. Remove unnecessary code. * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test. * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move comparison object. * testsuite/23_containers/set/move_comparison.cc: New test. * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: New test. 2016-08-30 Ville Voutilainen PR libstdc++/77395 * include/std/type_traits (is_constructible): Forward-declare... (__is_base_to_derived_ref): ...and use here. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust. * testsuite/20_util/is_constructible/77395.cc: New. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/tuple/77395.cc: New. 2016-08-30 Uros Bizjak * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run directive above dg-require-namedlocale directive. * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto. * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto. * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto. * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto. * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto. 2016-08-27 Tim Shen PR libstdc++/77356 * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher, _M_expression_term): Modify to support dash literal. * include/bits/regex_scanner.h: Add dash as a token type to make a different from the mandated dash literal by escaping. * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash token in bracket expression parsing. * testsuite/28_regex/regression.cc: Add new testcases. 2016-08-26 Jonathan Wakely PR libstdc++/51960 * doc/xml/manual/intro.xml: Document DR 2127 change. * doc/html/*: Regenerate. * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add. (operator++(), operator++(int)): Use injected class name. * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test. * testsuite/*: Use { target c++11 } or { target c++14 } instead of using -std in dg-options. 2016-08-26 Jonathan Wakely Pedro Alves * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save and restore dg-interpreter-batch-mode. * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use gdb-dg-runtest instead of dg-runtest. * testsuite/libstdc++-xmethods/xmethods.exp: Likewise. 2016-08-26 Jonathan Wakely * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more precise patterns for basic_string constructors. (GLIBCXX_3.4.23): Export new constructors. * doc/xml/manual/intro.xml: Document LWG 2583 status. * doc/html/*: Regenerate. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string(const basic_string&, size_type, const Alloc&)): Add new constructor for LWG 2583. (basic_string(const basic_string&, size_type, size_type)): Remove default argument. [!_GLIBCXX_USE_CXX11_ABI]: Likewise. * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it. * testsuite/21_strings/basic_string/cons/char/8.cc: New test. * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test. 2016-08-24 Aditya Kumar * include/bits/algorithmfwd.h: Remove trailing whitespace. * include/bits/shared_ptr_base.h: Likewise. 2016-08-23 Jonathan Wakely * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR. * include/profile/array (array): Likewise. (array::swap): Fix exception specification for zero-sized arrays. PR libstdc++/77334 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions. (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign. * testsuite/23_containers/map/77334.cc: New test. * doc/xml/manual/using.xml: Remove reference to -pthreads option. * doc/html/*: Regenerate. * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile. * testsuite/experimental/feat-lib-fund.cc: Likewise. PR libstdc++/71771 * include/bits/stl_iterator.h (operator-(reverse_iterator, reverse_iterator): Only define for C++98 mode. (operator-(move_iterator, move_iterator): Don't define. * testsuite/24_iterators/headers/iterator/synopsis.cc: Use -std=gnu++98. * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test. * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test. * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test. * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test difference operator. * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test difference operator for C++98. * testsuite/24_iterators/reverse_iterator/71771.cc: New test. * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define. * include/bits/range_access.h (begin, end, rbegin, rend, crbegin) (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0. * include/bits/stl_iterator.h (reverse_iterator, move_iterator) (__make_reverse_iterator, make_reverse_iterator, make_move_iterator): Likewise. * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add _GLIBCXX14_CONSTEXPR. (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR. * include/std/array (array::begin, array::end, array::rbegin) (array::rend, array::cbegin, array:cend, array::crbegin) (array::crend, array::operator[], array::at, array::front) (array::back, array::data): Likewise. * testsuite/24_iterators/headers/iterator/range_access.cc: Replace with separate tests for C++11, C++14, and C++17. * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New. * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New. * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New. 2016-08-22 Tim Shen Split _M_dfs() into smaller functions. * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin) (_M_handle_subexpr_end, _M_handle_line_begin_assertion) (_M_handle_line_end_assertion, _M_handle_word_boundary) (_M_handle_subexpr_lookahead, _M_handle_match) (_M_handle_backref, _M_handle_accept, _M_handle_alternative): Add separate function declarations. * regex_executor.tcc: Split _M_dfs() into multiple handler functions. 2016-08-22 Gleb Natapov PR libstdc++/68297 * config/abi/pre/gnu-versioned-namespace.ver: Export __cxa_init_primary_exception and std::exception_ptr(void*). * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and export __cxa_init_primary_exception and std::exception_ptr(void*). * include/Makefile.am: Add new headers. * include/Makefile.in: Regenerate. * libsupc++/Makefile.am: Add new headers. * libsupc++/Makefile.in: Regenerate. * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ... * libsupc++/cxxabi_init_exception.h: New header. (__cxa_init_primary_exception): Declare. * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define. (__cxa_throw): Use __cxa_init_primary_exception. * libsupc++/exception (std::exception): Move to ... * libsupc++/exception.h: New header. * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add friend declaration. (__exception_ptr::__dest_thunk): New function template. (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: Use __cxa_allocate_exception and __cxa_init_primary_exception to create exception_ptr. * libsupc++/typeinfo: Include bits/exception.h instead of exception. * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version. 2016-08-22 Jonathan Wakely * doc/xml/api.xml: Replace hardcoded links for specific versions with link to docs for all releases. * doc/html/*: Regenerate. PR libstdc++/77322 * doc/xml/manual/intro.xml: Document DR 2062 change. * include/std/functional (function::swap): Add noexcept. (swap(function * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for *-*-solaris* instead of -pthreads. * testsuite/21_strings/basic_string/pthread4.cc : Likewise. * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise. * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise. * testsuite/23_containers/list/pthread1.cc: Likewise. * testsuite/23_containers/list/pthread5.cc: Likewise. * testsuite/23_containers/map/pthread6.cc: Likewise. * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise. * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise. * testsuite/30_threads/shared_mutex/*: Likewise. * testsuite/ext/rope/pthread7-rope.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/thread/ default_weaktoshared.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/thread/ mutex_weaktoshared.cc: Likewise. * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use dg-require-effective-target instead of using -std option. * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise. * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise. * testsuite/30_threads/async/*: Likewise. * testsuite/30_threads/call_once/*: Likewise. * testsuite/30_threads/condition_variable/*: Likewise. * testsuite/30_threads/condition_variable_any/*: Likewise. * testsuite/30_threads/future/*: Likewise. * testsuite/30_threads/lock/*: Likewise. * testsuite/30_threads/mutex/*: Likewise. * testsuite/30_threads/packaged_task/*: Likewise. * testsuite/30_threads/promise/*: Likewise. * testsuite/30_threads/recursive_mutex/*: Likewise. * testsuite/30_threads/recursive_timed_mutex/*: Likewise. * testsuite/30_threads/shared_future/*: Likewise. * testsuite/30_threads/shared_lock/*: Likewise. * testsuite/30_threads/shared_timed_mutex/*: Likewise. * testsuite/30_threads/this_thread/*: Likewise. * testsuite/30_threads/thread/*: Likewise. * testsuite/30_threads/timed_mutex/*: Likewise. * testsuite/30_threads/try_lock/*: Likewise. * testsuite/30_threads/unique_lock/*: Likewise. * doc/xml/manual/status_cxx2017.xml: Update status of not_fn. * doc/html/*: Regenerate. * include/experimental/functional (_Not_fn, not_fn): Match C++17 semantics. * include/std/functional (_Not_fn, not_fn): Define for C++17. * testsuite/20_util/not_fn/1.cc: New. * testsuite/experimental/functional/not_fn.cc: Test abstract class. Remove test for volatile-qualified wrapper. * include/std/atomic (atomic::is_always_lock_free): Define. * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno. * testsuite/29_atomics/atomic/is_always_lock_free.cc: New. * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New. * doc/xml/manual/status_cxx2017.xml: Update status. * doc/html/*: Regenerate. * include/experimental/tuple (apply): Qualify call to __apply_impl. * include/std/tuple (apply): Likewise. * testsuite/experimental/system_error/value.cc: Fix ambiguities in C++17 mode. * testsuite/experimental/tuple/tuple_size.cc: Likewise. * testsuite/experimental/type_traits/value.cc: Likewise. * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple and variant. * doc/html/*: Regenerate. 2016-08-18 Ville Voutilainen Implement the latest proposed resolution of LWG 2756. * include/std/optional (Optional_base(const _Tp&)) (Optional_base(_Tp&&), using _Base::_Base): Remove. (optional(nullopt_t)): New. (optional(_Up&&)): Invoke base directly with in_place rather than creating a temporary, add default template argument, change constraints. (optional(const optional<_Up>&)): Invoke base directly with in_place, remove unnecessary constraints. (optional(optional<_Up>&& __t)): Likewise. (optional(in_place_t, _Args&&...)): New. (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise. (operator=(_Up&&)): Add default template argument, change constraints. (operator=(const optional<_Up>&)): Put is_same first in the constraints. (operator=(optional<_Up>&&)): Likewise. * testsuite/20_util/optional/assignment/5.cc: Add a test to verify assignment from something that can't be perfect-forwarded. * testsuite/20_util/optional/cons/value.cc: Add tests to verify that a nested optional is disengaged when constructed from a disengaged element type, and to verify that assignments from an engaged element type engage the optional. 2016-08-18 Tim Shen Implement * include/Makefile.am: Add new file std/variant. * include/Makefile.in: Generated from Makefile.am. * include/bits/enable_special_members.h: Add a tag type to allow the construction in non-default constructor. * include/bits/uses_allocator.h: Add convenience traits to detect constructibility. * include/std/variant: Implement . * testsuite/20_util/variant/compile.cc: Compile-time tests. * testsuite/20_util/variant/run.cc: Runtime tests. 2016-08-18 Jonathan Wakely * doc/xml/manual/test.xml (test.run.permutations): Expand section. (test.new_tests): Rewrite section. (tests.dg.directives): New section. * doc/html/*: Regenerate. * doc/xml/manual/test.xml: Improve documentation of test targets. Document new-abi-baseline, check-debug, and check-parallel targets. * doc/xml/manual/build_hacking.xml: New section on shared library versioning. * doc/xml/manual/build_hacking.xml: Improve markup. * doc/xml/manual/test.xml: Likewise. Change section title from "Test" to "Testing". * doc/xml/faq.xml: Change link text to "Testing". * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended dg-options directive. 2016-08-17 Jonathan Wakely * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do directive and use effective target instead of dg-options. * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target instead of -std in dg-options. * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise. * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise. * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise. * testsuite/20_util/hash/quality.cc: Likewise. * testsuite/25_algorithms/heap/moveable.cc: Likewise. * testsuite/25_algorithms/heap/moveable2.cc: Likewise. * testsuite/25_algorithms/nth_element/random_test.cc: Likewise. * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise. * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise. * testsuite/25_algorithms/sort/random_test.cc: Likewise. * testsuite/20_util/tuple/67844.cc: Require c++11 effective target. * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise. * testsuite/27_io/rvalue_streams.cc: Likewise. * testsuite/26_numerics/complex/literals/types.cc: Add comment. * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc: Remove duplicate dg-options directive. * testsuite/ext/profile/all.cc: Use effective target instead of -std=gnu++11. Use dg-additional-options instead of repeating options. * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output instead of dg-excess-errors. * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable test for C++17. * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17. * testsuite/experimental/ratio/value.cc: Likewise. * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for C++17. * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for C++17 compatibility. * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust expected signatures for C++14 compatibility. PR libstdc++/77264 * include/bits/basic_string.h (operator=(__sv_type) (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type)) (replace(size_type, size_type, __sv_type)) (replace(const_iterator, const_iterator, __sv_type)) (find(__sv_type, size_type), rfind(__sv_type, size_type)) (compare(size_type, size_type, __sv_type)): Reformat. (_If_sv): Define helper for SFINAE constaints. (append(const _Tp&, size_type, size_type)) (assign(const _Tp&, size_type, size_type)) (insert(size_type, const _Tp&, size_type, size_type)) (replace(size_type, size_type, const _Tp&, size_type, size_type)): Use _If_sv. * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test SFINAE constraints. * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/char/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: Likewise. 2016-08-16 Jonathan Wakely PR libstdc++/72847 * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero pointers to start and end of storage. * testsuite/23_containers/vector/bool/72847.cc: New test. * include/bits/vector.tcc (vector::_M_reallocate): Only update _M_finish after deallocating. (vector::_M_fill_insert): Likewise. (vector::_M_insert_range): Likewise. (vector::_M_insert_aux): Likewise. 2016-08-15 Ville Voutilainen Implement LWG 2744 and LWG 2754. * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type. (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay. (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)): Likewise. (emplace(_Args&&...)): Likewise. (emplace(initializer_list<_Up>, _Args&&...)): Likewise. * include/std/utility: (__is_in_place_type_impl): New. (__is_in_place_type): Likewise. * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying emplace. * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying in_place constructor. * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust. * testsuite/20_util/any/requirements.cc: Add a test for in_place-constructing a non-default-constructible type. 2016-08-15 Ville Voutilainen Add a feature macro for C++17 make_from_tuple. * include/std/tuple (__cpp_lib_make_from_tuple): New. (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)): Qualify the call to get<>(). * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust. 2016-08-15 Uros Bizjak * src/filesystem/ops.cc: Always include ostream and ext/stdio_filebuf.h. (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined. [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case sendfile fails with ENOSYS or EINVAL. 2016-08-15 Thomas Preud'homme PR libstdc++/72840 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error syntax. 2016-08-11 Ville Voutilainen Implement C++17 make_from_tuple. * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New. * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise. 2016-08-11 Ville Voutilainen Implement LWG 2758. * include/bits/basic_string.h (append(__sv_type, size_type, size_type)): Turn into a template, change parameter type, constrain, add a conversion to __sv_type from the dependent parameter type. (assign(__sv_type, size_type, size_type)): Likewise. (insert(size_type, __sv_type, size_type, size_type)): Likewise. (replace(size_type, size_type, __sv_type, size_type, size_type)): Likewise. (compare(size_type, size_type,__sv_type, size_type, size_type)): Likewise. * testsuite/21_strings/basic_string/lwg2758.cc: New. 2016-08-06 Jonathan Wakely * doc/xml/manual/status_cxx2017.xml: Update status table. * doc/html/manual/status.html: Regenerate. * testsuite/lib/libstdc++.exp: Fix typo in comment. PR libstdc++/72820 * include/std/functional (_Function_base::_Base_manager::_M_clone): Qualify new operator. * testsuite/20_util/function/cons/72820.cc: New test. * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features. * doc/html/manual/status.html: Regenerate. * include/Makefile.am: Add new header. * include/Makefile.in: Regenerate. * include/bits/invoke.h: New header. (__invoke): Make constexpr. Add && to types in exception specification. * include/experimental/tuple (apply, __apply_impl): Fix non-reserved names. Include and use std::__invoke. * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to new header. (invoke): Add && to types in exception specification. * include/std/tuple (apply, __apply_impl): Define for C++17. * testsuite/20_util/tuple/apply/1.cc: New test. * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error lineno. 2016-08-05 Jonathan Wakely * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status. * doc/html/manual/status.html: Regenerate. * include/std/chrono (floor, ceil, round, abs): New for C++17. * testsuite/20_util/duration_cast/rounding.cc: New test. * testsuite/20_util/time_point_cast/rounding.cc: New test. * doc/xml/manual/status_cxx2017.xml: Update status table. * doc/html/manual/status.html: Regenerate. * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust dg-error lineno. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. * testsuite/20_util/duration/literals/range.cc: Likewise. * include/std/functional (__callable_functor): Remove. (_Function_handler::_M_invoke): Use __invoke instead of __callable_functor or mem_fn. (function::_Callable): Use lvalue in result_of expression. (function): Remove TODO comments about allocators. * testsuite/20_util/function/cons/refqual.cc: New test. 2016-08-04 Jonathan Wakely * doc/xml/manual/status_cxx2017.xml: Update status table. * include/std/functional (__inv_unwrap): Move to . (__invoke_impl): Remove exception specifications. (__invoke, invoke): Add exception specifications using __is_nothrow_callable. * include/std/type_traits (__inv_unwrap): Move from . (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers. (__is_callable, __is_nothrow_callable): New traits. (is_callable, is_callable_v): New C++17 traits. (is_nothrow_callable, is_nothrow_callable_v): Likewise. * testsuite/20_util/is_callable/requirements/ explicit_instantiation.cc: New test. * testsuite/20_util/is_callable/requirements/ explicit_instantiation_ext.cc: New test. * testsuite/20_util/is_callable/requirements/typedefs.cc: New test. * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New test. * testsuite/20_util/is_callable/value.cc: New test. * testsuite/20_util/is_callable/value_ext.cc: New test. * testsuite/20_util/is_nothrow_callable/requirements/ explicit_instantiation.cc: New test. * testsuite/20_util/is_nothrow_callable/requirements/ explicit_instantiation_ext.cc: New test. * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc: New test. * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc: New test. * testsuite/20_util/is_nothrow_callable/value.cc: New test. * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test. * doc/xml/manual/status_cxx2017.xml: Update C++17 status table. * doc/html/manual/status.html: Regenerate. * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use effective target not dg-options. Move check for feature-test macro to: * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: New test. * include/std/functional (_Unwrap): Rename to __inv_unwrap. (__invfwd): Adjust. (__invoke_impl): Remove unused template parameters. * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused parameter. * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc and test __invoke extension for C++11. 2016-08-03 Jonathan Wakely * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this): Define feature-test macro. * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test for the macro. * include/bits/shared_ptr.h (shared_ptr::weak_type): Define. * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error. * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test. * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. * include/std/utility (as_const): Define. * testsuite/20_util/as_const/1.cc: New test. * testsuite/20_util/as_const/rvalue_neg.cc: New test. * include/bits/shared_ptr.h (owner_less): Add default template argument. * include/bits/shared_ptr_base.h (_Sp_owner_less): Define specialization. (owner_less): Define specialization. * include/bits/stl_function.h (__cpp_lib_transparent_operators): Update value. * testsuite/20_util/owner_less/void.cc: New test. * testsuite/experimental/feat-cxx14.cc: Update macro value tested. * include/bits/allocator.h (__cpp_lib_incomplete_container_elements): Define feature-test macro. * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise. * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment. * include/std/type_traits (__cpp_lib_logical_traits): Fix value. (__cpp_lib_type_trait_variable_templates): Define. * include/bits/stl_function.h: Remove commented-out macro. * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup): Define feature-test macro. * testsuite/experimental/feat-cxx14.cc: Add tests for more macros. * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is true. * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't do #error for C++17. * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead of __STDCPP_WANT_MATH_SPEC_FUNCS__. * include/tr1/bessel_function.tcc: Likewise. * include/tr1/beta_function.tcc: Likewise. * include/tr1/cmath: Likewise. * include/tr1/ell_integral.tcc: Likewise. * include/tr1/exp_integral.tcc: Likewise. * include/tr1/gamma.tcc: Likewise. * include/tr1/hypergeometric.tcc: Likewise. * include/tr1/legendre_function.tcc: Likewise. * include/tr1/modified_bessel_func.tcc: Likewise. * include/tr1/poly_hermite.tcc: Likewise. * include/tr1/poly_laguerre.tcc: Likewise. * include/tr1/riemann_zeta.tcc: Likewise. * include/tr1/special_function_util.h: Likewise. * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New. * include/std/type_traits (has_trivial_default_constructor): Remove. (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise. * testsuite/20_util/has_trivial_copy_assign/requirements/ explicit_instantiation.cc: Remove test. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error line number. * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc: Likewise. * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/requirements/ typedefs.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. * testsuite/20_util/has_trivial_default_constructor/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/has_trivial_default_constructor/requirements/ typedefs.cc: Likewise. * testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise. * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc: Check has_trivial_default_constructor, has_trivial_copy_constructor, and has_trivial_copy_assign are not defined. * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out tests. * testsuite/20_util/tuple/requirements/dr801.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust dg-error line number. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. 2016-08-02 Jonathan Wakely * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type. * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: Likewise. * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: Likewise. * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve comments. * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move dg-error to relevant line. * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc: Likewise. * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise. * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags. * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if options are present that aren't valid for C. * testsuite/abi/header_cxxabi.c: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ check_value.cc: Do not add special functions to namespace std in TR1 test. * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only run for C++11 and later. * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise. * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise. * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise. * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise. * testsuite/ext/special_functions/hyperg/compile.cc: Likewise. * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise. * testsuite/special_functions/01_assoc_laguerre/check_value.cc: Likewise. * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise. * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Likewise. * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise. * testsuite/special_functions/02_assoc_legendre/check_value.cc: Likewise. * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise. * testsuite/special_functions/02_assoc_legendre/compile_2.cc: * testsuite/special_functions/03_beta/check_nan.cc: Likewise. * testsuite/special_functions/03_beta/check_value.cc: Likewise. * testsuite/special_functions/03_beta/compile.cc: Likewise. * testsuite/special_functions/03_beta/compile_2.cc: Likewise. * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise. * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise. * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise. * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise. * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise. * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise. * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise. * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise. * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise. * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise. * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise. * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise. * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise. * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise. * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise. * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise. * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise. * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise. * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise. * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise. * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise. * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise. * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise. * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise. * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise. * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise. * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise. * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise. * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise. * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise. * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise. * testsuite/special_functions/11_ellint_1/compile.cc: Likewise. * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise. * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise. * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise. * testsuite/special_functions/12_ellint_2/compile.cc: Likewise. * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise. * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise. * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise. * testsuite/special_functions/13_ellint_3/compile.cc: Likewise. * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise. * testsuite/special_functions/14_expint/check_nan.cc: Likewise. * testsuite/special_functions/14_expint/check_value.cc: Likewise. * testsuite/special_functions/14_expint/compile.cc: Likewise. * testsuite/special_functions/14_expint/compile_2.cc: Likewise. * testsuite/special_functions/15_hermite/check_nan.cc: Likewise. * testsuite/special_functions/15_hermite/check_value.cc: Likewise. * testsuite/special_functions/15_hermite/compile.cc: Likewise. * testsuite/special_functions/15_hermite/compile_2.cc: Likewise. * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise. * testsuite/special_functions/16_laguerre/check_value.cc: Likewise. * testsuite/special_functions/16_laguerre/compile.cc: Likewise. * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise. * testsuite/special_functions/17_legendre/check_nan.cc: Likewise. * testsuite/special_functions/17_legendre/check_value.cc: Likewise. * testsuite/special_functions/17_legendre/compile.cc: Likewise. * testsuite/special_functions/17_legendre/compile_2.cc: Likewise. * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise. * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise. * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise. * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise. * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise. * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise. * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise. * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise. * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise. * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise. * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise. * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise. * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise. * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise. * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise. * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead of [[gnu::unused]]. * testsuite/tr1/5_numerical_facilities/special_functions/ 09_cyl_bessel_j/check_value.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/check_value.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 11_cyl_neumann/check_value.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 21_sph_bessel/check_value.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 23_sph_neumann/check_value.cc: Likewise. 2016-08-02 Rainer Orth * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise. 2016-08-02 Jonathan Wakely * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip test if -flto used. * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to additional flags for compiling libtestc++.a objects. 2016-08-01 Jonathan Wakely * include/bits/basic_string.h (data() const): Update comment. (data()): Add non-const overload for C++17. * testsuite/21_strings/basic_string/operations/data/char/2.cc: New. * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New. * include/bits/basic_string.tcc: Disable explicit instantiation declarations for C++17. * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove ignored "xfail" from { dg-do compile { xfail selector } } directive. * testsuite/23_containers/unordered_multimap/requirements/53339.cc: Likewise. * testsuite/26_numerics/headers/cmath/ c99_classification_macros_c++11.cc: Likewise. * testsuite/26_numerics/headers/cmath/ c99_classification_macros_c++98.cc: Likewise. * testsuite/26_numerics/headers/cmath/ c99_classification_macros_c.cc: Likewise. * testsuite/backward/hash_set/check_construct_destroy.cc: Account for different construct/destroy counts in C++98 mode. * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options. * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and later. * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: Likewise. * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use C++98-compatible initialization for array. * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove unused header and variable from compile-only test. * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise. * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise. * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise. * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: Likewise. * testsuite/experimental/string_view/operations/rfind/char/2.cc: Remove duplicate dg-options directive. * testsuite/20_util/specialized_algorithms/uninitialized_copy/ 808590.cc: Use -std=gnu++98 instead of -std=gnu++03. * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove linker options from compile-only tests. * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise. * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test supported for C++11 and later. * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise. * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise. 2016-08-01 Uros Bizjak * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. 2016-07-31 Jonathan Wakely * testsuite/20_util/conditional/requirements/typedefs.cc: Change to compile-only test. * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Ensure test is compiled with optimization. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Adjust dg-prune-output pattern for error in C++98 mode. * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only run for C++11 or later. * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix test to not rely on GNU extension (escaped normal characters in POSIX BRE). Enable tests for other strings which are now supported. * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target c++11 instead of setting -std=gnu++14. PR libstdc++/72745 * include/std/array (get): Use positive message for static assertions. * include/std/functional (_Safe_tuple_element_t): Fix indentation. * include/std/tuple (tuple_element>): Add partial specialization for invalid indices, with static assertion. * testsuite/20_util/tuple/element_access/get_neg.cc: New test. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move dg-error to relevant line. * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ assign_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/ insert_neg.cc: Likewise. * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/ requirements/non_uint_neg.cc: Likewise. * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc: Likewise. Also test for std::atomic_address. 2016-07-31 Ville Voutilainen Add missing variable traits, fix testsuite failures. * include/bits/uses_allocator.h (uses_allocator_v): New. * include/std/functional (is_bind_expression_v, is_placeholder_v): Likewise. * testsuite/20_util/bind/is_placeholder_v.cc: Likewise. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust. * testsuite/20_util/duration/literals/range.cc: Likewise. * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise. * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc: New. 2016-07-31 Jonathan Wakely * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do not test 128-bit types. * testsuite/20_util/is_floating_point/value.cc: Likewise. * testsuite/20_util/is_integral/value.cc: Likewise. * testsuite/20_util/is_signed/value.cc: Likewise. * testsuite/20_util/is_unsigned/value.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise. * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc. 2016-07-29 Ville Voutilainen Implement C++17 variable templates for type traits. * include/std/chrono (treat_as_floating_point_v): New. * include/std/ratio (ratio_equal_v, ratio_not_equal_v) (ratio_less_v, ratio_less_equal_v, ratio_greater_v) (ratio_greater_equal_v): Likewise. * include/std/system_error (is_error_code_enum_v) (is_error_condition_enum_v): Likewise. * include/std/tuple (tuple_size_v): Likewise. * type_traits (conjunction_v, disjunction_v, negation_v) (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v) (is_array_v, is_pointer_v, is_lvalue_reference_v) (is_rvalue_reference_v, is_member_object_pointer_v) (is_member_function_pointer_v, is_enum_v, is_union_v) (is_class_v, is_function_v, is_reference_v, is_arithmetic_v) (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v) (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v) (is_trivially_copyable_v, is_standard_layout_v) (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v) (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v) (is_constructible_v, is_default_constructible_v) (is_copy_constructible_v, is_move_constructible_v) (is_assignable_v, is_copy_assignable_v, is_move_assignable_v) (is_destructible_v, is_trivially_constructible_v) (is_trivially_default_constructible_v) (is_trivially_copy_constructible_v, is_trivially_move_constructible_v) (is_trivially_assignable_v, is_trivially_copy_assignable_v) (is_trivially_move_assignable_v, is_trivially_destructible_v) (is_nothrow_constructible_v, is_nothrow_default_constructible_v) (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v) (is_nothrow_assignable_v, is_nothrow_copy_assignable_v) (is_nothrow_move_assignable_v, is_nothrow_destructible_v) (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v) (is_same_v, is_base_of_v, is_convertible_v): Likewise. * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise. * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc: Likewise. * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise. * testsuite/20_util/tuple/tuple_size_v.cc: Likewise. * testsuite/20_util/variable_templates_for_traits.cc: Likewise. 2016-07-29 Andreas Schwab * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. 2016-07-29 Jonathan Wakely * doc/xml/manual/abi.xml: Document 6.0.22 library version. * doc/html/manual/abi.html: Regenerate. * acinclude.m4 (libtool_VERSION): Bump to 6:23:0. * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string symbols. * configure: Regenerate. * testsuite/util/testsuite_abi.cc: Add new symbol version. * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Likewise. * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise. 2016-07-28 Jonathan Wakely * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Adjust dg-prune-output pattern for error in C++98 mode. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/vector/check_construct_destroy.cc: Account for different construct/destroy counts in C++98 mode. * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific dg-options to dg-additional-options so that default options are used. * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc: Likewise. * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise. * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc: Likewise. * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Use dg-additional-options instead of repeating the common options. * testsuite/22_locale/conversions/string/1.cc: Remove unintended dg-do compile directive. * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of dg-do directive. * testsuite/26_numerics/valarray/const_bracket.cc: Likewise. 2016-07-28 Ville Voutilainen Implement std::string_view and P0254r2, Integrating std::string_view and std::string. * include/Makefile.am: Add string_view and string_view.tcc to the exported headers. * include/Makefile.in: Likewise. * include/bits/basic_string.h: Include in C++17 mode. (__sv_type): New. (basic_string(__sv_type, const _Alloc&)): Likewise. (operator=(__sv_type)): Likewise. (operator __sv_type()): Likewise. (operator+=(__sv_type)): Likewise. (append(__sv_type __sv)): Likewise. (append(__sv_type, size_type, size_type)): Likewise. (assign(__sv_type)): Likewise. (assign(__sv_type, size_type, size_type)): Likewise. (insert(size_type, __sv_type)): Likewise. (insert(size_type, __sv_type, size_type, size_type)): Likewise. (replace(size_type, size_type, __sv_type)): Likewise. (replace(size_type, size_type, __sv_type, size_type, size_type)): Likewise. (replace(const_iterator, const_iterator, __sv_type)): Likewise. (find(__sv_type, size_type)): Likewise. (rfind(__sv_type, size_type)): Likewise. (find_first_of(__sv_type, size_type)): Likewise. (find_last_of(__sv_type, size_type)): Likewise. (find_first_not_of(__sv_type, size_type)): Likewise. (find_last_not_of(__sv_type, size_type)): Likewise. (compare(__sv_type)): Likewise. (compare(size_type, size_type, __sv_type)): Likewise. (compare(size_type, size_type, __sv_type, size_type, size_type)): Likewise. * include/bits/string_view.tcc: New. * include/std/string_view: Likewise. * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/char/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/char/5.cc: Likewise. * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc: Likewise. * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise. * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise. * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/char/empty.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc: Likewise. * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc: Likewise. * testsuite/21_strings/basic_string_view/include.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/data/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/3.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/4.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/range_access/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc: Likewise. * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/requirements/typedefs.cc: Likewise. * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise. * testsuite/21_strings/basic_string_view/types/1.cc: Likewise. 2016-07-27 Jonathan Wakely * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line. 2016-07-25 Georeth Chow * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify _S_concat enumerator. * testsuite/ext/rope/6.cc: New test. 2016-07-25 Jonathan Wakely * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use std::mt19937, std::thread and std::atomic to simplify test. * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. 2016-07-22 Jonathan Wakely PR libstdc++/71964 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor. * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator. * testsuite/21_strings/basic_string/allocator/71964.cc: New test. * testsuite/23_containers/set/allocator/71964.cc: New test. * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use delete[] instead of delete. 2016-07-21 Jonathan Wakely * include/experimental/propagate_const (propagate_const::__t): Rename to _M_t and remove comment. Qualify std::move and std::forward. * testsuite/experimental/propagate_const/cons/default.cc: Fix test. * testsuite/23_containers/vector/zero_sized_allocations.cc: Define sized deallocation function. * testsuite/util/testsuite_new_operators.h: (operator delete(void*, const std::nothrow_t&)): Define nothrow deallocation function. * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix reads past the end of strings. * testsuite/21_strings/basic_string/operations/compare/char/1.cc: Likewise. * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix invalid array accesses. * testsuite/experimental/string_view/operations/compare/char/1.cc: Fix read past the end of string. * testsuite/util/testsuite_character.cc: Fix out-of-bounds write. * testsuite/24_iterators/container_access.cc: Fix missing returns. * testsuite/24_iterators/range_access_cpp14.cc: Likewise. * testsuite/18_support/new_delete_placement.cc: Don't allocate (and leak) memory for arguments to placement delete. * testsuite/20_util/addressof/1.cc: Don't leak memory. * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise. * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc: Likewise. 2016-07-20 Jonathan Wakely * doc/xml/manual/intro.xml: Document DR 2684 status. * doc/html/*: Regenerate. * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t) (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t) (atomic_uint64_t): Define (LWG 2441). * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty lines. * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for the new types. * doc/xml/manual/intro.xml: Document DR 2441 status. * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust to use perfect forwarding (LWG 2328). * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding. * doc/xml/manual/intro.xml: Document DR 2328 status. * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use static objects for catching nullptr as pointer to member types. 2016-07-18 Ville Voutilainen Clean up optional's comments. * include/std/optional: Remove incorrect section headers from comments when redundant, replace bare section headers with more descriptive comments. 2016-07-15 Jonathan Wakely * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments. * include/bits/move.h: Likewise. * include/bits/postypes.h: Likewise. * include/debug/bitset: Likewise. * include/ext/pb_ds/detail/type_utils.hpp: Likewise. * include/ext/string_conversions.h: Change C++0x to __cxx11 in comment. * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment. * testsuite/util/thread/all.h: Likewise. * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE and adjust comment. PR c++/58796 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make nullptr match handlers of pointer type. 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net> Implement C++17 P0025 clamp. * include/bits/algorithmfwd.h: Declare clamp overloads. * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp. * testsuite/25_algorithms/clamp/1.cc: New test. * testsuite/25_algorithms/clamp/2.cc: New test. * testsuite/25_algorithms/clamp/constexpr.cc: New test. * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/ 1.cc: New test. * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/ pod.cc: New test. 2016-07-14 Ville Voutilainen Fix the constraints for any's assignment operator template to properly reject assignment from a non-copyable lvalue. * include/std/any (operator=(_ValueType&&)): Constrain the decayed type for is_copy_constructible, * testsuite/20_util/any/requirements.cc: Add a test for non-copyable lvalues. 2016-07-14 Jonathan Wakely * include/experimental/functional: Include in Parallel Mode. * testsuite/experimental/functional/searchers.cc: Include for std::search. PR libstdc++/70716 * include/bits/forward_list.h (forward_list): Update doxygen comments to reflect allocator propagation semantics. Remove ambiguous statements about data being lost. * include/bits/stl_deque.h (deque): Likewise. * include/bits/stl_list.h (list): Likewise. * include/bits/stl_map.h (map): Likewise. * include/bits/stl_multimap.h (multimap): Likewise. * include/bits/stl_multiset.h (multiset): Likewise. * include/bits/stl_set.h (set): Likewise. * include/bits/stl_vector.h (vector): Likewise. * include/bits/unordered_map.h (unordered_map, unordered_multimap): Likewise. * include/bits/unordered_set.h (unordered_set, unordered_multiset): Likewise. 2016-07-14 Ville Voutilainen Implement P0032R3, Homogeneous interface for variant, any and optional, for the parts concerning any and optional. * include/std/any (_Storage()): Make constexpr and have it initialize _M_ptr. (any()): Make constexpr. (any(const any&)): Adjust. (any(any&&)): Likewise. (__any_constructible_t): New. (any(_ValueType&&)): Constrain. (any(in_place_type_t<_Tp>, _Args&&...)): New. (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)): Likewise. (~any()): Adjust. (operator=(const any&)): Likewise. (operator=(any&&)): Likewise. (operator=(_ValueType&&)): Constrain. (emplace(_Args&&...)): New. (emplace(initializer_list<_Up>, _Args&&...)): Likewise. (clear()): Remove. (reset()): New. (swap(any&)): Adjust. (empty()): Remove. (has_value()): New. (type()): Adjust. (_Manager_internal::_S_create(_Storage&, _Args&&...)): New. (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise. (make_any(_Args&&...)): Likewise. (make_any(initializer_list<_Up>, _Args&&...)): Likewise. * include/std/optional (in_place_t, in_place): Remove. (bad_optional_access): Add a comment referring to LEWG 72. (emplace(_Args&&...)): Constrain. (has_value()): New. (reset()): Likewise. (make_optional(_Args&&...)): Likewise. (make_optional(initializer_list<_Up>, _Args&&...)): Likewise. * include/std/utility (in_place_tag): New. (__in_place, __in_place_type, __in_place_index): Likewise. (in_place_t, in_place_type_t, in_place_index_t): Likewise. (in_place(__in_place*)): Likewise. (in_place(__in_place_type<_Tp>*)): Likewise. (in_place(__in_place_index<_Idx>*)): Likewise. * testsuite/20_util/any/assign/1.cc: Adjust. * testsuite/20_util/any/assign/emplace.cc: New. * testsuite/20_util/any/assign/self.cc: Adjust. * testsuite/20_util/any/cons/1.cc: Likewise. * testsuite/20_util/any/cons/in_place.cc: New. * testsuite/20_util/any/make_any.cc: Likewise. * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust. * testsuite/20_util/any/misc/swap.cc: Likewise. * testsuite/20_util/any/modifiers/1.cc: Likewise. * testsuite/20_util/any/requirements.cc: New. * testsuite/20_util/in_place/requirements.cc: Likewise. * testsuite/20_util/optional/constexpr/in_place.cc: Adjust. * testsuite/20_util/optional/in_place.cc: Likewise. * testsuite/20_util/optional/make_optional.cc: Add tests for the new overloads of make_optional. 2016-07-13 Ville Voutilainen Implement P0307R2, Making Optional Greater Equal Again. * include/experimental/optional (_Has_addressof): Fix the comment. * include/std/optional (_Has_addressof): Likewise. (operator=(_Up&&)): Constrain. (operator=(const optional<_Up>&)): Likewise. (operator=(optional<_Up>&&)): Likewise. (__optional_relop_t): New. (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain. (operator!=(const optional<_Tp>&, const optional<_Tp>&)): Constrain and make transparent. (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain. (operator>(const optional<_Tp>&, const optional<_Tp>&)): Constrain and make transparent. (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise. (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise. (operator==(const optional<_Tp>&, const _Tp&): Constrain. (operator==(const _Tp&, const optional<_Tp>&)): Likewise. (operator!=(const optional<_Tp>&, _Tp const&)): Constrain and make transparent. (operator!=(const _Tp&, const optional<_Tp>&)): Likewise. (operator<(const optional<_Tp>&, const _Tp&)): Constrain. (operator<(const _Tp&, const optional<_Tp>&)): Likewise. (operator>(const optional<_Tp>&, const _Tp&)): Constrain and make transparent. (operator>(const _Tp&, const optional<_Tp>&)): Likewise. (operator<=(const optional<_Tp>&, const _Tp&)): Likewise. (operator<=(const _Tp&, const optional<_Tp>&)): Likewise. (operator>=(const optional<_Tp>&, const _Tp&)): Likewise. (operator>=(const _Tp&, const optional<_Tp>&)): Likewise. * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust. * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise. * testsuite/20_util/optional/relops/1.cc: Likewise. * testsuite/20_util/optional/relops/2.cc: Likewise. * testsuite/20_util/optional/relops/3.cc: Likewise. * testsuite/20_util/optional/relops/4.cc: Likewise. * testsuite/20_util/optional/requirements.cc: Add tests to verify that optional's relops are transparent and don't synthesize operators. Also test that assignment sfinaes. 2016-07-13 Jonathan Wakely PR libstdc++/71856 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty. * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS): Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend on _GLIBCXX_ASSERTIONS. * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS. Include for sleep. * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS. * include/parallel/merge.h: Likewise. * include/parallel/multiway_merge.h: Likewise. * include/parallel/partition.h: Likewise. * include/parallel/queue.h: Likewise. * include/parallel/sort.h: Likewise. * testsuite/25_algorithms/headers/algorithm/ parallel_algorithm_assert.cc: New. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (replace(__const_iterator, __const_iterator, initializer_list)): Forward to different overload. * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make static. 2016-07-13 Jonathan Wakely Revert "Add non-const overload of std::string::data()". 2016-07-13 Ville Voutilainen Implement P0307R2, Making Optional Greater Equal Again. * include/experimental/optional (_Has_addressof): Fix the comment. * include/std/optional (_Has_addressof): Likewise. (operator=(_Up&&)): Constrain. (operator=(const optional<_Up>&)): Likewise. (operator=(optional<_Up>&&)): Likewise. (__optional_relop_t): New. (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain. (operator!=(const optional<_Tp>&, const optional<_Tp>&)): Constrain and make transparent. (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain. (operator>(const optional<_Tp>&, const optional<_Tp>&)): Constrain and make transparent. (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise. (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise. (operator==(const optional<_Tp>&, const _Tp&): Constrain. (operator==(const _Tp&, const optional<_Tp>&)): Likewise. (operator!=(const optional<_Tp>&, _Tp const&)): Constrain and make transparent. (operator!=(const _Tp&, const optional<_Tp>&)): Likewise. (operator<(const optional<_Tp>&, const _Tp&)): Constrain. (operator<(const _Tp&, const optional<_Tp>&)): Likewise. (operator>(const optional<_Tp>&, const _Tp&)): Constrain and make transparent. (operator>(const _Tp&, const optional<_Tp>&)): Likewise. (operator<=(const optional<_Tp>&, const _Tp&)): Likewise. (operator<=(const _Tp&, const optional<_Tp>&)): Likewise. (operator>=(const optional<_Tp>&, const _Tp&)): Likewise. (operator>=(const _Tp&, const optional<_Tp>&)): Likewise. * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust. * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise. * testsuite/20_util/optional/relops/1.cc: Likewise. * testsuite/20_util/optional/relops/2.cc: Likewise. * testsuite/20_util/optional/relops/3.cc: Likewise. * testsuite/20_util/optional/relops/4.cc: Likewise. * testsuite/20_util/optional/requirements.cc: Add tests to verify that optional's relops are transparent and don't synthesize operators. Also test that assignment sfinaes. 2016-07-13 Jonathan Wakely * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str): New function. (_M_disjunct, basic_string(const basic_string&, size_t)): Use data() instead of _M_data(). (basic_string(const basic_string&, size_t, size_t, const _Alloc&)): Likewise. (append(const basic_string&)): Likewise. (append(const basic_string&, size_type, size_type)): Likewise. (assign(const basic_string&, size_type, size_type)): Likewise. (insert(size_type, const basic_string&)): Likewise. (insert(size_type, const basic_string&, size_type, size_type)): Likewise. (replace(size_type, size_type, const basic_string&, size_type, size_type)): Likewise. (replace(__const_iterator, __const_iterator, const basic_string&)): Likewise. (c_str(), data()): Use c_str() instead of _M_data(). (data()): Add non-const overload as per LWG 2391 and P0272R1. (compare(const basic_string&)): Use data() instead of _M_data(). [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload. * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate): Pass raw pointers to _S_copy. (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and _S_assign. (find(const _CharT*, size_type, size_type)): Use data instead of _M_data(). * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New. * testsuite/21_strings/basic_string/operations/data/char/2.cc: New. * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New. 2016-07-12 Jonathan Wakely * libsupc++/new: Remove nothrow sized deletes (LWG 2458). * doc/xml/manual/intro.xml: Document DR 2458 status. * doc/html*: Regenerate. * testsuite/20_util/pair/astuple/astuple.cc: Only include . * testsuite/23_containers/array/tuple_interface/tuple_element.cc: Only include . * testsuite/23_containers/array/tuple_interface/tuple_size.cc: Likewise. * doc/xml/manual/intro.xml: Document LWG 2212 support. * doc/html*: Regenerate. * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc: Add testcase from LWG 2164. 2016-07-11 François Dumont * include/bits/stl_vector.h (push_back(const value_type&)): Forward to _M_realloc_insert. (insert(const_iterator, value_type&&)): Forward to _M_insert_rval. (_M_realloc_insert): Declare new function. (_M_emplace_back_aux): Remove definition. * include/bits/vector.tcc (emplace_back(_Args...)): Use _M_realloc_insert. (insert(const_iterator, const value_type&)): Likewise. (_M_insert_rval, _M_emplace_aux): Likewise. (_M_emplace_back_aux): Remove declaration. (_M_realloc_insert): Define. * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: Adjust expected results for emplacing an lvalue with reallocation. 2016-07-10 Ville Voutilainen Implement std::optional. * include/Makefile.am: Add optional to exported headers. * include/Makefile.in: Likewise. * include/std/optional: New. * testsuite/20_util/optional/typedefs.cc: Likewise. * testsuite/20_util/optional/relops/2.cc: Likewise. * testsuite/20_util/optional/relops/3.cc: Likewise. * testsuite/20_util/optional/relops/4.cc: Likewise. * testsuite/20_util/optional/relops/5.cc: Likewise. * testsuite/20_util/optional/relops/1.cc: Likewise. * testsuite/20_util/optional/relops/6.cc: Likewise. * testsuite/20_util/optional/nullopt.cc: Likewise. * testsuite/20_util/optional/in_place.cc: Likewise. * testsuite/20_util/optional/make_optional.cc: Likewise. * testsuite/20_util/optional/assignment/2.cc: Likewise. * testsuite/20_util/optional/assignment/3.cc: Likewise. * testsuite/20_util/optional/assignment/4.cc: Likewise. * testsuite/20_util/optional/assignment/5.cc: Likewise. * testsuite/20_util/optional/assignment/1.cc: Likewise. * testsuite/20_util/optional/assignment/6.cc: Likewise. * testsuite/20_util/optional/cons/value_neg.cc: Likewise. * testsuite/20_util/optional/cons/default.cc: Likewise. * testsuite/20_util/optional/cons/move.cc: Likewise. * testsuite/20_util/optional/cons/value.cc: Likewise. * testsuite/20_util/optional/cons/copy.cc: Likewise. * testsuite/20_util/optional/requirements.cc: Likewise. * testsuite/20_util/optional/observers/2.cc: Likewise. * testsuite/20_util/optional/observers/3.cc: Likewise. * testsuite/20_util/optional/observers/4.cc: Likewise. * testsuite/20_util/optional/observers/5.cc: Likewise. * testsuite/20_util/optional/observers/1.cc: Likewise. * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise. * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise. * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise. * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise. * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise. * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise. * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise. * testsuite/20_util/optional/constexpr/in_place.cc: Likewise. * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise. * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise. * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise. * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise. * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise. * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise. * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise. * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise. * testsuite/20_util/optional/swap/1.cc: Likewise. 2016-07-08 Jonathan Wakely * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New. 2016-07-07 Jonathan Wakely * doc/xml/manual/status_cxx2014.xml: Update LFTS status table. * doc/html/*: Regenerate. 2016-07-07 Ville Voutilainen Implement std::any. * include/Makefile.am: Add any and c++17_warning.h to exported headers. * include/Makefile.in: Likewise. * include/std/any: New. * testsuite/20_util/any/assign/1.cc: Likewise. * testsuite/20_util/any/assign/2.cc: Likewise. * testsuite/20_util/any/assign/self.cc: Likewise. * testsuite/20_util/any/cons/1.cc: Likewise. * testsuite/20_util/any/cons/2.cc: Likewise. * testsuite/20_util/any/cons/aligned.cc: Likewise. * testsuite/20_util/any/cons/nontrivial.cc: Likewise. * testsuite/20_util/any/misc/any_cast.cc: Likewise. * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise. * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise. * testsuite/20_util/any/misc/swap.cc: Likewise. * testsuite/20_util/any/modifiers/1.cc: Likewise. * testsuite/20_util/any/observers/type.cc: Likewise. * testsuite/20_util/any/typedefs.cc: Likewise. 2016-07-06 Ville Voutilainen Add a new header for diagnosing the use of C++17 facilities in pre-C++17 modes. * include/bits/c++17_warning.h: New. 2016-07-06 Ville Voutilainen Implement LWG 2451, optional should 'forward' T's implicit conversions. * include/experimental/optional (__is_optional_impl, __is_optional): New. (optional()): Make constexpr and default. (optional(_Up&&), optional(const optional<_Up>&), optional(optional<_Up>&& __t): New. (operator=(_Up&&)): Constrain. (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New. * testsuite/experimental/optional/cons/value.cc: Add tests for the functionality added by LWG 2451. * testsuite/experimental/optional/cons/value_neg.cc: New. 2016-07-05 Ville Voutilainen Implement LWG 2509, any_cast doesn't work with rvalue reference targets and cannot move with a value target. * include/experimental/any (any(_ValueType&&)): Constrain and add an overload that doesn't forward. (any_cast(any&&)): Constrain and add an overload that moves. * testsuite/experimental/any/misc/any_cast.cc: Add tests for the functionality added by LWG 2509. 2016-07-04 François Dumont * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc: New test. * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New test. 2016-07-04 Jonathan Wakely * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)): Define inline. Forward to _M_emplace_aux. (insert(const_iterator, value_type&&)): Forward to _M_insert_rval. (_M_insert_rval, _M_emplace_aux): Declare new functions. (_Temporary_value): New RAII type using allocator to construct/destroy. (_S_insert_aux_assign): Remove. (_M_insert_aux): Make non-variadic. * include/bits/vector.tcc (insert(const_iterator, const value_type&)): Use _Temporary_value. (emplace(const_iterator, _Args&&...)): Remove definition. (_M_insert_rval, _M_emplace_aux): Define. (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign. (_M_fill_insert): Use _Temporary_value. * testsuite/23_containers/vector/allocator/construction.cc: New test. * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: Adjust expected results for emplacing an lvalue with reallocation. * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust expected results to account for construction/destruction of temporary using allocator. * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise. 2016-07-04 Ville Voutilainen PR libstdc++/71313 * src/filesystem/ops.cc (remove_all(const path&, error_code&)): Call remove_all for children of a directory. * testsuite/experimental/filesystem/operations/create_directories.cc: Adjust. 2016-07-02 François Dumont * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust dg-error line numbers. * testsuite/23_containers/array/tuple_interface/ tuple_element_debug_neg.cc: Likewise. * testsuite/25_algorithms/lexicographical_compare/debug/ irreflexive_neg.cc: Remove. 2016-06-30 Thomas Preud'homme * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather than specific target. 2016-06-27 François Dumont PR libstdc++/71640 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert friend declaration. 2016-06-23 François Dumont * include/debug/array (array<>::swap): Fix noexcept qualificaton for zero-size array. 2016-06-21 Trevor Saunders * configure.host: Remove mep-* support. 2016-06-21 Trevor Saunders * configure: Regenerate. * configure.host: Remove support for knetbsd. * crossconfig.m4: Likewise. 2016-06-20 François Dumont PR libstdc++/71181 * include/tr1/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator dereferenceable to avoid check on lower_bound result. (_Prime_rehash_policy::_M_bkt_for_elements): Call latter. (_Prime_rehash_policy::_M_need_rehash): Likewise. * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt): Always return a value greater than input value. Set _M_next_resize to max value when reaching highest prime number. * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel being now useless. * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New. * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc (test02): New. * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New. * testsuite/23_containers/unordered_set/hash_policy/rehash.cc: Fix indentation. 2016-06-17 Jonathan Wakely PR libstdc++/71545 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare): Remove irreflexive checks. * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range, binary_search): Likewise. * testsuite/25_algorithms/equal_range/partitioned.cc: New test. * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test. * testsuite/25_algorithms/lower_bound/partitioned.cc: New test. * testsuite/25_algorithms/upper_bound/partitioned.cc: New test. * testsuite/util/testsuite_iterators.h (__gnu_test::test_container): Add constructor from array. 2016-06-16 François Dumont * include/debug/debug.h (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty) (__glibcxx_requires_subscript): Move... * include/debug/assertions.h: ...here and add __builtin_expect. (_GLIBCXX_DEBUG_ONLY): Remove ; value. * include/bits/stl_deque.h (std::deque<>::operator[]): Add __glibcxx_requires_subscript check. (std::deque<>::front()): Add __glibcxx_requires_nonempty check. (std::deque<>::back()): Likewise. (std::deque<>::pop_front()): Likewise. (std::deque<>::pop_back()): Likewise. (std::deque<>::swap(deque&)): Add allocator check. * include/bits/stl_vector.h (std::vector<>::operator[]): Add __glibcxx_requires_subscript check. (std::vector<>::front()): Add __glibcxx_requires_nonempty check. (std::vector<>::back()): Likewise. (std::vector<>::pop_back()): Likewise. (std::vector<>::swap(vector&)): Add allocator check. 2016-06-16 Daniel Kruegler Provide swappable traits (p0185r1) * include/std/type_traits (is_swappable, is_nothrow_swappable, is_swappable_with, is_nothrow_swappable_with, is_swappable_v, is_nothrow_swappable_v, is_swappable_with_v, is_nothrow_swappable_with_v): New. * include/bits/stl_pair.h: Use it as per p0185r1. * include/bits/stl_queue.h: Likewise. * include/bits/stl_stack.h: Likewise. * include/bits/unique_ptr.h: Likewise. * include/std/tuple: Likewise. * include/std/array: Likewise. Fix zero-size member swap. * include/bits/hashtable.h: Use __and_. * testsuite/20_util/is_nothrow_swappable/requirements/ explicit_instantiation.cc: Change test options to std=gnu++17. * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise. * testsuite/20_util/is_swappable/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_swappable/value.cc: Likewise. * testsuite/20_util/is_nothrow_swappable/requirements/ explicit_instantiation_ext.cc: New. * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc: New. * testsuite/20_util/is_nothrow_swappable/value.h: New. * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New. * testsuite/20_util/is_nothrow_swappable_with/requirements/ explicit_instantiation.cc: New. * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc: New. * testsuite/20_util/is_nothrow_swappable_with/value.cc: New. * testsuite/20_util/is_swappable/requirements/ explicit_instantiation_ext.cc: New. * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New. * testsuite/20_util/is_swappable/value.h: New. * testsuite/20_util/is_swappable/value_ext.cc: New. * testsuite/20_util/is_swappable_with/requirements/ explicit_instantiation.cc: New. * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New. * testsuite/20_util/is_swappable_with/value.cc: New. * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust dg-error line numbers. * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise. 2016-06-16 Jonathan Wakely * include/std/array: Remove trailing whitespace. * include/std/atomic: Likewise. * include/std/bitset: Likewise. * include/std/chrono: Likewise. * include/std/complex: Likewise. * include/std/condition_variable: Likewise. * include/std/fstream: Likewise. * include/std/functional: Likewise. * include/std/future: Likewise. * include/std/iomanip: Likewise. * include/std/iosfwd: Likewise. * include/std/istream: Likewise. * include/std/limits: Likewise. * include/std/ratio: Likewise. * include/std/scoped_allocator: Likewise. * include/std/sstream: Likewise. * include/std/stdexcept: Likewise. * include/std/string: Likewise. * include/std/system_error: Likewise. * include/std/thread: Likewise. * include/std/tuple: Likewise. * include/std/type_traits: Likewise. * include/std/utility: Likewise. * include/std/valarray: Likewise. * include/std/vector: Likewise. * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define new overloaded functions. * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions to avoid creating a redundant temporary. * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New test. 2016-06-15 François Dumont * include/bits/stl_deque.h (std::deque<>::operator=): Call _M_assign_aux. (std::deque<>::assign(initializer_list<>)): Likewise. (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert. (std::deque<>::insert(const_iterator, initializer_list<>)): Call _M_range_insert_aux. (std::deque<>::_M_assign_aux(It, It, std::forward_iterator_tag): Likewise. (std::deque<>::_M_fill_assign): Call _M_fill_insert. (std::deque<>::_M_move_assign2): Call _M_assign_aux. * include/bits/deque.tcc (std::deque<>::operator=): Call _M_range_insert_aux. (std::deque<>::_M_assign_aux(It, It, std::input_iterator_tag)): Likewise. * include/bits/stl_vector.h (std::vector<>::operator=): Call _M_assign_aux. (std::vector<>::assign(initializer_list<>)): Likewise. (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert. (std::vector<>::insert(const_iterator, initializer_list<>)): Call _M_range_insert. * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise. 2016-06-07 François Dumont * include/std/tuple (_Head_base<>): Default specialization condition at type declaration. 2016-06-06 Ville Voutilainen Support allocators in tuples of zero size. * include/std/tuple (tuple<>::tuple(), tuple<>::tuple(allocator_arg_t, const _Alloc&), tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New. * testsuite/20_util/tuple/cons/allocators.cc: Adjust. 2016-06-06 Jonathan Wakely PR libstdc++/71320 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)): Add or remove permissions according to perms argument. * testsuite/experimental/filesystem/operations/permissions.cc: New test. 2016-06-05 Ville Voutilainen Protect allocator-overloads of tuple-from-tuple constructors from cases that would create dangling references. * include/std/tuple (tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&)): Add a check for _NonNestedTuple. * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust. 2016-05-29 Gerald Pfeifer * doc/xml/manual/backwards_compatibility.xml: Adjust lists.debian.org link to https. * doc/html/manual/backwards.html: Regenerate. 2016-05-27 Jonathan Wakely * doc/xml/manual/abi.xml: Adjust URL to use https. * doc/html/manual/*: Regenerate. 2016-05-27 Ville Voutilainen PR libstdc++/66338 * include/std/tuple (_TMC): Add a check for _NotSameTuple. * include/std/tuple (tuple(_UElements&&...)): Remove the separate check for _NotSameTuple. * include/std/tuple (_TMCT): New. * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it. * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise. * include/std/tuple (tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&)): Likewise. * include/std/tuple (tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&)): Likewise. * testsuite/20_util/tuple/cons/66338.cc: New. 2016-05-25 Jonathan Wakely * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile. * configure: Regenerate. * config.h.in: Regenerate. * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it. * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt): Remove const qualification on function. Replace _GLIBCXX14_USE_CONSTEXPR on automatic variables with const. (_Power2_rehash_policy::_M_need_rehash): Remove const qualification. (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier. 2016-05-24 François Dumont * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New. * include/bits/hashtable_policy.h (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy having load factor management. (_Mask_range_hashing): New. (__clp2): New. (_Power2_rehash_policy): New. (_Inserts<>): Remove last template parameter, _Unique_keys, so that partial specializations only depend on whether iterators are constant or not. * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to test new hash policy. * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc: Likewise. * testsuite/23_containers/unordered_set/hash_policy/rehash.cc: Likewise. * testsuite/23_containers/unordered_set/insert/hash_policy.cc: Likewise. * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc: Likewise. * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc: New. * testsuite/performance/23_containers/insert/54075.cc: Add benchmark using the new hash policy. * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise. 2016-05-24 Jonathan Wakely * include/bits/stl_queue.h (priority_queue::value_compare): Define. 2016-05-23 François Dumont * include/debug/safe_iterator.h (_Safe_iterator<>::operator->()): Implement using underlying iterator operator ->. * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator->()): Likewise. 2016-05-20 Thomas Preud'homme * testsuite/experimental/memory_resource/1.cc: Add required argument to dg-require-atomic-builtins. 2016-05-13 Jonathan Wakely PR libstdc++/71073 * include/debug/bitset: Add #pragma GCC system_header. * include/debug/deque: Likewise. * include/debug/list: Likewise. * include/debug/map: Likewise. * include/debug/set: Likewise. * include/debug/string: Likewise. * include/debug/unordered_map: Likewise. * include/debug/unordered_set: Likewise. * include/debug/vector: Likewise. * include/debug/functions.h: Adjust whitespace. 2016-05-12 Jonathan Wakely PR libstdc++/71081 * testsuite/experimental/memory_resource/1.cc: Require atomics. 2016-05-11 Jonathan Wakely PR libstdc++/71049 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define exception constructors with __sso_string parameters. 2016-05-10 Jonathan Wakely * include/experimental/bits/fs_dir.h (begin, end): Add noexcept. * testsuite/experimental/filesystem/iterators/directory_iterator.cc: Test begin and end functions. * testsuite/experimental/filesystem/iterators/ recursive_directory_iterator.cc: Likewise. PR libstdc++/71038 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions. * testsuite/experimental/filesystem/operations/copy_file.cc: New test. * include/experimental/bits/fs_dir.h (__directory_iterator_proxy): Overload operator* to move from rvalues. PR libstdc++/71036 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir. * testsuite/experimental/filesystem/operations/create_directory.cc: New test. PR libstdc++/71037 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add base path to exception. * testsuite/experimental/filesystem/operations/canonical.cc: Test paths contained in exception. * testsuite/experimental/type_erased_allocator/2.cc: Remove unused using declaration. PR libstdc++/71005 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy): New type. (directory_iterator::operator++(int)): Return proxy. (recursive_directory_iterator::operator++(int)): Likewise. * testsuite/experimental/filesystem/iterators/directory_iterator.cc: Test post-increment. * testsuite/experimental/filesystem/iterators/ recursive_directory_iterator.cc: Likewise. 2016-05-09 Jonathan Wakely PR libstdc++/71004 * testsuite/experimental/filesystem/iterators/ recursive_directory_iterator.cc: Fix test02 to not call member functions on invalid iterator, and use VERIFY not assert. 2016-05-09 Ville Voutilainen Avoid endless run-time recursion for copying single-element tuples where the element type is by-value constructible from any type. * include/std/tuple (_NotSameTuple): New. * include/std/tuple (tuple(_UElements&&...): Use it. * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New. 2016-05-09 Jonathan Wakely PR libstdc++/71004 * include/experimental/bits/fs_dir.h (recursive_directory_iterator): Initialize scalar member variables in default constructor. * testsuite/experimental/filesystem/iterators/ recursive_directory_iterator.cc: Test default construction. 2016-05-05 Rainer Orth * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*. 2016-05-05 Jonathan Wakely * testsuite/experimental/filesystem/path/native/string.cc: Add dg-require-filesystem-ts directive. 2016-05-04 Jonathan Wakely PR libstdc++/70940 * include/experimental/memory_resource (__resource_adaptor_imp::do_allocate): Do not default-construct rebound allocator. (__resource_adaptor_imp::do_deallocate): Likewise. Use allocator_traits to get pointer type. (__null_memory_resource::do_allocate): Remove unused parameters. (__null_memory_resource::do_deallocate): Likewise. (__null_memory_resource::do_is_equal): Likewise. Add return statement. * testsuite/experimental/type_erased_allocator/1.cc: Combine with ... * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and move to ... * testsuite/experimental/memory_resource/1.cc: Here. * testsuite/experimental/memory_resource/null_memory_resource.cc: New. * testsuite/experimental/memory_resource/resource_adaptor.cc: New. 2016-04-29 Chris Gregory * config/*: Remove trailing whitespace. * src/*: Likewise. * testsuite/tr1/*: Likewise. * testsuite/util/*: Likewise. 2016-04-28 Jonathan Wakely PR libstdc++/70766 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use __addressof. * include/bits/stream_iterator.h (istream_iterator, ostream_iterator): Likewise. * include/std/atomic (atomic<_Tp>): Likewise. * include/std/shared_mutex (shared_lock): Likewise. * testsuite/24_iterators/istream_iterator/70766.cc: New test. * testsuite/24_iterators/ostream_iterator/70766.cc : New test. * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. * testsuite/29_atomics/atomic/70766.cc: New test. * testsuite/30_threads/shared_lock/70766.cc: New test. * include/bits/hashtable_policy.h (__detail::_Insert_base, __detail::_Insert): Improve comments. 2016-04-27 Jonathan Wakely PR libstdc++/70767 * include/std/limits: Update comments about DRs. (numeric_limits, numeric_limits, numeric_limits): Define unconditionally. 2016-04-24 Jonathan Wakely PR libstdc++/70762 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use static counter to return a different path on every call. 2016-04-22 Tim Shen PR libstdc++/70745 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary): Fix the match_not_bow and match_not_eow behavior. * testsuite/28_regex/regression.cc: Add testcase. 2016-04-20 Jonathan Wakely PR libstdc++/69703 * src/c++11/codecvt.cc (__codecvt_utf8_base::do_in, __codecvt_utf8_utf16_base::do_in): Fix mask operations. 2016-04-19 Jonathan Wakely PR libstdc++/69703 * src/c++11/codecvt.cc (__codecvt_utf8_base::do_in): Override endianness bit in mode. * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test that little_endian mode is ignored. * testsuite/experimental/filesystem/path/native/string.cc: New test. PR libstdc++/70609 * src/filesystem/ops.cc (close_fd): New function. (do_copy_file): Set permissions before copying file contents. Check result of closing file descriptors. Don't copy streambuf when file is empty. (copy(const path&, const path&, copy_options, error_code&)): Use lstat for source file when copy_symlinks is set. * testsuite/experimental/filesystem/operations/copy.cc: Test copy(). * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^, operator~ operator&=, operator|=, operator^=): Add noexcept to overloaded operators for copy_options, perms and directory_options. * src/filesystem/ops.cc (make_file_type, make_file_status, is_not_found_errno, file_time): Add noexcept. 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net> * include/bits/c++14_warning.h: Do not refer C++14 as experimental. 2016-04-18 Jonathan Wakely PR libstdc++/41759 * include/bits/random.h: Reword static assertion messages to state positive conditions. * include/bits/random.tcc: Likewise. * include/bits/uniform_int_dist.h: Likewise. * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error patterns. * include/std/function (_Bind, _Bind_result): Remove unused typedefs. * config/cpu/sh/atomicity.h: Fix typo in comment. PR libstdc++/70294 * include/std/thread (operator<, operator==): Move definitions to namespace-scope. * testsuite/30_threads/thread/id/70294.cc: New test. * testsuite/18_support/bad_exception/23591_thread-1.c: Add -Wno-pedantic to dg-options. * testsuite/20_util/align/2.cc: Use type as operand of alignof. * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic to dg-options. * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc: Remove extra semi-colon. * testsuite/23_containers/array/tuple_interface/tuple_element.cc: Always supply second argument to static_assert. * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra semi-colon. * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to dg-options. * testsuite/26_numerics/complex/literals/values.cc: Likewise. * testsuite/29_atomics/atomic/60695.cc: Likewise. * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of alignof when operand is an object not a type. * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options. * testsuite/decimal/make-decimal.cc: Likewise. * testsuite/experimental/type_traits/value.cc: Always supply second argument to static_assert. * testsuite/util/testsuite_common_types.h: Use __extension__ for __int128 types. * testsuite/experimental/type_erased_allocator/1.cc: Don't include internal header. * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise. * testsuite/experimental/type_erased_allocator/2.cc: Likewise. * testsuite/experimental/type_erased_allocator/uses_allocator.cc: Likewise. Add licence and change to compile-only test. * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to unused parameter. * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise. * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare warnings. 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net> * include/bits/specfun.h: Trivial comment misspelling. 2016-04-14 Jason Merrill Revert Jonathan's empty ABI change from yesterday. 2016-04-13 Martin Sebor PR c++/69517 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA upper bound is positive. 2016-04-13 Jonathan Wakely * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES, _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define. * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures of functions taking empty structs by value. Add a template parameter to overloads without hints. Rename overloads with hints to _M_emplace_hint. (_Hashtable::_M_erase(true_type, const_iterator), _Hashtable::_M_erase(false_type, const_iterator)): Change signatures by reordering parameters. * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call _M_emplace_hint instead of _M_emplace. * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc), shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY. * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count, __shared_ptr): Likewise. * include/bits/stl_algo.h (replace_if): Likewise. * include/bits/stl_pair.h (piecewise_construct_t, piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES. * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg, __uses_alloc0): Likewise. * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise. * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise. * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise. * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise. * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise. 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net> Document C++17/TR29124 C++ Special Math Functions. * include/bits/specfun.h: Add Doxygen markup. 2016-04-07 Jonathan Wakely * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass. 2016-04-06 Eric Botcazou * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null. * src/Makefile.in: Regenerate. 2016-04-05 Jonathan Wakely PR libstdc++/70554 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test __atomic_fetch_add for bool. * configure: Regenerate. * testsuite/30_threads/thread/70503.cc: Require -static to work. PR libstdc++/70503 * src/c++11/thread.cc (execute_native_thread_routine, execute_native_thread_routine_compat): Give internal linkage. * testsuite/30_threads/thread/70503.cc: New test. 2016-04-05 Ville Voutilainen PR libstdc++/70437 * include/bits/stl_pair.h (_ConstructiblePair, _ImplicitlyConvertiblePair, _MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Add shortcut conditions for same-type cases. * testsuite/20_util/pair/70437.cc: New. 2016-03-24 Jonathan Wakely PR libstdc++/69945 * config/abi/pre/gnu.ver: Add new symbol. * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define. * testsuite/18_support/free_eh_pool.cc: New test. 2016-03-23 Bernd Edlinger * include/Makefile.am (install-freestanding-headers): Add concept_check.h and move.h to the installed headers. * include/Makefile.in: Regenerated. * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for freestanding implementations. * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention that this macro has no effect for freestanding implementations. * doc/html/manual/using_macros.html: Likewise. 2016-02-24 Jonathan Wakely PR libstdc++/69939 * include/experimental/tuple (__apply_impl): Qualify get and forward. 2016-02-23 Jonathan Wakely * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__. * doc/html/*: Regenerate. PR libstdc++/69893 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma, trunc) [__cplusplus >= 201103L]: Import from namespace std. (fabs) [__cplusplus < 201103L]: Import from namespace std. * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]: Likewise. * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global namespace before including TR1 headers. * testsuite/tr1/headers/c++200x/math.cc: New test. 2016-02-23 Bernd Edlinger PR libstdc++/69881 * include/c_global/cstdarg: Undefine __need___va_list. * include/c_global/cstddef: Undefine all kinds of __need_*. 2016-02-16 Tim Shen PR libstdc++/69794 * include/bits/regex_scanner.h: Add different special character sets for grep and egrep regex. * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly. * testsuite/28_regex/regression.cc: Add new testcase. 2016-02-08 Jonathan Wakely * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally added 'constexpr' in previous commit. * configure: Regenerate. PR libstdc++/48891 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan checks for all targets except *-*-solaris2.* and ensure we find the libc math.h header not our own. * configure: Regenerate. 2016-02-05 Dominik Vogt * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC): New file. Copied over from s390-linux-gnu. 2016-02-04 Jonathan Wakely PR libstdc++/69626 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB. * config.h.in: Regenerate. * configure: Regenerate. * testsuite/21_strings/c_strings/char/69626.cc: New. * doc/html/index.html: Regenerate. * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI. * doc/xml/manual/spine.xml: Update copyright years and author blurb. * doc/html/*: Regenerate. 2016-02-01 Bernd Edlinger PR libstdc++/69581 * include/c_compatibility/math.h: Move header guards. * include/c_compatibility/stdlib.h: Likewise. 2016-01-29 Jonathan Wakely PR libstdc++/69506 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. 2016-01-28 John David Anglin PR libstdc++/69450 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete isinf and isnan functions into two independent checks. Check on hpux. * config.h.in: Regenerate. * configure: Regenerate. * include/c_global/cmath (isinf(double), isnan(double)): Use _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN, respectively. 2016-01-27 Jakub Jelinek * testsuite/libstdc++-prettyprinters/whatis.cc: Include . 2016-01-27 Jonathan Wakely PR libstdc++/69295 * testsuite/ext/special_functions/hyperg/check_value.cc: Use -ffp-contract=off, and -ffloat-store to disable excess precision. * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use -ffp-contract=off. 2016-01-26 Jonathan Wakely PR libstdc++/69478 * include/bits/stl_algobase.h (__copy_move<_IsMove, true, random_access_iterator_tag>): Check is_move_assignable when moving. (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>): Likewise. * testsuite/25_algorithms/copy/move_iterators/69478.cc: New. * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New. * testsuite/25_algorithms/move/69478.cc: New. * testsuite/25_algorithms/move_backward/69478.cc: new. 2016-01-26 Andris Pavenis * include/c_compatibility/stdlib.h: Include wide character related definitions only when they are available in cstdlib. 2016-01-25 Jonathan Wakely PR libstdc++/69464 * include/Makefile.am: Add new header. * include/Makefile.in: Regenerate. * include/bits/random.h (uniform_int_distribution): Move to bits/uniform_int_dist.h. * include/bits/random.tcc (uniform_int_distribution::operator(), uniform_int_distribution::__generate_impl): Likewise. * include/bits/uniform_int_dist.h: New header. * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include instead of . * testsuite/20_util/specialized_algorithms/uninitialized_copy/ move_iterators/1.cc: Include correct header for uninitialized_copy. * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/ move_iterators/1.cc: Likewise. * testsuite/25_algorithms/nth_element/58800.cc: Include correct header for vector. * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines. 2016-01-23 John David Anglin PR libstdc++/69446 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net> TR29124 C++ Special Math - pulls funcs into global namespace. * include/c_compatibility/math.h: Import the TR29124 functions into the global namespace. * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove xfail and make compile-only. * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto. * testsuite/special_functions/03_beta/compile_2.cc: Ditto. * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto. * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto. * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto. * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto. * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto. * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto. * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto. * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto. * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto. * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto. * testsuite/special_functions/14_expint/compile_2.cc: Ditto. * testsuite/special_functions/15_hermite/compile_2.cc: Ditto. * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto. * testsuite/special_functions/17_legendre/compile_2.cc: Ditto. * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto. * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto. * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto. * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto. 2016-01-22 Jonathan Wakely PR libstdc++/69116 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only define result_type for types which can be safely used with valarrays. * testsuite/26_numerics/valarray/69116.cc: New. PR libstdc++/69413 * config/os/gnu-linux/os_defines.h: Define _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC. * include/c_global/cmath (isinf, isnan): Check it. * doc/xml/manual/internals.xml: Document it. * doc/html/*: Regenerate. 2016-01-21 Jonathan Wakely PR libstdc++/69406 * include/bits/cpp_type_traits.h: Ensure C++ language linkage. * include/ext/type_traits.h: Likewise. * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros for presence of C headers. * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust dg-error line number. * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise. * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise. * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise. 2016-01-20 Torvald Riegel PR libstdc++/69310 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. 2016-01-20 Jonathan Wakely PR libstdc++/60401 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt, copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint, nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]: Add using declarations. * testsuite/26_numerics/headers/cmath/60401.cc: New. PR libstdc++/69386 * include/c_global/ccomplex: Ensure C++ language linkage. * include/c_global/cmath: Likewise. * include/c_global/cstdlib: Likewise. * include/c_global/ctgmath: Likewise. * testsuite/17_intro/headers/c++2011/linkage.cc: New. 2016-01-19 Jonathan Wakely PR libstdc++/14608 PR libstdc++/60401 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for --enable-cheaders=c_global configs. * include/Makefile.in: Regenerate. * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C test and allow inclusion from C files. * include/c_compatibility/stdlib.h: Likewise. Support freestanding. (at_quick_exit, quick_exit): Add using directives. * include/c_global/cmath: Use #include_next for math.h. * include/c_global/cstdlib: Use #include_next for stdlib.h. * testsuite/26_numerics/headers/cmath/14608.cc: New. * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: Remove xfail for most targets. * testsuite/26_numerics/headers/cstdlib/60401.cc: New. 2016-01-18 Torvald Riegel * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New. (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF and move after its definition. * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override. * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of __GXX_WEAK__, and only provide transactional clones if _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm functions. 2016-01-18 Jonathan Wakely PR libstdc++/60637 * testsuite/26_numerics/headers/cmath/60637.cc: Add test. PR libstdc++/69243 * include/std/functional (_Function_base::_M_not_empty_function): Change overloads for pointers to take arguments by value. * testsuite/20_util/function/cons/57465.cc: Add tests for pointer-to-member cases. PR libstdc++/69340 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions): Use macros for exception handling and fix unused parameter warning. 2016-01-17 John David Anglin PR libstdc++/68734 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. 2016-01-17 Torvald Riegel * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert. 2016-01-16 H.J. Lu * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add __int128 symbols. 2016-01-15 Jonathan Wakely PR libstdc++/69293 * include/bits/uses_allocator.h (__uses_alloc): Add static assertion that type is constructible from the arguments. * testsuite/20_util/scoped_allocator/69293_neg.cc: New. * testsuite/20_util/uses_allocator/69293_neg.cc: New. * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error. PR libstdc++/69294 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf and isnan on AIX. Quote variables. * configure: Regenerate. 2016-01-15 Torvald Riegel * include/bits/basic_string.h (basic_string): Declare friends. * include/bits/c++config (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New. * include/std/stdexcept (logic_error, domain_error, invalid_argument, length_error, out_of_range, runtime_error, range_error, underflow_error, overflow_error): Declare members as transaction-safe. (logic_error, runtime_error): Declare friend functions. * libsupc++/exception (exception, bad_exception): Declare members as transaction-safe. * src/c++11/cow-stdexcept.cc: Define transactional clones for the transaction-safe members of exceptions and helper functions. * libsupc++/eh_exception.cc: Adjust and define transactional clones. * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones. (CXXABI_1.3.10): New. * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New. (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW. * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING. * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h. * include/Makefile.in: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10. 2016-01-15 Steve Ellcey * include/ext/random.tcc: Use __builtin_isfinite instead of std::isfinite. 2016-01-15 Jonathan Wakely * include/bits/std_mutex.h: Fix Doxygen @file name. 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net> Jonathan Wakely Florian Goth Implement TR29124 C++ special Math Functions. * include/Makefile.am: Add new headers. * include/Makefile.in: Regenerate. * include/bits/specfun.h: New. * include/c_global/cmath: Adjust for both tr1 and tr29124 maths. * include/tr1/bessel_function.tcc: Ditto. * include/tr1/beta_function.tcc: Ditto. * include/tr1/cmath: Ditto. * include/tr1/ell_integral.tcc: Ditto. * include/tr1/exp_integral.tcc: Ditto. * include/tr1/gamma.tcc: Ditto. * include/tr1/hypergeometric.tcc: Ditto. * include/tr1/legendre_function.tcc: Ditto. * include/tr1/modified_bessel_func.tcc: Ditto. * include/tr1/poly_hermite.tcc: Ditto. * include/tr1/poly_laguerre.tcc: Ditto. * include/tr1/riemann_zeta.tcc: Ditto. * include/tr1/special_function_util.h: Ditto. * testsuite/ext/special_functions/conf_hyperg: New. * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New. * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New. * testsuite/ext/special_functions/conf_hyperg/compile.cc: New. * testsuite/ext/special_functions/hyperg: New. * testsuite/ext/special_functions/hyperg/check_nan.cc: New. * testsuite/ext/special_functions/hyperg/check_value.cc: New. * testsuite/ext/special_functions/hyperg/compile.cc: New. * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory. * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New. * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New. * testsuite/special_functions/01_assoc_laguerre/compile.cc: New. * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New. * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New. * testsuite/special_functions/02_assoc_legendre/check_value.cc: New. * testsuite/special_functions/02_assoc_legendre/compile.cc: New. * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New. * testsuite/special_functions/03_beta/check_nan.cc: New. * testsuite/special_functions/03_beta/check_value.cc: New. * testsuite/special_functions/03_beta/compile.cc: New. * testsuite/special_functions/03_beta/compile_2.cc: New. * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New. * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New. * testsuite/special_functions/04_comp_ellint_1/compile.cc: New. * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New. * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New. * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New. * testsuite/special_functions/05_comp_ellint_2/compile.cc: New. * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New. * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New. * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New. * testsuite/special_functions/06_comp_ellint_3/compile.cc: New. * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New. * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New. * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New. * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New. * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New. * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New. * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New. * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New. * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New. * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New. * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New. * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New. * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New. * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New. * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New. * testsuite/special_functions/10_cyl_neumann/check_value.cc: New. * testsuite/special_functions/10_cyl_neumann/compile.cc: New. * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New. * testsuite/special_functions/11_ellint_1/check_nan.cc: New. * testsuite/special_functions/11_ellint_1/check_value.cc: New. * testsuite/special_functions/11_ellint_1/compile.cc: New. * testsuite/special_functions/11_ellint_1/compile_2.cc: New. * testsuite/special_functions/12_ellint_2/check_nan.cc: New. * testsuite/special_functions/12_ellint_2/check_value.cc: New. * testsuite/special_functions/12_ellint_2/compile.cc: New. * testsuite/special_functions/12_ellint_2/compile_2.cc: New. * testsuite/special_functions/13_ellint_3/check_nan.cc: New. * testsuite/special_functions/13_ellint_3/check_value.cc: New. * testsuite/special_functions/13_ellint_3/compile.cc: New. * testsuite/special_functions/13_ellint_3/compile_2.cc: New. * testsuite/special_functions/14_expint/check_nan.cc: New. * testsuite/special_functions/14_expint/check_value.cc: New. * testsuite/special_functions/14_expint/compile.cc: New. * testsuite/special_functions/14_expint/compile_2.cc: New. * testsuite/special_functions/15_hermite/check_nan.cc: New. * testsuite/special_functions/15_hermite/check_value.cc: New. * testsuite/special_functions/15_hermite/compile.cc: New. * testsuite/special_functions/15_hermite/compile_2.cc: New. * testsuite/special_functions/16_laguerre/check_nan.cc: New. * testsuite/special_functions/16_laguerre/check_value.cc: New. * testsuite/special_functions/16_laguerre/compile.cc: New. * testsuite/special_functions/16_laguerre/compile_2.cc: New. * testsuite/special_functions/17_legendre/check_nan.cc: New. * testsuite/special_functions/17_legendre/check_value.cc: New. * testsuite/special_functions/17_legendre/compile.cc: New. * testsuite/special_functions/17_legendre/compile_2.cc: New. * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New. * testsuite/special_functions/18_riemann_zeta/check_value.cc: New. * testsuite/special_functions/18_riemann_zeta/compile.cc: New. * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New. * testsuite/special_functions/19_sph_bessel/check_nan.cc: New. * testsuite/special_functions/19_sph_bessel/check_value.cc: New. * testsuite/special_functions/19_sph_bessel/compile.cc: New. * testsuite/special_functions/19_sph_bessel/compile_2.cc: New. * testsuite/special_functions/20_sph_legendre/check_nan.cc: New. * testsuite/special_functions/20_sph_legendre/check_value.cc: New. * testsuite/special_functions/20_sph_legendre/compile.cc: New. * testsuite/special_functions/20_sph_legendre/compile_2.cc: New. * testsuite/special_functions/21_sph_neumann/check_nan.cc: New. * testsuite/special_functions/21_sph_neumann/check_value.cc: New. * testsuite/special_functions/21_sph_neumann/compile.cc: New. * testsuite/special_functions/21_sph_neumann/compile_2.cc: New. * testsuite/util/specfun_testcase.h: New. * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases. * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto. * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New. 2016-01-13 Jonathan Wakely PR libstdc++/48891 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf and isnan functions. * config.h.in: Regenerate. * configure: Regenerate. * include/c_global/cmath (isinf(double), isnan(double)) [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive. * testsuite/26_numerics/headers/cmath/48891.cc: New. 2016-01-13 Rainer Orth PR libstdc++/66006 * configure.host (abi_baseline_pair): Use separate baseline for Solaris 11+ and Solaris 10 with gld. * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file. * config/abi/post/solaris2.11/baseline_symbols.txt: New file. * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file. 2016-01-12 Daniel Kruegler PR libstdc++/68877 * include/std/type_traits: Following N4511, reimplement __is_swappable and __is_nothrow_swappable. Move __is_swappable to namespace std, adjust callers. Use __is_nothrow_swappable in swap. * include/bits/move.h: Use __is_nothrow_swappable in swap. * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove __is_swappable related tests. * testsuite/20_util/is_swappable/value.cc: New. * testsuite/20_util/is_swappable/requirements/ explicit_instantiation.cc: New. * testsuite/20_util/is_swappable/requirements/typedefs.cc: New. * testsuite/25_algorithms/swap/68877.cc: New. 2016-01-12 Jonathan Wakely * testsuite/20_util/function/68995.cc: Test reference_wrapper cases. PR libstdc++/69005 PR libstdc++/69222 * include/std/functional (function::_Invoke): Remove, use result_of. (function::_Callable): Replace alias template with class template and use partial specialization instead of _NotSelf alias template. (function(_Functor)): Add "not self" constraint so that _Callable is not used while type is incomplete. * testsuite/20_util/function/69222.cc: New. 2016-01-11 Jonathan Wakely PR libstdc++/60976 * include/bits/alloc_traits.h (allocator_traits>): Define partial specialization. * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and destroy members to std::allocator explicit specialization. 2016-01-08 Jonathan Wakely * testsuite/26_numerics/headers/cmath/ c99_classification_macros_c++.cc: Rename to ... * testsuite/26_numerics/headers/cmath/ c99_classification_macros_c++98.cc: Here and add -std=gnu++98. * testsuite/26_numerics/headers/cmath/ c99_classification_macros_c++0x.cc: Rename to ... * testsuite/26_numerics/headers/cmath/ c99_classification_macros_c++11.cc: Here. PR libstdc++/69190 * include/bits/uses_allocator.h: Add missing include. 2016-01-07 Jonathan Wakely PR libstdc++/69105 PR libstdc++/69106 PR libstdc++/69114 * include/bits/stl_iterator.h (back_insert_iterator, front_insert_iterator, insert_iterator): Use __addressof (LWG 2324). * include/bits/uses_allocator.h (__use_alloc): Use __addressof. * include/std/future (__future::base::_State_baseV2::__setter): Likewise. * include/std/scoped_allocator (__outermost): Likewise. * testsuite/20_util/scoped_allocator/69114.cc: New. * testsuite/20_util/uses_allocator/69114.cc: New. * testsuite/30_threads/promise/69106.cc: New. 2016-01-06 Jonathan Wakely PR libstdc++/69092 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>): Remove _GLIBCXX_NOEXCEPT. testsuite/21_strings/basic_string/cons/char/69092.cc: New. * include/Makefile.am: Adjust. * include/Makefile.in: Regenerate. * include/bits/mutex.h: Rename to bits/std_mutex.h. * include/std/condition_variable: Adjust include. * include/std/mutex: Likewise. 2016-01-04 Jakub Jelinek Update copyright years. Copyright (C) 2016 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.