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