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