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