1 2015-11-13 Fan You <youfan.noey@gmail.com>
2 Jonathan Wakely <jwakely@redhat.com>
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:
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:
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:
27 * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
29 * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
31 * testsuite/experimental/memory/shared_ptr/observers/use_count.cc: New.
33 2015-11-13 Jonathan Wakely <jwakely@redhat.com>
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.
49 2015-11-13 Fan You <youfan.noey@gmail.com>
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.
62 2015-11-12 Jonathan Wakely <jwakely@redhat.com>
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.
72 * include/std/thread: Include <cerrno> for EINTR.
74 2015-11-12 Ville Voutilainen <ville.voutilainen@gmail.com>
76 Implement D0013R2, logical type traits.
78 * include/experimental/type_traits (conjunction, disjunction,
79 negation, conjunction_v, disjunction_v, negation_v): New.
80 * include/std/type_traits (conjunction, disjunction, negation):
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:
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.
91 2015-11-12 Jonathan Wakely <jwakely@redhat.com>
93 * include/experimental/bits/string_view.tcc: Fix doxygen @file.
95 2015-11-11 Jonathan Wakely <jwakely@redhat.com>
97 * libsupc++/new_handler.cc: Fix for explicit constructor change.
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
106 2015-11-11 Ville Voutilainen <ville.voutilainen@gmail.com>
108 LWG 2510, make the default constructors of library tag types
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.
117 2015-11-11 Jonathan Wakely <jwakely@redhat.com>
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.
125 2015-11-10 Jonathan Wakely <jwakely@redhat.com>
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.
135 * doc/xml/manual/status_cxx2017.xml: Update.
136 * doc/html/*: Regenerate.
138 * include/bits/functional_hash.h: Fix grammar in comment.
140 2015-11-09 François Dumont <fdumont@gcc.gnu.org>
142 * include/bits/stl_algo.h
143 (partial_sort_copy): Instantiate std::iterator_traits only if concept
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.
151 2015-11-06 Kai Tietz <ktietz70@googlemail.com>
153 * testsuite/26_numerics/complex/requirements/constexpr.cc
154 * testsuite/26_numerics/complex/requirements/constexpr_functions.cc:
155 Use constexpr where needed.
157 2015-11-06 David Malcolm <dmalcolm@redhat.com>
159 * testsuite/lib/libstdc++.exp (v3_target_compile): Add
160 -fno-diagnostics-show-caret -fdiagnostics-color=never to
161 option's additional_flags.
163 2015-11-03 Jason Merrill <jason@redhat.com>
165 * libsupc++/new: Declare sized deletes.
167 2015-11-03 Ville Voutilainen <ville.voutilainen@gmail.com>
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:
195 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
196 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
198 * testsuite/20_util/pair/cons/explicit_construct.cc: Likewise.
199 * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
201 2015-10-24 Jonathan Wakely <jwakely@redhat.com>
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
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.
218 2015-10-24 Jonathan Wakely <jwakely@redhat.com>
220 * include/std/future (async): Use deferred function on exception.
221 * testsuite/30_threads/async/except.cc: New.
223 2015-10-21 Jonathan Wakely <jwakely@redhat.com>
225 * include/std/type_traits (__cpp_lib_bool_constant): Define.
227 2015-10-16 Jonathan Wakely <jwakely@redhat.com>
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.
235 2015-10-16 Aurelio Remonda <aurelio.remonda@tallertechnologies.com>
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.
241 2015-10-15 Szabolcs Nagy <szabolcs.nagy@arm.com>
243 * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Check for
244 unsupported compiler output.
246 2015-10-13 Nathan Froyd <froydnj@gcc.gnu.org>
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
252 2015-10-11 Joseph Myers <joseph@codesourcery.com>
254 * crossconfig.m4 (GLIBCXX_CROSSCONFIG) <*-linux* | *-uclinux* |
255 *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu | *-cygwin*>: Check for
256 __cxa_thread_atexit_impl.
257 * configure: Regenerate.
259 2015-10-09 Jonathan Wakely <jwakely@redhat.com>
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.
282 2015-10-05 Ville Voutilainen <ville.voutilainen@gmail.com>
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.
291 2015-10-03 Jonathan Wakely <jwakely@redhat.com>
293 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Remove support
296 * src/c++98/locale.cc: Fix comment.
297 * src/c++98/locale_init.cc: Likewise.
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:
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.
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.
317 2015-10-02 Jonathan Wakely <jwakely@redhat.com>
319 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
320 Minor tweaks to match narrow char version.
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.
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.
332 * acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment.
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
342 * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
343 * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
345 * testsuite/util/testsuite_fs.h (nonexistent_path): Use less generic
346 name for paths. Prefer snprintf to sprintf.
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.
354 2015-10-01 Jonathan Wakely <jwakely@redhat.com>
356 * doc/html/manual/errno.html: Add new file.
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.
365 2015-09-30 François Dumont <fdumont@gcc.gnu.org>
366 Jonathan Wakely <jwakely@redhat.com>
368 * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs):
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.
376 2015-09-30 Matthias Klose <doko@ubuntu.com>
378 * config/cpu/alpha, config/cpu/ia64: Remove empty directories.
380 2015-09-29 Jonathan Wakely <jwakely@redhat.com>
382 * include/ext/string_conversions.h (__stoa): Save and restore errno.
383 * testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc:
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.
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.
406 2015-09-28 Jonathan Wakely <jwakely@redhat.com>
408 * include/std/condition_variable (condition_variable::wait): Add
410 * src/c++11/condition_variable.cc (condition_variable::wait): Call
411 std::terminate on error (DR 2135).
413 2015-09-25 Ville Voutilainen <ville.voutilainen@gmail.com>
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.
423 2015-09-24 Jonathan Wakely <jwakely@redhat.com>
426 * include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize
428 * testsuite/23_containers/deque/allocator/move.cc: Check moved-from
431 2015-09-23 Jonathan Wakely <jwakely@redhat.com>
433 * src/filesystem/ops.cc (canonical): Simplify error handling and
434 limit number of symlinks that can be resolved.
436 2015-09-23 Jonathan Wakely <jwakely@redhat.com>
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
458 (recursive_directory_iterator::increment): Pass _M_options to
460 (recursive_directory_iterator::pop): Likewise.
461 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
463 * testsuite/experimental/filesystem/iterators/
464 recursive_directory_iterator.cc: New.
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:
471 2015-09-21 Jonathan Wakely <jwakely@redhat.com>
474 * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
475 (basic_string::shrink_to_fit): Fix #endif placement.
477 2015-09-19 Tim Shen <timshen@google.com>
480 * include/bits/regex_error.h: Add __throw_regex_error that
482 * include/bits/regex_automaton.h: Add more specific exception
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.
490 2015-09-18 Jonathan Wakely <jwakely@redhat.com>
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.
496 2015-09-17 Catherine Moore <clm@codesourcery.com>
498 * src/c++11/debug.cc: Include <cstdio>.
500 2015-09-17 Gerald Pfeifer <gerald@pfeifer.com>
502 * src/c++11/random.cc: Include <cerrno>.
504 2015-09-17 François Dumont <fdumont@gcc.gnu.org>
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.
520 2015-09-17 Jonathan Wakely <jwakely@redhat.com>
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.
529 * testsuite/experimental/filesystem/operations/canonical.cc: Remove
530 non-deterministic part of the test.
533 * src/c++11/random.cc (random_device::_M_getval()): Retry after short
536 * include/std/system_error (error_code::operator bool(),
537 error_condition::operator bool()): Remove redundant conditional
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.
544 2015-09-16 Jonathan Wakely <jwakely@redhat.com>
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
556 * testsuite/experimental/filesystem/operations/absolute.cc: Add test
558 * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
559 * testsuite/experimental/filesystem/operations/current_path.cc:
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:
566 2015-09-11 Jonathan Wakely <jwakely@redhat.com>
569 * src/filesystem/ops.cc (filesystem::canonical): Allocate buffer for
570 realpath on Solaris 10.
573 * src/c++11/random.cc (random_device::_M_getval()): Check read result.
575 2015-09-11 John Marino <gnugcc@marino.st>
576 Jonathan Wakely <jwakely@redhat.com>
579 * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Do not test code points
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.
596 2015-09-11 Jonathan Wakely <jwakely@redhat.com>
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
605 * testsuite/17_intro/headers/c++200x/: Rename to c++2011.
606 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Remove
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:
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:
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:
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:
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:
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.
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:
654 * testsuite/23_containers/stack/requirements/uses_allocator.cc:
657 2015-09-10 Jonathan Wakely <jwakely@redhat.com>
659 * testsuite/util/testsuite_allocator.h (PointerBase::operator[]): Add.
661 * testsuite/21_strings/basic_string/operators/char/1.cc: Verify the
664 2015-09-09 Jonathan Wakely <jwakely@redhat.com>
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
677 * include/bits/basic_string.h (basic_string::operator[],
678 basic_string::front, basic_string::back, basic_string::pop_back):
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++):
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):
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):
744 2015-09-07 Jonathan Wakely <jwakely@redhat.com>
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
752 * include/bits/regex_compiler.h (_BracketMatcher::_M_is_ready):
753 Initialize using NSDMI and set using _GLIBCXX_DEBUG_ONLY.
755 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Rename
758 * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Run on
760 * testsuite/30_threads/timed_mutex/unlock/2.cc: Run on darwin.
762 2015-09-04 Jonathan Wakely <jwakely@redhat.com>
765 * include/std/mutex (recursive_timed_mutex): Fix uses of _Can_lock.
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
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:
780 * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
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:
790 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
792 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
794 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
796 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
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:
804 * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
805 * testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
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.
821 2015-09-04 Edward Smith-Rowland <3dw4rd@verizon.net>
822 Jonathan Wakely <jwakely@redhat.com>
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:
840 2015-09-04 Jonathan Wakely <jwakely@redhat.com>
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.
859 2015-09-03 Jonathan Wakely <jwakely@redhat.com>
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.
868 * src/c++11/debug.cc (_S_debug_messages): Make array const.
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.
878 * include/bits/stl_iterator_base_funcs.h (next, prev): Add concept
880 * testsuite/24_iterators/operations/prev_neg.cc: New.
881 * testsuite/24_iterators/operations/next_neg.cc: New.
883 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
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:
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:
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:
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:
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:
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:
1002 * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
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:
1008 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
1010 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
1012 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
1014 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
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:
1102 * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
1105 2015-09-02 Dmitry Vyukov <dvyukov@google.com>
1107 * include/bits/basic_string.h: Fix data races on _M_refcount.
1109 2015-09-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
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.
1117 2015-08-28 Tim Shen <timshen@google.com>
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.
1126 2015-08-27 Jonathan Wakely <jwakely@redhat.com>
1129 * include/bits/range_access.h (valarray, begin, end): Declare.
1130 * testsuite/26_numerics/valarray/range_access.cc: Test const
1132 * testsuite/26_numerics/valarray/range_access2.cc: New.
1134 2015-08-27 John Marino <gnugcc@marino.st>
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.
1151 2015-08-27 Jonathan Wakely <jwakely@redhat.com>
1153 * configure: Regenerate.
1155 2015-08-26 Edward Smith-Rowland <3dw4rd@verizon.net>
1156 Jonathan Wakely <jwakely@redhat.com>
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/
1165 2015-08-26 Jonathan Wakely <jwakely@redhat.com>
1167 * include/bits/shared_ptr.h (__enable_shared_from_this_helper): Use
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.
1177 * include/debug/map.h (map::try_emplace, map::insert_or_assign):
1179 * include/debug/unordered_map (unordered_map::try_emplace,
1180 unordered_map::insert_or_assign): Define.
1183 * src/c++11/debug.cc (_S_debug_messages): Give internal linkage.
1185 2015-08-24 François Dumont <fdumont@gcc.gnu.org>
1188 * include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
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
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):
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.
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:
1241 2015-08-24 Jonathan Wakely <jwakely@redhat.com>
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
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:
1258 * testsuite/21_strings/char_traits/requirements/char32_t/65049.cc:
1260 * testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc:
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
1271 2015-08-20 Jonathan Wakely <jwakely@redhat.com>
1274 * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Do not run
1276 * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
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.
1282 * python/Makefile.am: Ensure gdb.py is installed for libstdc++ not
1284 * python/Makefile.in: Regenerate.
1286 2015-08-19 Paolo Carlini <paolo.carlini@oracle.com>
1288 * include/c_global/cmath: Fix typo in comment.
1290 2015-08-19 Paolo Carlini <paolo.carlini@oracle.com>
1292 * include/c_global/cmath: Revert fix for libstdc++/58625, no
1293 longer necessary (__builtin_signbit is now type-generic).
1295 2015-08-18 Jonathan Wakely <jwakely@redhat.com>
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.
1301 * include/bits/ptr_traits.h: Include <bits/move.h> for addressof.
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):
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.
1313 2015-08-14 Jonathan Wakely <jwakely@redhat.com>
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.
1323 2015-08-14 Jonathan Wakely <jwakely@redhat.com>
1325 * include/experimental/array: Add feature-test macro.
1326 * testsuite/experimental/array/neg.cc: Update dg-error.
1328 2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1330 * testsuite/experimental/array/neg.s: Remove.
1331 * testsuite/experimental/array/neg.ii.gz: Remove.
1333 2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com>
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.
1345 2015-08-13 Jonathan Wakely <jwakely@redhat.com>
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.
1353 2015-08-13 Jonathan Wakely <jwakely@redhat.com>
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.
1362 2015-08-13 Eelis van der Weegen <eelis@eelis.net>
1364 * include/std/shared_mutex (shared_mutex::unlock()): Fix typo.
1366 2015-08-12 Caroline Tice <cmtice@google.com>
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.
1373 2015-08-12 Jonathan Wakely <jwakely@redhat.com>
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.
1379 2015-08-09 Ville Voutilainen <ville.voutilainen@gmail.com>
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:
1389 * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
1390 * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
1392 * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
1395 2015-08-08 Ville Voutilainen <ville.voutilainen@gmail.com>
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
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
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
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.
1435 2015-08-05 Nikolai Bozhenov <n.bozhenov@samsung.com>
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.
1445 2015-08-03 Jonathan Wakely <jwakely@redhat.com>
1448 * include/bits/range_access.h (size, empty, data): Fix _N bad name.
1450 2015-07-30 Jonathan Wakely <jwakely@redhat.com>
1452 * testsuite/experimental/filesystem/operations/current_path.cc: Use
1453 canonical paths for comparisons.
1455 2015-07-30 Tim Shen <timshen@google.com>
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>
1470 2015-07-30 Jonathan Wakely <jwakely@redhat.com>
1472 * include/experimental/any (any::operator=(const any&)): Check for
1474 * testsuite/experimental/any/assign/self.cc: New.
1475 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
1477 2015-07-29 Jonathan Wakely <jwakely@redhat.com>
1480 * testsuite/lib/libstdc++.exp (v3-build_support): Compile
1481 testsuite_shared.cc with -std=gnu++98.
1483 2015-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
1485 * include/bits/range_access.h: Change class to typename in every
1487 (size, empty, data): New functions from N4280.
1488 * testsuite/24_iterators/container_access.cc: New.
1491 * include/bits/functional_hash.h (__hash_enum): New.
1492 (hash): Derive from __hash_enum.
1493 * testsuite/20_util/hash/60970.cc: New.
1495 2015-07-29 Tim Shen <timshen@google.com>
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:
1506 2015-07-24 Jonathan Wakely <jwakely@redhat.com>
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.
1513 2015-07-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
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.
1528 2015-07-23 DJ Delorie <dj@redhat.com>
1530 * include/bits/functional_hash.h: Add specializations for __intN
1533 * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp (__gnu_pbds):
1534 Guard against values that might exceed size_t's precision.
1536 2015-07-20 Jason Merrill <jason@redhat.com>
1538 * include/bits/c++config: Fix abi_tag in special modes.
1540 2015-07-19 Jonathan Wakely <jwakely@redhat.com>
1542 * doc/xml/manual/status_cxx2017.xml: Fix URL for N4279.
1543 * doc/html/manual/status.html: Regenerate.
1545 2015-07-17 Jonathan Wakely <jwakely@redhat.com>
1547 * doc/xml/manual/status_cxx2011.xml: Add caveats for native_handle.
1548 * doc/html/manual/status.html: Regenerate.
1550 2015-07-16 François Dumont <fdumont@gcc.gnu.org>
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.
1557 2015-07-13 Jonathan Wakely <jwakely@redhat.com>
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.
1564 * include/bits/c++config (_GLIBCXX_NOEXCEPT_IF): Define.
1565 * include/bits/forward_list.h (forward_list::swap): Make noexcept
1567 * include/bits/hashtable.h (_Hashtable::swap): Do not use
1569 * include/bits/stl_bvector.h (vector<bool>::swap): Make noexcept
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
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()):
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:
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:
1623 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc:
1625 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc:
1627 * testsuite/23_containers/unordered_set/allocator/noexcept.cc:
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
1634 2015-07-13 John Marino <gnugcc@marino.st>
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.
1640 2015-07-05 François Dumont <fdumont@gcc.gnu.org>
1642 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not
1644 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
1647 2015-07-03 Jonathan Wakely <jwakely@redhat.com>
1649 * doc/xml/manual/status_cxx2017.xml: Update status table.
1650 * doc/html/manual/*: Regenerate.
1652 2015-07-03 Ville Voutilainen <ville.voutilainen@gmail.com>
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:
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.
1677 2015-07-02 Jonathan Wakely <jwakely@redhat.com>
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.
1684 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
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
1691 2015-07-01 Jonathan Wakely <jwakely@redhat.com>
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.
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
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.
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.
1724 2015-06-30 Jonathan Wakely <jwakely@redhat.com>
1726 * doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log.
1727 * doc/Makefile.in: Regenerate.
1729 * include/bits/stl_pair.h: Replace class keyword with typename.
1731 2015-06-30 Ville Voutilainen <ville.voutilainen@gmail.com>
1733 Implement N4387, "Improving pair and tuple", and LWG 2367.
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.
1762 2015-06-30 Jonathan Wakely <jwakely@redhat.com>
1764 * configure: Regenerate.
1766 2015-06-29 François Dumont <fdumont@gcc.gnu.org>
1768 * include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition
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,
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
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
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
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
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.
1826 2015-06-26 Jonathan Wakely <jwakely@redhat.com>
1828 * doc/xml/manual/intro.xml: Document LWG 2108 status.
1829 * include/bits/alloc_traits.h (allocator_traits::is_always_equal):
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&&)):
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
1843 (swap(deque&, deque&)): Add noexcept.
1844 * include/bits/stl_list.h (list::operator=(list&&)): Use
1846 (swap(list&, list&)): Add noexcept.
1847 * include/bits/stl_map.h (map::swap(map&)): Include _Compare in
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
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
1863 * include/bits/stl_vector.h (vector::operator=(vector&&)): Use
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):
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):
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:
1897 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1899 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1901 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1903 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
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:
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.
1918 2015-06-25 Jonathan Wakely <jwakely@redhat.com>
1920 * include/bits/locale_conv.h (__do_str_codecvt): Set __count.
1922 2015-06-24 François Dumont <fdumont@gcc.gnu.org>
1924 * include/bits/basic_string.h (basic_string<>::front()): Add !empty
1926 (basic_string<>::back()): Likewise.
1927 (basic_string<>::pop_back()): Likewise.
1929 2015-06-24 Paolo Carlini <paolo.carlini@oracle.com>
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:
1936 2015-06-23 François Dumont <fdumont@gcc.gnu.org>
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.
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.
1952 2015-06-22 Jonathan Wakely <jwakely@redhat.com>
1954 * testsuite/26_numerics/complex/value_operations/1.cc: Use
1955 non-negative rho argument.
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.
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
1968 * include/bits/stl_uninitialized.h
1969 (__uninitialized_copy::__uninit_copy): Cast expression to void.
1971 2015-06-17 Jonathan Wakely <jwakely@redhat.com>
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
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
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:
2010 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2013 * include/bits/forward_list.h
2014 (_Fwd_list_base(const _Node_alloc_type&)): Change parameter to
2016 (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Likewise.
2017 (forward_list(const _Alloc&)): Split default constructor out to
2019 (forward_list(forward_list&&, const _Alloc&)): Move elements if base
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&)):
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.
2041 * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use
2042 __is_nothrow_swappable.
2044 2015-06-16 Jonathan Wakely <jwakely@redhat.com>
2046 * include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof.
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
2053 * include/debug/formatter.h (_Error_formatter::_Parameter::_Parameter):
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.
2060 * src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr
2063 2015-06-12 Jonathan Wakely <jwakely@redhat.com>
2065 * include/precompiled/stdc++.h: Include <codecvt> and <shared_mutex>.
2068 * src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length):
2071 2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
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.
2082 2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
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.
2093 (__set_and_release): Likewise.
2094 * testsuite/20_util/shared_ptr/cons/43820_neg.cc (test01): Adjust for
2096 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2097 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
2100 2015-06-12 Jonathan Wakely <jwakely@redhat.com>
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.
2107 2015-06-09 Jonathan Wakely <jwakely@redhat.com>
2110 * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols
2113 2015-06-08 Jonathan Wakely <jwakely@redhat.com>
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.
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.
2125 2015-06-07 François Dumont <fdumont@gcc.gnu.org>
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.
2156 2015-06-05 Jonathan Wakely <jwakely@redhat.com>
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:
2165 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2168 * include/std/shared_mutex (__shared_mutex_pthread,
2169 __shared_mutex_cv): New helper types implementing the shared mutex
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:
2178 * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
2179 * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
2181 2015-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
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:
2203 * testsuite/20_util/is_nothrow_swappable/value.cc: New.
2205 2015-06-03 François Dumont fdumont@gcc.gnu.org>
2207 * testsuite/23_containers/list/61347.cc: Add dg-require-normal-mode.
2209 2015-06-02 Jonathan Wakely <jwakely@redhat.com>
2211 * doc/xml/manual/abi.xml: Document versioning for 5.1.0 release.
2212 * doc/html/manual/*: Regenerate.
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.
2220 2015-06-02 Renlin Li <renlin.li@arm.com>
2222 * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check.
2224 2015-06-01 Jonathan Wakely <jwakely@redhat.com>
2226 * testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE
2227 environment variable.
2229 2015-05-31 Jonathan Wakely <jwakely@redhat.com>
2232 * include/bits/stl_algobase.h (__fill_a): Check length before calling
2235 2015-05-30 Jonathan Wakely <jwakely@redhat.com>
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.
2241 2015-05-29 François Dumont fdumont@gcc.gnu.org>
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
2253 (_Error_formatter::_Parameter::_Type): New.
2254 (_Error_formatter::_Parameter::_Instance): New, inherit from
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)):
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
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
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.
2299 2015-05-29 Jonathan Wakely <jwakely@redhat.com>
2301 * doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute.
2302 * doc/html/manual/*: Regenerate.
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.
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
2315 2015-05-28 Jonathan Wakely <jwakely@redhat.com>
2318 * include/profile/array (array::data): Use _S_ptr.
2319 * include/debug/array (array::data): Likewise.
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:
2329 2015-05-27 Jonathan Wakely <jwakely@redhat.com>
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.
2355 * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
2356 (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
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.
2365 2015-05-26 Doug Evans <dje@google.com>
2367 * python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
2369 * testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
2372 2015-05-26 Jonathan Wakely <jwakely@redhat.com>
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:
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:
2385 * testsuite/22_locale/conversions/string/requirements/typedefs.cc:
2387 * testsuite/util/testsuite_fs.h: Likewise.
2389 2015-05-23 François Dumont fdumont@gcc.gnu.org>
2392 * include/debug/functions.h (__check_sorted_aux): Cast expression to
2395 2015-05-21 David Edelsohn <dje.gcc@gmail.com>
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.
2403 2015-05-21 Jason Merrill <jason@redhat.com>
2405 * libsupc++/del_opv.cc: Suppress -Wsized-deallocation.
2406 * libsupc++/del_op.cc: Likewise.
2408 2015-05-20 François Dumont fdumont@gcc.gnu.org>
2410 * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify
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.
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
2424 * include/bits/stl_algobase.h (std::__miter_base): Provide default
2427 2015-05-20 Jonathan Wakely <jwakely@redhat.com>
2429 * testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam.
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.
2441 2015-05-19 Jonathan Wakely <jwakely@redhat.com>
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.
2449 2015-05-19 François Dumont <fdumont@gcc.gnu.org>
2451 * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor
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.
2457 2015-05-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2459 * configure.host: Define cpu_defines_dir for ARM.
2460 * config/cpu/arm/cpu_defines.h: New file.
2462 2015-05-17 François Dumont <fdumont@gcc.gnu.org>
2464 * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add
2465 missing constructors.
2466 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
2468 * include/debug/unordered_map (unordered_map, unordered_multimap): Add
2469 missing constructors.
2470 * include/debug/unordered_set (unordered_set, unordered_multiset):
2472 * include/profile/unordered_map (unordered_map, unordered_multimap): Add
2473 missing constructors.
2474 * include/profile/unordered_set (unordered_set, unordered_multiset):
2477 2015-05-15 Jonathan Wakely <jwakely@redhat.com>
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:
2493 2015-05-14 Nathan Myers <ncm@cantrip.org>
2494 Jonathan Wakely <jwakely@redhat.com>
2497 * include/std/unordered_map (unordered_map, unordered_multimap): Add
2498 missing constructors.
2499 * include/std/unordered_set (unordered_set, unordered_multiset):
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.
2506 2015-05-14 Jonathan Wakely <jwakely@redhat.com>
2509 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and
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
2516 (current_path, permissions, space): Use errno not return value.
2519 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct
2521 * config.h.in: Regenerate.
2522 * configure: Regenerate.
2523 * configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove.
2525 2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
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.
2541 2015-05-13 Jonathan Wakely <jwakely@redhat.com>
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.
2550 * include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()):
2552 * testsuite/20_util/raw_storage_iterator/base.cc: New.
2554 * include/std/future (packaged_task(allocator_arg_t, const A&, F&&):
2555 Remove explicit (LWG 2407).
2557 * include/bits/basic_string.h (basic_string::basic_string()): Make
2558 noexcept conditional on allocator (LWG 2455).
2560 * include/std/complex (polar): Check for negative rho (LWG 2459).
2562 * include/experimental/tuple (apply): Handle pointers to member (LWG
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.
2568 * include/bits/random.h (seed_seq): More noexcept (LWG 2440).
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:
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:
2580 * testsuite/23_containers/unordered_multimap/allocator/minimal.cc:
2582 * testsuite/23_containers/unordered_multiset/allocator/minimal.cc:
2584 * testsuite/23_containers/unordered_set/allocator/minimal.cc:
2586 * testsuite/util/testsuite_allocator.h: Remove unused parameter.
2588 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris.
2589 * configure: Regenerate.
2591 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
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.
2607 2015-05-09 Jason Merrill <jason@redhat.com>
2609 * testsuite/20_util/headers/functional/synopsis.cc: Add
2610 _GLIBCXX14_CONSTEXPR.
2611 * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
2613 2015-05-08 Jason Merrill <jason@redhat.com>
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:
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:
2632 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
2634 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2636 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2638 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2640 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2642 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2644 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
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:
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:
2665 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
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:
2673 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
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.
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.
2683 2015-05-02 Jonathan Wakely <jwakely@redhat.com>
2686 * include/std/future (async): Change default policy to launch::async.
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.
2693 * include/experimental/iterator (ostream_joiner): Simplify by using
2694 the injected-class-name and the ostream_type typedef.
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.
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.
2713 2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
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.
2725 2015-05-02 Jonathan Wakely <jwakely@redhat.com>
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.
2740 * include/experimental/fs_path.h (filesystem_error::~filesystem_error):
2742 * src/filesystem/path.cc (filesystem_error::~filesystem_error):
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.
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.
2754 2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
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.
2765 2015-05-01 Jonathan Wakely <jwakely@redhat.com>
2767 * include/experimental/memory: Correct feature-test macro.
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.
2774 2015-05-01 Ville Voutilainen <ville.voutilainen@gmail.com>
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.
2789 2015-05-01 Jonathan Wakely <jwakely@redhat.com>
2791 * src/filesystem/path.cc (path::compare): Do not copy strings.
2793 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h>
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
2810 * include/experimental/fs_path.h (path::_List): Use vector instead of
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.
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.
2824 * include/bits/locale_classes.h (locale::facet): Delete copy
2825 operations in C++11 mode.
2827 * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name.
2829 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris.
2830 * configure: Regenerate.
2832 2015-05-01 Edward Smith-Rowland <3dw4rd@verizon.net>
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.
2843 2015-05-01 Jonathan Wakely <jwakely@redhat.com>
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.
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.
2857 2015-04-30 Jonathan Wakely <jwakely@redhat.com>
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
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:
2907 * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
2909 * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
2911 * testsuite/experimental/filesystem/path/decompose/root_name.cc:
2913 * testsuite/experimental/filesystem/path/decompose/root_path.cc:
2915 * testsuite/experimental/filesystem/path/decompose/stem.cc: New.
2916 * testsuite/experimental/filesystem/path/generic/generic_string.cc:
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:
2922 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
2924 * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
2926 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
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:
2935 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
2937 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
2939 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
2941 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
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.
2947 2015-04-30 Edward Smith-Rowland <3dw4rd@verizon.net>
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.
2973 2015-04-30 François Dumont <fdumont@gcc.gnu.org>
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.
2982 2015-04-30 François Dumont <fdumont@gcc.gnu.org>
2984 * include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes):
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
2990 2015-04-29 Doug Evans <dje@google.com>
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
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.
3014 2015-04-29 Doug Evans <dje@google.com>
3016 Use consistent naming for value type attributes.
3017 * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
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
3026 (ForwardListMethodsMatcher): Rename elem_type to val_type.
3027 (VectorWorkerBase): Rename _elemtype to _val_type.
3029 2015-04-29 Jonathan Wakely <jwakely@redhat.com>
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.
3037 * include/bits/basic_string (basic_string::_S_copy_chars): Cast
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:
3054 2015-04-28 Doug Evans <dje@google.com>
3056 * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI):
3059 2015-04-28 Jonathan Wakely <jwakely@redhat.com>
3061 * include/bits/stl_algo.h (random_shuffle): Only define for hosted
3064 2015-04-28 Jonathan Wakely <jwakely@redhat.com>
3066 * Makefile.am (SUBDIRS): Move python to hosted_source.
3067 * Makefile.in: Regenerate.
3068 * acinclude.m4 (glibcxx_SUBDIRS): Reorder.
3069 * configure: Regenerate.
3071 2015-04-28 Marc Glisse <marc.glisse@inria.fr>
3074 * include/std/limits (numeric_limits): Add missing unsigned.
3076 2015-04-28 Stephan Bergmann <sbergman@redhat.com>
3078 * include/debug/vector (_Safe_vector::operator=): Add missing returns.
3080 2015-04-28 Jonathan Wakely <jwakely@redhat.com>
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
3087 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
3088 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3090 * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
3091 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
3093 * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
3096 * include/bits/forward_list.h (forward_list::splice_after): Add
3098 * include/bits/forward_list.tcc (forward_list::splice_after):
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.
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.
3110 * include/std/type_traits (void_t): Add.
3111 * testsuite/20_util/void_t/1.cc: New.
3113 2015-04-28 Tim Shen <timshen@google.com>
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.
3125 2015-04-27 Sandra Loosemore <sandra@codesourcery.com>
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.
3132 2015-04-27 Federico Lenarduzzi <federico.lenarduzzi@tallertechnologies.com>
3133 Jonathan Wakely <jwakely@redhat.com>
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.
3140 2015-04-27 Ville Voutilainen <ville.voutilainen@gmail.com>
3142 * config/abi/pre/gnu.ver: Fix comment.
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.
3153 2015-04-27 Dmitry Prokoptsev <dprokoptsev@gmail.com>
3154 Michael Hanselmann <public@hansmi.ch>
3157 * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of
3158 uncaught exceptions.
3159 * testsuite/18_support/exception_ptr/62258.cc: New.
3161 2015-04-27 Jonathan Wakely <jwakely@redhat.com>
3163 * doc/xml/manual/extensions.xml: Add cross-reference.
3164 * doc/html/manual/ext_compile_checks.html: Regenerate.
3166 2015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
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*.
3171 2015-04-22 Renlin Li <renlin.li@arm.com>
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.
3179 2015-04-21 Jonathan Wakely <jwakely@redhat.com>
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.
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.
3191 2015-04-20 Jonathan Wakely <jwakely@redhat.com>
3193 * doc/xml/manual/concurrency_extensions.xml: Update documentation
3195 * doc/xml/manual/using.xml: Likewise. Improve markup.
3196 * doc/html/*: Regenerate.
3198 2015-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3200 * scripts/extract_symvers.pl: Ignore elfdump error output.
3202 2015-04-14 Marc Glisse <marc.glisse@inria.fr>
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.
3213 2015-04-14 Jonathan Wakely <jwakely@redhat.com>
3215 * doc/xml/manual/evolution.xml: Fix typos.
3216 * doc/html/manual/api.html: Regenerate.
3218 2015-04-14 Hans-Peter Nilsson <hp@axis.com>
3220 * testsuite/29_atomics/atomic/62259.cc: Assert atomic
3221 alignment is larger-equal, not equal, to default alignment.
3223 2015-04-13 Jonathan Wakely <jwakely@redhat.com>
3226 * config/abi/pre/gnu.ver: Export base object constructors for
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.
3247 2015-04-13 Jonathan Wakely <jwakely@redhat.com>
3249 * doc/xml/manual/evolution.xml: Document changes since 4.5 release.
3250 * doc/html/*: Regenerate.
3252 2015-04-12 Uros Bizjak <ubizjak@gmail.com>
3254 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
3256 2015-04-10 Andreas Schwab <schwab@linux-m68k.org>
3258 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
3260 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
3262 2015-04-10 Jonathan Wakely <jwakely@redhat.com>
3264 * doc/xml/manual/test.xml: Improve documentation on running a subset
3266 * doc/html/manual/test.html: Regenerate.
3268 2015-04-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
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:
3275 2015-04-10 Jonathan Wakely <jwakely@redhat.com>
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
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.
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.
3301 2015-04-09 H.J. Lu <hongjiu.lu@intel.com>
3303 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
3305 2015-04-09 Jonathan Wakely <jwakely@redhat.com>
3306 Richard Henderson <rth@redhat.com>
3309 * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase
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.
3317 2015-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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.
3323 2015-04-07 Jakub Jelinek <jakub@redhat.com>
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.
3334 2015-03-30 Jonathan Wakely <jwakely@redhat.com>
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.
3341 2015-03-28 Tim Shen <timshen@google.com>
3344 * include/bits/regex_constants.h: Use constexpr variables for flags.
3345 * testsuite/28_regex/constants/constexpr.cc: New testcase.
3347 2015-03-27 Jonathan Wakely <jwakely@redhat.com>
3350 * include/std/chrono: Add using-directive for literals to std::chrono.
3351 * testsuite/20_util/duration/literals/65499.cc: New.
3353 2015-03-26 Jonathan Wakely <jwakely@redhat.com>
3357 * include/std/thread (this_thread::sleep_for): Check for negative
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.
3363 2015-03-26 Jonathan Wakely <jwakely@redhat.com>
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.
3372 2015-03-26 Richard Henderson <rth@redhat.com>
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.
3380 2015-03-25 Alan Lawrence <alan.lawrence@arm.com>
3383 * testsuite/21_strings/basic_string/pthread33394.cc: Use
3384 dg-additional-options.
3386 2015-03-25 Paolo Carlini <paolo.carlini@oracle.com>
3389 * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
3391 * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
3393 * testsuite/27_io/rvalue_streams-2.cc: New.
3395 2015-03-24 Jonathan Wakely <jwakely@redhat.com>
3398 * testsuite/21_strings/basic_string/pthread33394.cc: Add test.
3400 2015-03-23 Jonathan Wakely <jwakely@redhat.com>
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.
3409 2015-03-20 James Greenhalgh <james.greenhalgh@arm.com>
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.
3416 2015-03-20 Jonathan Wakely <jwakely@redhat.com>
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.
3423 2015-03-19 Jason Merrill <jason@redhat.com>
3425 * config/locale/gnu/messages_members.cc: Revert abi-tag change.
3426 * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change.
3428 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
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.
3444 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
3447 * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback
3448 implementation for old glibc. Fix whitespace.
3450 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
3451 Torvald Riegel <triegel@redhat.com>
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
3462 2015-03-17 Jonathan Wakely <jwakely@redhat.com>
3464 * libsupc++/nested_exception.h: Do not try to derive from final
3466 * testsuite/18_support/nested_exception/throw_with_nested.cc: Test
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
3474 * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
3476 2015-03-13 Jonathan Wakely <jwakely@redhat.com>
3478 * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
3479 * configure: Regenerate.
3481 * include/experimental/system_error: Fix include guard.
3483 2015-03-12 Renlin Li <renlin.li@arm.com>
3485 * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for
3488 2015-03-10 Tim Shen <timshen@google.com>
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
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:
3504 2015-03-09 Jonathan Wakely <jwakely@redhat.com>
3507 * testsuite/28_regex/traits/char/isctype.cc: Don't test newline
3508 for newlib targets. Really fix mixed line-endings this time.
3510 2015-03-06 Jonathan Wakely <jwakely@redhat.com>
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
3517 2015-03-05 Jonathan Wakely <jwakely@redhat.com>
3519 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
3521 * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
3522 * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.
3524 2015-03-04 Jonathan Wakely <jwakely@redhat.com>
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):
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.
3549 2015-03-03 Iain Sandoe <iain@codesourcery.com>
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
3556 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
3558 2015-03-02 Jonathan Wakely <jwakely@redhat.com>
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.
3566 2015-03-02 Jonathan Wakely <jwakely@redhat.com>
3569 * include/std/stdexcept (__sso_string): Don't use non-static member
3572 2015-02-28 Matthias Klose <doko@ubuntu.com>
3575 * python/libstdcxx/v6/__init__.py: Use explicit relative imports.
3577 2015-02-22 Jonathan Wakely <jwakely@redhat.com>
3579 * doc/xml/manual/status_cxx2011.xml: Remove duplicated information.
3580 * doc/html/manual/status.html: Regenerate.
3582 2015-02-20 Jonathan Wakely <jwakely@redhat.com>
3585 * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
3588 * doc/xml/manual/status_cxx2011.xml: Document implementation-defined
3590 * doc/html/manual/status.html: Regenerate.
3592 2015-02-19 Jonathan Wakely <jwakely@redhat.com>
3595 * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
3596 * include/bits/stl_algo.h (__rotate, rotate): Likewise.
3598 2015-02-19 Hans-Peter Nilsson <hp@axis.com>
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.
3610 2015-02-18 Jonathan Wakely <jwakely@redhat.com>
3612 * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output
3614 (utf16_in): Pass mode argument to write_utf16_code_point.
3615 (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
3617 * testsuite/22_locale/codecvt/char16_t.cc: New.
3618 * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo.
3620 * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint.
3621 * testsuite/22_locale/codecvt/char32_t.cc: Likewise.
3623 2015-02-17 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
3624 Jonathan Wakely <jwakely@redhat.com>
3626 * testsuite/22_locale/codecvt/char32_t.cc: New.
3628 2015-02-17 Jonathan Wakely <jwakely@redhat.com>
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.
3635 2015-02-13 Matthew Wahab <matthew.wahab@arm.com>
3637 * testsuite/28_regex/traits/char/isctype.cc (test01): Fix
3638 mixed line-endings introduced in last change.
3640 2015-02-12 Matthew Wahab <matthew.wahab@arm.com>
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.
3646 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
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.
3653 2015-02-01 Jonathan Wakely <jwakely@redhat.com>
3655 * src/c++11/futex.cc: Do not define for gthr-single.h targets.
3657 2015-02-01 Jonathan Wakely <jwakely@redhat.com>
3660 * include/c_global/cstdio (gets): Use __deprecated__ attribute instead
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.
3666 2015-01-29 Jakub Jelinek <jakub@redhat.com>
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.
3672 2015-01-29 H.J. Lu <hongjiu.lu@intel.com>
3674 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
3675 after vtv_cygmin is set.
3676 * configure: Regenerated.
3678 2015-01-29 Matthias Klose <doko@ubuntu.com>
3680 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
3682 * configure: Regenerate.
3684 2015-01-29 Caroline Tice <cmtice@google.com>
3686 Committing VTV Cywin/Ming patch for Patrick Wollgast
3687 * configure: Regenerate.
3688 * libsupc++/Makefile.in: Regenerate.
3689 * src/Makefile.in: Regenerate.
3691 2015-01-29 Jonathan Wakely <jwakely@redhat.com>
3693 * include/bits/atomic_base.h: Use __always_inline__ instead of
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.
3704 2015-01-28 Caroline Tice <cmtice@google.com>
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.
3716 2015-01-28 Jonathan Wakely <jwakely@redhat.com>
3719 * libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
3720 * libsupc++/Makefile.in: Regenerate.
3721 * src/c++11/Makefile.in: Regenerate.
3723 2015-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3725 * testsuite/lib/libstdc++.exp (v3_target_compile): Remove
3726 check for unsupported.
3727 (v3_target_compile_as_c): Likewise.
3729 2015-01-28 Richard Biener <rguenther@suse.de>
3732 * libsupc++/eh_alloc.cc (struct allocated_entry): Align
3734 (pool::allocate): Adjust allocation size and alignment to
3736 (pool::free): Adjust pointer offsetting.
3738 2015-01-27 Jonathan Wakely <jwakely@redhat.com>
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.
3747 2015-01-26 Jonathan Wakely <jwakely@redhat.com>
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.
3757 2015-01-26 Jonathan Wakely <jwakely@redhat.com>
3759 * testsuite/23_containers/set/operations/2.cc: Add test for
3760 non-transparent comparison function.
3762 2015-01-25 Oleg Endo <olegendo@gcc.gnu.org>
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.
3769 2015-01-23 Jonathan Wakely <jwakely@redhat.com>
3771 * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match
3772 new std::string constructors for byname facets.
3774 2015-01-22 Richard Biener <rguenther@suse.de>
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
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.
3792 2015-01-22 Tim Shen <timshen@google.com>
3795 * include/bits/regex.h (basic_regex<>::basic_regex,
3796 basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
3798 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
3800 2015-01-22 Tim Shen <timshen@google.com>
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.
3807 2015-01-21 Jonathan Wakely <jwakely@redhat.com>
3809 * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.
3811 2015-01-21 Jonathan Wakely <jwakely@redhat.com>
3813 * testsuite/29_atomics/atomic/64658.cc: Test stored value.
3815 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
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.
3821 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
3824 * include/experimental/optional (bad_optional_access): Add default
3826 * testsuite/experimental/optional/requirements.cc: Test for default
3829 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
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.
3851 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
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
3859 * include/bits/locale_facets.h (ctype_byname, numpunct_byname):
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.
3875 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
3878 * include/std/atomic (atomic_init): Define.
3879 * testsuite/29_atomics/atomic/64658.cc: New.
3881 2015-01-19 Tim Shen <timshen@google.com>
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.
3889 2015-01-19 Tim Shen <timshen@google.com>
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.
3904 2015-01-19 Ville Voutilainen <ville.voutilainen@gmail.com>
3905 Jonathan Wakely <jwakely@redhat.com>
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.
3912 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
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.
3919 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
3921 * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
3922 * doc/html/manual/status.html: Regenerate.
3924 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
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.
3930 * src/c++11/futex.cc: Fix order of includes and preprocessor condition.
3932 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
3935 * include/bits/atomic_futex.h: Use appropriate config macros for
3936 availability of std::mutex, std::condition and std::chrono.
3938 2015-01-17 Ville Voutilainen <ville.voutilainen@gmail.com>
3939 Jonathan Wakely <jwakely@redhat.com>
3941 * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
3942 * doc/html/*: Regenerate.
3944 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
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/
3954 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
3957 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
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.
3967 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
3970 * include/std/tuple (_Tuple_impl): Remove zero-element specialization
3971 and define one-element specialization.
3972 * testsuite/20_util/tuple/56785.cc: New.
3974 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
3976 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
3977 Remove unused header.
3978 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
3980 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
3983 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
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:
3996 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
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:
4009 2015-01-16 Torvald Riegel <triegel@redhat.com>
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.
4021 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
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
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.
4041 2015-01-16 Torvald Riegel <triegel@redhat.com>
4043 * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
4046 2015-01-13 Jonathan Wakely <jwakely@redhat.com>
4049 * config/abi/pre/gnu.ver: Export fstream functions using new string.
4051 2015-01-12 Jonathan Wakely <jwakely@redhat.com>
4054 * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
4058 * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.
4060 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
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".
4066 2015-01-09 Jonathan Wakely <jwakely@redhat.com>
4069 * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
4070 is_assignable arguments.
4071 * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
4074 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
4076 * libsupc++/unwind-cxx.h: Revert previous commit.
4078 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
4080 * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
4082 2015-01-09 Tim Shen <timshen@google.com>
4085 * include/bits/regex.h (match_results<>::swap): Use std::swap
4087 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
4089 * testsuite/28_regex/match_results/swap.cc: New testcase.
4091 2015-01-08 Jonathan Wakely <jwakely@redhat.com>
4094 * include/std/type_traits (has_trivial_default_constructor,
4095 has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
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:
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:
4113 * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
4115 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
4116 * testsuite/util/testsuite_common_types.h: Likewise.
4118 2015-01-08 Jonathan Wakely <jwakely@redhat.com>
4120 * include/bits/hashtable_policy.h: Use __bool_constant.
4122 2015-01-07 Jonathan Wakely <jwakely@redhat.com>
4124 * libsupc++/Makefile.am: Compile del_ops.cc as C++14.
4125 * libsupc++/Makefile.in: Regenerate.
4127 2015-01-06 Jonathan Wakely <jwakely@redhat.com>
4129 * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name().
4131 2015-01-05 Jakub Jelinek <jakub@redhat.com>
4133 Update copyright years.
4135 2015-01-04 Jonathan Wakely <jwakely@redhat.com>
4138 * testsuite/18_support/exception_ptr/64241.cc: Use
4139 dg-require-atomic-builtins.
4141 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
4143 * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright
4146 2015-01-02 Tim Shen <timshen@google.com>
4149 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
4150 iterator, since the original one shouldn't be mutated.
4152 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
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.
4163 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
4166 * doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
4168 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
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:
4175 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
4177 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
4179 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
4181 * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
4183 * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
4185 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
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.
4192 Copyright (C) 2015 Free Software Foundation, Inc.
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.