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