]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
pr63419.C: Add -Wno-psabi.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
78a7c317
DD
12014-10-14 DJ Delorie <dj@redhat.com>
2
3 * src/c++11/limits.cc: Add support for __intN types.
4 * include/std/type_traits: Likewise.
5 * include/std/limits: Likewise.
6 * include/c_std/cstdlib: Likewise.
7 * include/bits/cpp_type_traits.h: Likewise.
8 * include/c_global/cstdlib: Likewise.
9
facb4d1b
JW
102014-10-14 Jonathan Wakely <jwakely@redhat.com>
11
12 * testsuite/20_util/align/1.cc: Add dg-require-stdint.
13 * testsuite/20_util/align/2.cc: Likewise.
14
95707918
JW
15 * doc/xml/manual/intro.xml: Update.
16 * doc/xml/manual/status_cxx2011.xml: Update.
17 * doc/html/manual/*: Regenerate.
18
ffffc732
RS
192014-10-14 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
20
21 PR libstdc++/54354
22 * include/std/iomanip (_Put_time): New struct.
23 (put_time): New manipulator.
24 (operator<<): New overloaded function.
25 * testsuite/27_io/manipulators/extended/put_time/char/1.cc: New.
26 * testsuite/27_io/manipulators/extended/put_time/char/2.cc: New.
27 * testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: New.
28 * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: New.
29
78bd42c4
KT
302014-10-14 Kai Tietz <ktietz@redhat.com>
31
32 PR libstdc++/57440
33 * config/os/mingw32/os_defines.h (_GTHREAD_USE_MUTEX_INIT_FUNC):
34 Define to avoid leak.
35 * config/os/mingw32-w64/os_defines.h: Likewise.
36
fa7fa585
PC
372014-10-14 Paolo Carlini <paolo.carlini@oracle.com>
38
39 * testsuite/20_util/add_lvalue_reference/requirements/typedefs.cc:
40 Rename to alias_decl.cc.
41 * testsuite/20_util/add_rvalue_reference/requirements/typedefs.cc:
42 Likewise.
43 * testsuite/20_util/common_type/requirements/typedefs-3.cc: Likewise.
44 * testsuite/20_util/conditional/requirements/typedefs-2.cc: Likewise.
45 * testsuite/20_util/decay/requirements/typedefs-2.cc: Likewise.
46 * testsuite/20_util/enable_if/requirements/typedefs-2.cc: Likewise.
47 * testsuite/20_util/make_signed/requirements/typedefs-3.cc: Likewise.
48 * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc:
49 Likewise.
50 * testsuite/20_util/remove_reference/requirements/typedefs.cc:
51 Likewise.
52 * testsuite/20_util/result_of/requirements/typedefs.cc: Likewise.
53 * testsuite/20_util/underlying_type/requirements/typedefs-3.cc:
54 Likewise.
55
01d6452f
JW
562014-10-13 Jonathan Wakely <jwakely@redhat.com>
57
58 PR libstdc++/57350
59 * include/std/memory (align): Do not adjust correctly aligned address.
60 * testsuite/20_util/align/2.cc: New.
61
4027b015
SCR
622014-10-13 Siva Chandra Reddy <sivachandra@google.com>
63
64 * python/libstdcxx/v6/xmethods.py: Add xmethods for std::array,
65 std::deque, std::forward_list, std::list, std::vector.
66 * testsuite/libstdc++-xmethods/array.cc: New file.
67 * testsuite/libstdc++-xmethods/deque.cc: Likewise.
68 * testsuite/libstdc++-xmethods/forwardlist.cc: Likewise.
69 * testsuite/libstdc++-xmethods/list.cc: Likewise.
70 * testsuite/libstdc++-xmethods/vector.cc: Add tests.
71
2f6ca9d3
RS
722014-10-13 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
73
74 * include/std/memory (align): Define.
75 * testsuite/20_util/align/1.cc: New.
76
2a527383
MG
772014-10-13 Marc Glisse <marc.glisse@inria.fr>
78
79 PR libstdc++/61347
80 PR libstdc++/63345
81 * include/bits/list.tcc (_List_base::_M_clear()): Delay cast so it
82 isn't done for the sentinel.
83 * include/bits/stl_list.h (_List_base::_M_size): Move...
84 (_List_base::_List_impl::_M_node): ... here.
85 (_List_base::_M_get_size(), _List_base::_M_set_size(size_t),
86 _List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t),
87 _List_base::_M_node_count): Adapt to the move.
88 * 23_containers/list/requirements/dr438/assign_neg.cc: Update
89 line number.
90 * 23_containers/list/requirements/dr438/constructor_1_neg.cc: Likewise.
91 * 23_containers/list/requirements/dr438/constructor_2_neg.cc: Likewise.
92 * 23_containers/list/requirements/dr438/insert_neg.cc: Likewise.
93
c95e71be
JW
942014-10-10 Jonathan Wakely <jwakely@redhat.com>
95
96 * testsuite/Makefile.in: Regenerate.
97
a2e70f50 982014-10-10 Jonathan Wakely <jwakely@redhat.com>
375f837b
JW
99
100 PR libstdc++/49561
101 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI): Define.
102 * configure.ac: Use GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI.
103 * configure: Regenerate.
104 * include/Makefile.am (stamp-cxx11-abi): New target.
105 (c++config.h): Set _GLIBCXX_USE_CXX11_ABI macro.
106 * include/Makefile.in: Regenerate.
107 * include/bits/c++config: Add _GLIBCXX_USE_CXX11_ABI placeholder and
108 define _GLIBCXX_DEFAULT_ABI_TAG.
109 * include/bits/list.tcc (list::emplace(const_iterator, _Args&...)):
110 Increment size.
111 (list::emplace(const_iterator, const value_type&)): Likewise.
112 (list::merge(list&), list::merge(list&, _StrictWeakOrdering)): Adjust
113 list sizes.
114 * include/bits/stl_list.h (_List_base, list): Add ABI tag macro.
115 (_List_base::_M_size): New data member in cxx11 ABI mode.
116 (_List_base::_S_distance(_List_node_base*, _List_node_base*)): New
117 function.
118 (_List_base::_M_get_size(), _List_base::_M_set_size(size_t),
119 _List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t),
120 _List_base::_M_distance, _List_base::_M_node_count): New functions for
121 accessing list size correctly for the ABI mode.
122 (_List_base::_List_base(_List_base&&)): Copy size and reset source.
123 (_List_base::_M_init()): Initialize size member.
124 (list::size()): Use _List_base::_M_node_count.
125 (list::swap(list&)): Swap sizes.
126 (list::splice(iterator, list&)): Update sizes.
127 (list::splice(iterator, list&, iterator)): Likewise.
128 (list::insert(iterator, const value_type&)): Update size.
129 (list::insert(iterator, _Args&&...)): Likewise.
130 (list::_M_erase(iterator)): Likewise.
131 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
132 Adjust.
133 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
134 Adjust.
135 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
136 Adjust.
137 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
138 Adjust.
139 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust.
140
75c3de1e
JW
1412014-10-09 Jonathan Wakely <jwakely@redhat.com>
142
143 * doc/xml/manual/status_cxx2011.xml: Update.
144 * doc/html/manual/status.html: Regenerate.
145
bc2da0fc
JW
146 PR libstdc++/63322
147 * include/std/atomic (atomic): Add assertion for trivially copyable.
148 * testsuite/29_atomics/atomic/60695.cc: Adjust line number.
149
c3866869
JW
150 PR libstdc++/61909
151 * include/std/functional (__is_location_invariant): Treat all
152 trivially copyable types as location invariant.
153
f5e523b7
VV
1542014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
155
156 PR libstdc++/60132
157 * include/std/type_traits (is_trivially_copyable,
a2e70f50
JW
158 is_trivially_constructible, is_trivially_default_constructible,
159 is_trivially_copy_constructible, is_trivially_move_constructible,
160 is_trivially_assignable, is_trivially_copy_assignable,
161 is_trivially_move_assignable): New.
f5e523b7 162 * testsuite/20_util/is_trivially_assignable/requirements/
a2e70f50 163 typedefs.cc: Likewise.
f5e523b7 164 * testsuite/20_util/is_trivially_assignable/requirements/
a2e70f50 165 explicit_instantiation.cc: Likewise.
f5e523b7
VV
166 * testsuite/20_util/is_trivially_assignable/value.cc: Likewise.
167 * testsuite/20_util/is_trivially_constructible/requirements/
168 typedefs.cc: Likewise.
169 * testsuite/20_util/is_trivially_constructible/requirements/
170 explicit_instantiation.cc: Likewise.
171 * testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
172 * testsuite/20_util/is_trivially_copyable/requirements/
173 typedefs.cc: Likewise.
174 * testsuite/20_util/is_trivially_copyable/requirements/
175 explicit_instantiation.cc: Likewise.
176 * testsuite/20_util/is_trivially_copyable/value.cc: Likewise.
177 * testsuite/20_util/is_trivially_copy_assignable/requirements/
178 typedefs.cc: Likewise.
179 * testsuite/20_util/is_trivially_copy_assignable/requirements/
180 explicit_instantiation.cc: Likewise.
181 * testsuite/20_util/is_trivially_copy_assignable/value.cc: Likewise.
182 * testsuite/20_util/is_trivially_copy_constructible/requirements/
183 typedefs.cc: Likewise.
184 * testsuite/20_util/is_trivially_copy_constructible/requirements/
185 explicit_instantiation.cc: Likewise.
186 * testsuite/20_util/is_trivially_copy_constructible/value.cc: Likewise.
187 * testsuite/20_util/is_trivially_default_constructible/requirements/
a2e70f50 188 typedefs.cc: Likewise.
f5e523b7 189 * testsuite/20_util/is_trivially_default_constructible/requirements/
a2e70f50 190 explicit_instantiation.cc: Likewise.
f5e523b7
VV
191 * testsuite/20_util/is_trivially_default_constructible/
192 value.cc: Likewise.
193 * testsuite/20_util/is_trivially_move_assignable/requirements/
a2e70f50 194 typedefs.cc: Likewise.
f5e523b7 195 * testsuite/20_util/is_trivially_move_assignable/requirements/
a2e70f50 196 explicit_instantiation.cc: Likewise.
f5e523b7
VV
197 * testsuite/20_util/is_trivially_move_assignable/value.cc: Likewise.
198 * testsuite/20_util/is_trivially_move_constructible/requirements/
a2e70f50 199 typedefs.cc: Likewise.
f5e523b7 200 * testsuite/20_util/is_trivially_move_constructible/requirements/
a2e70f50 201 explicit_instantiation.cc: Likewise.
f5e523b7
VV
202 * testsuite/20_util/is_trivially_move_constructible/value.cc:
203 Likewise.
204 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
205 line number.
206 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
207 Likewise.
208 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
209 Likewise.
210
9d07d890
JW
2112014-10-08 Jonathan Wakely <jwakely@redhat.com>
212
213 * include/bits/locale_facets.tcc (num_put::_M_insert_float): Do not
214 pass precision when using hexfloat format.
215 * src/c++98/locale_facets.cc (__num_base::_S_format_float): Always
216 output precision if C99 hexfloat conversion specifiers not available.
217
7dd9b46d
JW
2182014-10-08 Jonathan Wakely <jwakely@redhat.com>
219
220 * include/bits/regex.h (regex_token_iterator::_M_end_of_seq): Add
221 const qualifier.
222
43ee3d5f
FD
2232014-10-07 François Dumont <fdumont@gcc.gnu.org>
224
225 * testsuite/util/testsuite_counter_type.h
226 (counter_type::operator<(const counter_type&)): Update
227 less_compare_count.
228 * testsuite/25_algorithms/make_heap/complexity.cc: New.
229 * testsuite/25_algorithms/pop_heap/complexity.cc: New.
230 * testsuite/25_algorithms/push_heap/complexity.cc: New.
231 * testsuite/25_algorithms/sort_heap/complexity.cc: New.
232
c4b64f5b
RS
2332014-10-06 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
234 Jonathan Wakely <jwakely@redhat.com>
235
236 PR libstdc++/59987
237 * doc/xml/manual/status_cxx2011.xml: Remove hexfloat from notes.
238 * doc/html/manual/status.html: Regenerate.
239 * include/bits/ios_base.h (hexfloat): New function.
240 (defaultfloat): New function.
241 * src/c++98/locale_facets.cc (__num_base::_S_format_float): Support
242 hexadecimal floating point format.
243 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
244 New file.
245
22274fac
JW
2462014-10-06 Jonathan Wakely <jwakely@redhat.com>
247
248 * include/Makefile.am: Add new header.
249 * include/Makefile.in: Regenerate.
250 * include/experimental/tuple: New
251 * doc/xml/manual/status_cxx2014.xml: Update.
252 * doc/html/manual/status.html: Regenerate.
253 * testsuite/experimental/feat-lib-fund.cc: Test for new header.
254 * testsuite/experimental/tuple/apply.cc: New.
255
e6fb44d8
FD
2562014-10-05 François Dumont <fdumont@gcc.gnu.org>
257
258 PR libstdc++/63456
259 * include/bits/hashtable.h (_M_uses_single_bucket(__bucket_type*)): Test
260 the parameter.
261 * testsuite/23_containers/unordered_set/63456.cc: New.
262
97932329
JW
2632014-10-03 Jonathan Wakely <jwakely@redhat.com>
264
265 PR libstdc++/63449
266 * doc/xml/manual/containers.xml: Remove outdated section.
267 * doc/html/*: Regenerate.
268
d17f7d8a
JW
2692014-10-02 Jonathan Wakely <jwakely@redhat.com>
270
271 * include/c_global/ctgmath: Include <complex>.
272 * testsuite/26_numerics/headers/ctgmath/complex.cc: New.
273 * doc/xml/manual/status_cxx2011.xml: Update.
274 * doc/html/manual/status.html: Regenerate.
275
f65eb9e6
ESR
2762014-10-02 Edward Smith-Rowland <3dw4rd@verizon.net>
277
278 * include/bits/stl_function.h: Generic associative lookup feature
279 is not supported.
280 * testsuite/experimental/feat-lib-fund.cc: <experimental/any> is
281 actually available.
282 * testsuite/experimental/feat-cxx14.cc: Add test for __cpp_lib_is_final.
283 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
284 * testsuite/20_util/duration/literals/range.cc: Adjust.
285 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
286 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
287 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
288 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
289 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
290 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
291 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
292 Adjust.
293
4681f595
FD
2942014-10-01 François Dumont <fdumont@gcc.gnu.org>
295
296 * python/libstdcxx/v6/printers.py (StdDebugIteratorPrinter.to_string):
297 Adapt to latest modifications on debug iterators.
298
4db7fcb9
ESR
2992014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
300
301 * include/std/type_traits: Add is_final<> type trait for C++14.
4681f595 302 * testsuite/util/testsuite_tr1.h: Add
4db7fcb9
ESR
303 * testsuite/20_util/is_final/requirements/
304 explicit_instantiation.cc: New.
305 * testsuite/20_util/is_final/requirements/typedefs.cc: New.
306 * testsuite/20_util/is_final/value.cc: New.
307 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
308 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
309 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
310
a15f7cb8
ESR
3112014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
312
313 Implement SD-6: SG10 Feature Test Recommendations
314 * include/bits/basic_string.h: Add __cpp_lib feature test macro.
315 * include/bits/stl_algobase.h: Ditto.
316 * include/bits/stl_function.h: Ditto.
317 * include/bits/unique_ptr.h: Ditto.
318 * include/std/chrono: Ditto.
319 * include/std/complex: Ditto.
320 * include/std/iomanip: Ditto.
321 * include/std/shared_mutex: Ditto.
322 * include/std/tuple: Ditto.
323 * include/std/type_traits: Ditto.
324 * include/std/utility: Ditto.
325 * testsuite/experimental/feat-cxx14.cc: New.
326 * testsuite/experimental/feat-lib-fund.cc: New.
327 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
328 * testsuite/20_util/duration/literals/range.cc: Adjust.
329 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
330 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
331 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
332 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
333 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
334 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
335 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
336 Adjust.
337
b073d15f
SCR
3382014-09-30 Siva Chandra Reddy <sivachandra@google.com>
339
340 * python/hook.in: Only import libstdcxx.v6.
341 * python/libstdcxx/v6/__init__.py: Load printers and xmethods.
342
24f21354
JW
3432014-09-30 Jonathan Wakely <jwakely@redhat.com>
344
345 * doc/xml/manual/status_cxx2011.xml: Update.
346 * doc/html/manual/status.html: Regenerate.
347
2529c937
AS
3482014-09-30 Andreas Schwab <schwab@linux-m68k.org>
349
ff5fdf67
AS
350 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: New
351 file.
352
2529c937
AS
353 * configure.host (abi_baseline_pair): If try_cpu is generic use
354 host_cpu for the default.
355
ebd4c354
FD
3562014-09-29 François Dumont <fdumont@gcc.gnu.org>
357
358 PR libstdc++/62313
359 * include/debug/safe_base.h
360 (_Safe_iterator_base(const _Safe_iterator_base&)): Delete declaration.
361 (_Safe_iterator_base& operator=(const _Safe_iterator_base&)): Likewise.
362 * include/debug/safe_iterator.h (_Safe_iterator<>): Move normal iterator
363 before _Safe_iterator_base in memory. Lock before modifying the iterator
364 in numerous places.
365 * include/debug/safe_local_iterator.h
366 (_Safe_local_iterator_base(const _Safe_local_iterator_base&)): Delete
367 declaration.
368 (_Safe_local_iterator_base& operator=(const _Safe_local_iterator_base&)):
369 Likewise.
370 * include/debug/safe_unordered_base.h (_Safe_local_iterator<>): Move
371 normal iterator before _Safe_iterator_base in memory. Lock before
372 modifying the iterator in numerous places.
373 * include/debug/forward_list (_Safe_forward_list<>::_M_swap_aux): Adapt.
374 * include/debug/safe_sequence.tcc
375 (_Safe_sequence<>::_M_transfer_from_if): Adapt.
376
e51cf2f5
JW
3772014-09-25 Jonathan Wakely <jwakely@redhat.com>
378
379 DR 1339
380 * doc/xml/manual/status_cxx2011.xml: Update.
381 * include/bits/stl_uninitialized.h (uninitialized_fill_n): Return
382 an iterator.
383 (__uninitialized_fill_n_a, __uninitialized_default_n_a): Likewise.
384 * include/bits/stl_vector.h (vector::_M_fill_initialize,
385 vector::_M_default_initialize): Use returned iterator.
386 * include/bits/vector.tcc (vector::_M_fill_assign,
387 vector::_M_fill_insert, vector::_M_default_append): Likewise.
388 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
389 16505.cc: Adjust return type.
390 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
391 dr1339.cc: New.
392
c5b26147
JW
3932014-09-25 Jonathan Wakely <jwakely@redhat.com>
394
395 * include/bits/vector.tcc (vector::_M_fill_assign): Use _M_swap_data.
396
7569cc57
JW
3972014-09-25 Jonathan Wakely <jwakely@redhat.com>
398
399 * testsuite/27_io/basic_ios/conv/bool_neg.cc: New.
400 * testsuite/27_io/basic_ios/conv/bool.cc: New.
401 * testsuite/27_io/basic_ios/conv/voidptr.cc: New.
402
75517610
JW
403 * testsuite/27_io/basic_ios/conv/bool_neg.cc: Add dg-do compile.
404
2bde8cac
TS
4052014-09-25 Tim Shen <timshen@google.com>
406
407 PR libstdc++/63199
408 * include/bits/regex.h (basic_regex::basic_regex, basic_regex::assign,
409 basic_regex::imbue, basic_regex::getloc, basic_regex::swap): Add
410 _M_loc for basic_regex.
411 * include/bits/regex_automaton.h: Add _M_traits for _NFA.
412 * include/bits/regex_compiler.h (_Compiler::_M_get_nfa, __compile_nfa):
413 Make _Compiler::_M_nfa heap allocated.
414 * include/bits/regex_compiler.tcc (_Compiler::_Compiler): Make
415 _Compiler::_M_nfa heap allocated.
416 * include/bits/regex_executor.h (_Executor::_M_is_word):
417 Fix accessing _M_traits.
418 * include/bits/regex_executor.tcc (_Executor::_M_dfs):
419 Fix accessing _M_traits.
420 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
421 New testcase.
422
407f9471
JW
4232014-09-24 Jonathan Wakely <jwakely@redhat.com>
424
425 * config/abi/pre/gnu.ver: Make GLIBCXX_3.4 patterns stricter so the
426 new GLIBCXX_3.4.21 symbols don't match them.
427
2d578726
JW
428 PR libstdc++/56193
429 * config/abi/pre/gnu.ver: Add new exports.
430 * include/bits/basic_ios.h (basic_ios::operator bool): Define.
431 * src/c++98/ios_locale.cc (basic_ios::operator void*): Instantiate.
432
c6195f58
FD
4332014-09-24 François Dumont <fdumont@gcc.gnu.org>
434
435 PR libstdc++/29988
436 * include/bits/stl_tree.h (_Rb_tree_reuse_or_alloc_node<>): New.
437 (_Rb_tree_alloc_node<>): New.
438 (_Rb_tree<>::operator=(_Rb_tree<>&&)): New.
439 (_Rb_tree<>::_M_assign_unique): New.
440 (_Rb_tree<>::_M_assign_equal): New.
441 (_Rb_tree<>): Adapt to reuse allocated nodes as much as possible.
442 * include/bits/stl_map.h
443 (std::map<>::operator=(std::map<>&&)): Default implementation.
444 (std::map<>::operator=(initializer_list<>)): Adapt to use
445 _Rb_tree::_M_assign_unique.
446 * include/bits/stl_multimap.h
447 (std::multimap<>::operator=(std::multimap<>&&)): Default implementation.
448 (std::multimap<>::operator=(initializer_list<>)): Adapt to use
449 _Rb_tree::_M_assign_equal.
450 * include/bits/stl_set.h
451 (std::set<>::operator=(std::set<>&&)): Default implementation.
452 (std::set<>::operator=(initializer_list<>)): Adapt to use
453 _Rb_tree::_M_assign_unique.
454 * include/bits/stl_multiset.h
455 (std::multiset<>::operator=(std::multiset<>&&)): Default implementation.
456 (std::multiset<>::operator=(initializer_list<>)): Adapt to use
457 _Rb_tree::_M_assign_equal.
458 * testsuite/23_containers/map/allocator/copy_assign.cc (test03): New.
459 * testsuite/23_containers/map/allocator/init-list.cc: New.
460 * testsuite/23_containers/map/allocator/move_assign.cc (test03): New.
461 * testsuite/23_containers/multimap/allocator/copy_assign.cc
462 (test03): New.
463 * testsuite/23_containers/multimap/allocator/init-list.cc: New.
464 * testsuite/23_containers/multimap/allocator/move_assign.cc
465 (test03): New.
466 * testsuite/23_containers/multiset/allocator/copy_assign.cc
467 (test03): New.
468 * testsuite/23_containers/multiset/allocator/init-list.cc: New.
469 * testsuite/23_containers/multiset/allocator/move_assign.cc
470 (test03): New.
471 * testsuite/23_containers/set/allocator/copy_assign.cc (test03): New.
472 * testsuite/23_containers/set/allocator/init-list.cc: New.
473 * testsuite/23_containers/set/allocator/move_assign.cc (test03): New.
474
8d6b3c16
JW
4752014-09-24 Jonathan Wakely <jwakely@redhat.com>
476
477 PR libstdc++/63353
478 * src/c++11/ios.cc (ios_base::_M_swap): Fix typo.
479
48e968a7
JW
4802014-09-23 Jonathan Wakely <jwakely@redhat.com>
481
482 * config/abi/pre/gnu.ver: Adjust basic_ostream exports.
483 * include/std/istream (basic_iostream(basic_iostream&&)): Pass *this
484 to ostream constructor.
485 * include/std/ostream (basic_ostream(basic_iostream*)): Change to take
486 parameter by reference, to avoid ambiguity.
487 * testsuite/27_io/basic_ostream/cons/char/null.cc: New.
488
2eac0853
JM
4892014-09-22 Jason Merrill <jason@redhat.com>
490
491 * testsuite/Makefile.am (%/site.exp): Add @.
492 (check-DEJAGNU): Likewise.
493 * testsuite/Makefile.in: Regenerate.
494
7666d649
JW
4952014-09-22 Jonathan Wakely <jwakely@redhat.com>
496
497 * include/bits/stl_queue.h: Include missing header.
498 * include/bits/stl_stack.h: Likewise.
499 * testsuite/23_containers/priority_queue/requirements/
500 uses_allocator.cc: New.
501 * testsuite/23_containers/queue/requirements/uses_allocator.cc: New.
502 * testsuite/23_containers/stack/requirements/uses_allocator.cc: New.
503
bd0a790a
JW
5042014-09-22 Jonathan Wakely <jwakely@redhat.com>
505
506 * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
507 * doc/xml/manual/status_cxx2014.xml: Update TS status.
508 * doc/html/manual/status.html: Regenerate.
509
726d3136
JW
5102014-09-22 Jonathan Wakely <jwakely@redhat.com>
511
512 * include/std/mutex (try_lock): Do not swallow exceptions.
513 * testsuite/30_threads/try_lock/4.cc: Fix test.
514
ed26fe9e 5152014-09-22 Jonathan Wakely <jwakely@redhat.com>
9b817548
JW
516
517 PR libstdc++/54316
518 PR libstdc++/53626
519 * config/abi/pre/gnu.ver: Add new exports.
520 * config/io/basic_file_stdio.h (__basic_file): Support moving and
521 swapping.
522 * include/bits/basic_ios.h (basic_ios::move, basic_ios::swap):
523 Likewise.
524 * include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap):
525 Likewise.
526 * include/bits/fstream.tcc (basic_filebuf): Likewise.
527 * include/bits/move.h (__exchange): Define for C++11 mode.
528 * include/ext/stdio_filebuf.h (stdio_filebuf): Support moving and
529 swapping.
530 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf): Likewise.
531 * include/std/fstream (basic_filebuf, basic_ifstream, basic_ofstream,
532 basic_fstream): Likewise.
533 * include/std/ios: Remove whitespace.
534 * include/std/istream (basic_istream, basic_iostream): Support moving
535 and swapping.
536 * include/std/ostream (basic_ostream): Likewise.
537 * include/std/sstream (basic_stringbuf, basic_istringstream,
538 basic_ostringstream, basic_stringstream): Likewise.
539 * include/std/streambuf (basic_streambuf): Do not default copy
540 constructor and assignment on first declaration.
541 * include/std/utility (exchange): Forward to __exchange.
542 * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
543 * src/c++11/Makefile.am: Add stream-related files.
544 * src/c++11/Makefile.in: Regenerate.
545 * src/c++11/ext11-inst.cc (stdio_filebuf, stdio_sync_filebuf):
546 New file for explicit instantiation definitions.
547 * src/c++11/ios.cc: Move from src/c++98 to here.
548 (ios_base::_M_move, ios_base::_M_swap): Define.
549 * src/c++11/ios-inst.cc: Move from src/c++98 to here.
550 * src/c++11/iostream-inst.cc: Likewise.
551 * src/c++11/istream-inst.cc: Likewise.
552 * src/c++11/ostream-inst.cc: Likewise.
553 * src/c++11/sstream-inst.cc: Likewise.
554 * src/c++11/streambuf-inst.cc: Likewise.
555 * src/c++98/Makefile.am: Remove stream-related files.
556 * src/c++98/Makefile.in: Regenerate.
557 * src/c++98/ext-inst.cc (stdio_filebuf): Remove explicit
558 instantiations.
559 * src/c++98/misc-inst.cc (stdio_sync_filebuf): Likewise.
560 * src/c++98/ios-inst.cc: Move to src/c++11/.
561 * src/c++98/ios.cc: Move to src/c++11/.
562 * src/c++98/iostream-inst.cc: Likewise.
563 * src/c++98/istream-inst.cc: Likewise.
564 * src/c++98/ostream-inst.cc: Likewise.
565 * src/c++98/sstream-inst.cc: Likewise.
566 * src/c++98/streambuf-inst.cc: Likewise.
567 * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
568 * testsuite/27_io/basic_fstream/cons/move.cc: New.
569 * testsuite/27_io/basic_fstream/assign/1.cc: New.
570 * testsuite/27_io/basic_ifstream/cons/move.cc: New.
571 * testsuite/27_io/basic_ifstream/assign/1.cc: New.
572 * testsuite/27_io/basic_istringstream/assign/1.cc: New.
573 * testsuite/27_io/basic_istringstream/cons/move.cc: New.
574 * testsuite/27_io/basic_ofstream/cons/move.cc: New.
575 * testsuite/27_io/basic_ofstream/assign/1.cc: New.
576 * testsuite/27_io/basic_ostringstream/assign/1.cc: New.
577 * testsuite/27_io/basic_ostringstream/cons/move.cc: New.
578 * testsuite/27_io/basic_stringstream/assign/1.cc: New.
579 * testsuite/27_io/basic_stringstream/cons/move.cc: New.
580
4666e1fb
JM
5812014-09-17 Jason Merrill <jason@redhat.com>
582
583 * libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction
584 dynamic_cast more gracefully.
585
717c4789
JJ
5862014-09-15 Jakub Jelinek <jakub@redhat.com>
587
588 * testsuite/Makefile.am (check_p_numbers0, check_p_numbers1,
589 check_p_numbers2, check_p_numbers3, check_p_numbers4,
590 check_p_numbers5, check_p_numbers6, check_p_numbers,
591 check_p_subdirs): New variables.
592 (check_DEJAGNU_normal_targets): Use check_p_subdirs.
593 (check-DEJAGNU): Rewritten so that for parallelized
594 testing each job runs all the *.exp files, with
595 GCC_RUNTEST_PARALLELIZE_DIR set in environment.
596 * testsuite/Makefile.in: Regenerated.
597 * testsuite/lib/libstdc++.exp (gcc_parallel_test_run_p,
598 gcc_parallel_test_enable): New procedures. If
599 GCC_RUNTEST_PARALLELIZE_DIR is set in environment, override
600 runtest_file_p to invoke also gcc_parallel_test_run_p.
601 * testsuite/libstdc++-abi/abi.exp: Run all the tests serially
602 by the first parallel runtest encountering it. Fix up path
603 of the extract_symvers script.
604 * testsuite/libstdc++-xmethods/xmethods.exp: Run all the tests
605 serially by the first parallel runtest encountering it. Run
606 dg-finish even in case of error.
607
4564acc3
JW
6082014-09-15 Jonathan Wakely <jwakely@redhat.com>
609
610 * include/bits/regex.h (basic_regex): Rename _Ch_typeraits template
611 parameters to _Ch_traits.
612
b6f86694
JW
6132014-09-12 Jonathan Wakely <jwakely@redhat.com>
614
615 * include/debug/deque (__gnu_debug::deque): Make base class C++11
616 allocator aware.
617
bc5022d0
JW
6182014-09-12 Jonathan Wakely <jwakely@redhat.com>
619
620 PR libstdc++/59603
621 * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
622 * testsuite/25_algorithms/random_shuffle/59603.cc: New.
623
8aed2f2f
JW
6242014-09-11 Jonathan Wakely <jwakely@redhat.com>
625
626 PR libstdc++/63219
627 * include/bits/regex.h (match_results::format): Remove stray template
628 parameter.
629 * include/bits/regex_compiler.h (_RegexTranslator::_RegexTranslator):
630 Remove parameter name to avoid -Wunused-parameter warning.
631 * include/bits/regex_executor.h (_State_info::_State_info): Reorder
632 mem-initializers to avoid -Wreorder warning.
633 * include/bits/regex_executor.tcc (_Executor::_M_word_boundary):
634 Remove parameter name to avoid -Wunused-parameter warning.
635 * include/bits/regex_scanner.tcc (_Scanner::_M_advance): Add braces
636 to avoid -Wempty-body warning when not in debug mode.
637
e9e08827
SCR
6382014-09-10 Siva Chandra Reddy <sivachandra@google.com>
639
640 * python/hook.in: Load the xmethods.
641 * python/Makefile.am (nobase_python_DATA): Add xmethods.py.
642 * python/Makefile.in: Regenerated.
643 * python/libstdcxx/v6/xmethods.py: New file.
644 * testsuite/lib/gdb-test.exp (gdb_version_check_xmethods): New
645 function.
646 (gdb-test): New optional argument LOAD_XMETHODS. Load xmethods
647 python script if LOAD_XMETHODS is true.
648 * testsuite/libstdc++-xmethods/unique_ptr.cc: New file.
649 * testsuite/libstdc++-xmethods/vector.cc: New file.
650 * testsuite/libstdc++-xmethods/xmethods.exp: New file.
651
0876bdf5
TW
6522014-09-10 Tony Wang <tony.wang@arm.com>
653
654 PR target/56846
655 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
656 Return with CONTINUE_UNWINDING when the state pattern
657 contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
658
fd18c76a
JW
6592014-09-09 Jonathan Wakely <jwakely@redhat.com>
660
661 * include/bits/deque.tcc (deque::operator=(const deque&)): Handle
662 allocator propagation.
663 (deque::emplace_front, deque::emplace_back): Use allocator traits.
664 (deque::_M_push_back_aux, deque::_M_push_front_aux): Likewise.
665 (deque::_M_pop_back_aux, deque::_M_pop_front_aux): Likewise.
666 * include/bits/stl_deque.h (__deque_buf_size): Add constexpr.
667 (_Deque_iterator): Handle allocators with custom pointers.
668 (_Deque_base): Likewise. Use allocator traits.
669 (deque): Likewise. Add allocator-extended constructors.
670 (deque::_M_move_assign1, deque::_M_move_assign2): Implement move
671 assignment via tag dispatching.
672 (deque::_M_replace_map): Replace existing data.
673 * include/debug/deque (deque): Add allocator-extended constructors.
674 * include/profile/deque (deque): Likewise.
675 * testsuite/23_containers/deque/allocator/copy.cc: New.
676 * testsuite/23_containers/deque/allocator/copy_assign.cc: New.
677 * testsuite/23_containers/deque/allocator/ext_ptr.cc: New.
678 * testsuite/23_containers/deque/allocator/minimal.cc: New.
679 * testsuite/23_containers/deque/allocator/move.cc: New.
680 * testsuite/23_containers/deque/allocator/move_assign-2.cc: New.
681 * testsuite/23_containers/deque/allocator/move_assign.cc: New.
682 * testsuite/23_containers/deque/allocator/noexcept.cc: New.
683 * testsuite/23_containers/deque/allocator/swap.cc: New.
684 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
685 Adjust dg-error line number.
686 * testsuite/23_containers/deque/requirements/dr438/
687 constructor_1_neg.cc: Likewise.
688 * testsuite/23_containers/deque/requirements/dr438/
689 constructor_2_neg.cc: Likewise.
690 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
691 Likewise.
692 * testsuite/23_containers/vector/52591.cc: Test both the propagating
693 and always-equal cases.
694
da27f556
FD
6952014-09-06 François Dumont <fdumont@gcc.gnu.org>
696
697 * include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
698 noexcept qualified.
699 (_Hash_code_base<>): All specialization default constructible if
700 possible.
701 (_Hashtable_base<>): Likewise.
702 * include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted.
703 * include/bits/unordered_map.h (unordered_map<>::unordered_map()): New,
704 implementation defaulted.
705 (unordered_multimap<>::unordered_multimap()): Likewise.
706 * include/bits/unordered_set.h
707 (unordered_set<>::unordered_set()): Likewise.
708 (unordered_multiset<>::unordered_multiset()): Likewise.
709 * include/debug/unordered_map: Likewise.
710 * include/debug/unordered_set: Likewise.
711 * testsuite/23_containers/unordered_map/allocator/noexcept.cc
712 (test04()): New.
713 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
714 (test04()): New.
715 * testsuite/23_containers/unordered_set/allocator/noexcept.cc
716 (test04()): New.
717 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
718 (test04()): New.
719
79c70232
JDA
7202014-08-30 John David Anglin <danglin@gcc.gnu.org>
721
722 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
723
fa794dc6
JW
7242014-08-29 Jonathan Wakely <jwakely@redhat.com>
725
726 * include/std/complex (complex): Define copy constructor and
727 assignment operator as defaulted. Improve Doxygen comments.
728
7d594ac8
JW
7292014-08-28 Jonathan Wakely <jwakely@redhat.com>
730
731 * testsuite/ext/random/*: Fix incorrect standard references in
732 comments.
733
3cd4f356
JW
7342014-08-27 Jonathan Wakely <jwakely@redhat.com>
735
736 PR libstdc++/62159
737 * include/Makefile.am (install-freestanding-headers): Add missing
738 C++11 headers.
739 * include/Makefile.in: Regenerate.
740
31879c2c
TW
7412014-08-21 Tony Wang <tony.wang@arm.com>
742
7e51aabc 743 * testsuite/18_support/nested_exception/62154.cc: Disable when the
31879c2c
TW
744 target doesn't provide atomic builtins.
745
1ed3ba05 7462014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
7e51aabc 747 Kai Tietz <ktietz@redhat.com>
1ed3ba05
YS
748
749 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
750 Define.
751 * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
752 Ditto.
753 * libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]:
754 #include <windows.h>.
755 (struct elt): Add dll member.
756 (run): Decrement dll refcount.
757 (__cxxabiv1::__cxa_thread_atexit): Increment dll refcount.
758
2ce8cb99
JW
7592014-08-15 Jonathan Wakely <jwakely@redhat.com>
760
761 PR libstdc++/62154
762 * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
763 Rewrite to conform to C++11 requirements.
764 * testsuite/18_support/nested_exception/62154.cc: New.
765
e8af7616
MK
7662014-08-14 Matthias Klose <doko@ubuntu.com>
767
768 * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
769 Remove empty directory.
770
215acd2b
PC
7712014-08-14 Paolo Carlini <paolo.carlini@oracle.com>
772
773 * testsuite/26_numerics/random/linear_congruential_engine/
774 requirements/non_uint_neg.cc: Adjust for parser change.
775 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
776 requirements/non_uint_neg.cc: Likewise.
777
c6b3f349
JW
7782014-08-13 Jonathan Wakely <jwakely@redhat.com>
779
780 PR libstdc++/61841
781 * include/std/thread (thread::_M_start_thread): Declare new overload.
782 (thread::thread<_Callable, _Args...>): Call new overload with an
783 explicit reference to pthread_create.
784 * src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
785 * config/abi/pre/gnu.ver: Export new function.
786
af1e0152 7872014-08-13 Sylvestre Ledru <sylvestre@debian.org>
07ec1009
SL
788
789 * include/profile/impl/profiler_hash_func.h: Fix a comment typo
790
429e4fde
PC
7912014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
792
793 * Fix thinko in the last commit.
794
a3ee8851
PC
7952014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
796
797 PR libstdc++/62118
798 * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
799 operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
800
19173661
JW
8012014-08-12 Jonathan Wakely <jwakely@redhat.com>
802
803 * include/bits/basic_string.h (getline): Qualify call to prevent ADL
804 and add overloads for rvalue streams.
805 * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
806 New.
807 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
808 New.
809
caff45a6
JW
810 * include/bits/basic_string.h (getline): Declare inline.
811
83a4216d
UD
8122014-08-09 Ulrich Drepper <drepper@gmail.com>
813
814 * include/ext/random.tcc (uniform_on_sphere_helper): Define.
815 (uniform_on_sphere_distribution::operator()): Use the new helper
816 class for the implementation.
817
818 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
819 equal.cc: Remove bogus part of comment.
820 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
821 inequal.cc: Likewise.
822 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
823 serialize.cc: Add check to verify result of serialzation and
824 deserialization.
825 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
826 generate.cc: New file.
827
42ee80b9 8282014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
6a6bdc3d
PC
829
830 * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
831 character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
832
01307898
FD
8332014-08-09 François Dumont <fdumont@gcc.gnu.org>
834
835 PR libstdc++/61667
836 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
837 _M_need_rehash to initialize the rehash policy and check if a rehash is
838 needed.
839 * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
840
d0ef19a0
JW
8412014-08-07 Jonathan Wakely <jwakely@redhat.com>
842
843 * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
844 Optimize.
845 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
846 Adjust dg-error line number.
847 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
848 Likewise.
849 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
850 Likewise.
851 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
852 Likewise.
853
4e48c109
JW
854 * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
855 _M_do_set.
856 (_State_baseV2::_M_do_set): Change parameters to pointers.
857 (_State_baseV2::_Setter): Change _M_arg from reference to pointer.
858 (_State_baseV2::__setter): Initialize _Setter with pointers.
859 (_State_baseV2::__setter(promise<void>*)): Remove overload.
860 (promise::set_value, promise::set_exception): Pass setter directly
861 to _M_set_result.
862 (_State_baseV2::_Task_setter): Add template parameter for callable
863 type and replace std::function member with pointer to that type.
864 Change _M_result member from reference to pointer.
865 (_State_baseV2::_S_task_setter): Change parameter to lvalue reference
866 and initialize _Task_setter with pointers.
867 (__location_invariant): Specialize for _Setter and _Task_setter.
868
db0b7db3
JW
869 * include/std/future (__location_invariant): Move specializations
870 after preprocessor condition.
871
2821a748
PC
8722014-08-02 Paolo Carlini <paolo.carlini@oracle.com>
873
874 PR c++/15339
875 * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
876
a7f930e7
ZT
8772014-08-01 Zifei Tong <zifeitong@gmail.com>
878
879 * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
880 _GLIBCXX_ prefix to macro.
881
3e5eda5b
JW
8822014-07-29 Jonathan Wakely <jwakely@redhat.com>
883
884 * python/libstdcxx/v6/printers.py
885 (SingleObjContainerPrinter._contained): Use compatibility mixin.
886
5c7c5f9a
FD
8872014-07-29 François Dumont <fdumont@gcc.gnu.org>
888
889 * testsuite/util/testsuite_allocator.h
890 (tracker_allocator_counter::allocate): Remove new invocation, only
891 collect information.
892 (tracker_allocator_counter::deallocate): Remove delete invocation, only
893 collect information.
894 (check_inconsistent_alloc_value_type): New.
895 (tracker_allocator): Transform as a facade for any allocator type.
896 (uneq_allocator): Likewise.
897 (propagating_allocator): Likewise.
898 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
899 explicitly non propagating allocator.
900 * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
901 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
902 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
903 * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
904 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
905 Likewise.
906 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
907 Likewise.
908 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
909 Likewise.
910 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
911 Likewise.
912 * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
913
aec20dcf
JW
9142014-07-29 Jonathan Wakely <jwakely@redhat.com>
915
916 PR libstdc++/61946
917 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
918 const allocator_type&)): Pass non-const allocator to
919 _S_new_RopeFunction.
920 * testsuite/ext/rope/61946.cc: New.
921
f4081d13
JW
922 PR libstdc++/61947
923 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
924 disambiguate unary constructors.
925 (_Tuple_impl): Pass allocator_arg_t arguments.
926 * testsuite/20_util/tuple/61947.cc: New.
927 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
928
1c4ff014
ESR
9292014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
930
931 PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
932 * include/bits/random.h (_Adaptor): static_assert for non floating-point
933 result type.
934 * include/bits/random.tcc (generate_canonical): Ditto.
935 * include/ext/random.tcc (hypergeometric_distribution::operator()):
936 Use double as a rng result type.
937 * testsuite/26_numerics/random/pr60037-neg.cc: New.
938 * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
939
a3a2efc1
UB
9402014-07-25 Uros Bizjak <ubizjak@gmail.com>
941
942 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
943
0a9f0ecb
ESR
9442014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net>
945
946 * include/experimental/string_view: Make the literal operators
947 constexpr like the ctors they call.
948
2e1e91f1
L
9492014-07-23 H.J. Lu <hongjiu.lu@intel.com>
950
951 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
a6eb46e8 952
da03858b
JW
9532014-07-23 Jonathan Wakely <jwakely@redhat.com>
954
955 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
956 to string instead of using gdb.Type.name attribute.
957
773162d7
JW
9582014-07-19 Jonathan Wakely <jwakely@redhat.com>
959
960 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
961 AC_MSG_CHECKING.
962
faf7f829
JW
9632014-07-18 Jonathan Wakely <jwakely@redhat.com>
964
965 PR libstdc++/61835
966 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
967 raw string.
968 (SingleObjContainerPrinter): Check if type printers are in use.
969
026ae646
PC
9702014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
971
972 * include/ext/random: Minor formatting and cosmetic tweaks.
973 (uniform_on_sphere_distribution<>::operator==
974 (const uniform_on_sphere_distribution&,
975 const uniform_on_sphere_distribution&)): Compare the _M_nds.
976 (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
977 (operator!=(const uniform_on_sphere_distribution&,
978 const uniform_on_sphere_distribution&)): Adjust.
979 * include/ext/random.tcc: Minor cosmetc tweaks.
980
077aa95e
JW
9812014-07-15 Jonathan Wakely <jwakely@redhat.com>
982
983 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
984 printer for class templates.
985 (register_type_printers): Use TemplateTypePrinter for containers
986 and other class templates with default template arguments.
987 * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
988
6f440cce
JW
989 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
990 base class for experimental::any and experimental::optional printers.
991 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
992 New printers for Fundamentals TS types.
993 * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
994
4228f932
TS
9952014-07-15 Tim Shen <timshen@google.com>
996
997 PR libstdc++/61720
998 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
999 Clear match queue for next use.
1000 * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
1001
b40d9361
UD
10022014-07-14 Ulrich Drepper <drepper@gmail.com>
1003
1004 * include/ext/random.tcc: Unfortunately more fixes for
1005 operator>> and operator<< for uniform_on_sphere_distribution.
1006
5c8efaf2
UD
10072014-07-13 Ulrich Drepper <drepper@gmail.com>
1008
1009 * include/ext/random.tcc: Fix operator>> and operator<< for
1010 uniform_on_sphere_distribution.
1011
863a2c7e
UD
10122014-07-12 Ulrich Drepper <drepper@gmail.com>
1013
1014 * include/ext/random: Add uniform_on_sphere_distribution definition.
1015 * include/ext/random.tcc: Add out-of-band member function definitions
1016 for uniform_on_sphere_distribution.
1017 * testsuite/ext/random/uniform_on_sphere_distribution/
1018 cons/default.cc: New file.
1019 * testsuite/ext/random/uniform_on_sphere_distribution/
1020 operators/equal.cc: New file.
1021 * testsuite/ext/random/uniform_on_sphere_distribution/
1022 operators/inequal.cc: New file.
1023 * testsuite/ext/random/uniform_on_sphere_distribution/
1024 operators/serialize.cc: New file.
1025
8daac774
ESR
10262014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
1027
1028 Add the logistic_distribution as an extension.
1029 * include/ext/random: Add the logistic_distribution.
1030 * include/ext/random.tcc: Add the logistic_distribution.
1031 * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
1032 * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
1033 * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
1034 New.
1035 * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
1036 * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
1037 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
1038 New.
1039
7cd41cda
SB
10402014-07-11 Samuel Bronson <naesten@gmail.com>
1041
1042 * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS=""
1043 instead of insisting that GCC understand -fdiagnostics-color=never
1044
f4da031c
SB
1045 * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
1046 list loaded libs.
1047
cdd1ba62
SB
10482014-07-11 Samuel Bronson <naesten@gmail.com>
1049 Matthias Klose <doko@ubuntu.com>
1050
1051 PR libstdc++/58962
1052 * python/libstdcxx/v6/printers.py: Port to Python 2+3
1053 (imap): New compat function.
1054 (izip): Likewise.
1055 (Iterator): New mixin to allow writing iterators in Python 3 style
1056 regardless of which version we're running on.
1057 [Python3] (long) New compat alias for "int".
1058 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
1059
7757d79b
JW
10602014-07-10 Jonathan Wakely <jwakely@redhat.com>
1061
1062 * include/experimental/any (any::_Manager_alloc::_Data): Reorder
1063 tuple members to simplify pretty printing.
1064 (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
1065 construction.
1066 * testsuite/experimental/any/cons/4.cc: New.
1067
a6ea72bf
JM
10682014-07-09 Jason Merrill <jason@redhat.com>
1069
1070 PR libstdc++/61728
1071 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
1072 * libsupc++/tinfo.h: Not here.
1073
b3771d3f
JW
10742014-07-08 Jonathan Wakely <jwakely@redhat.com>
1075
1076 * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
1077 missing return.
1078 * include/experimental/any: Remove unused header.
1079 * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
1080 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
1081 * testsuite/util/testsuite_regex.h: Move include guard.
1082
5bcb66df
TS
10832014-07-01 Tim Shen <timshen@google.com>
1084
05ae5af2 1085 PR libstdc++/61601
5bcb66df
TS
1086 PR libstdc++/61582
1087 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
1088 a NFA state limit. If it's exceeded, regex_constants::error_space
1089 will be throwed.
1090 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
1091 map (which is sparse) instead of vector. This reduce n times clones'
1092 cost from O(n^2) to O(n).
1093 * include/std/regex: Add map dependency.
1094 * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
1095 testcase.
1096
ad9ec7b3
TS
10972014-07-01 Tim Shen <timshen@google.com>
1098
1099 PR libstdc++/61424
1100 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
1101 not just regex containing back-references.
1102 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
1103 exchange _M_next and _M_alt for alternative operator,
1104 making matching from left to right.
1105 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
1106 Add position tracking fom DFS.
1107 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
1108 _Executor<>::_M_dfs): Likewise.
1109 * include/bits/regex_scanner.h: Remove unused enum entry.
1110 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
1111 testcase from PR.
1112
5796bf34
JM
11132014-06-30 Jason Merrill <jason@redhat.com>
1114
1115 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
1116 is pure, not inline.
1117
de35da36
PC
11182014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
1119
1120 Revert:
1121 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
863a2c7e 1122 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
de35da36
PC
1123
1124 PR libstdc++/61536
1125 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
1126
1127 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
1128
1129 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
1130
90631441
JW
11312014-06-26 Jonathan Wakely <jwakely@redhat.com>
1132
1133 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
1134 parameter type.
1135
484dc599
JW
11362014-06-25 Jonathan Wakely <jwakely@redhat.com>
1137
1138 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
1139 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
1140 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
1141 Likewise.
1142 * include/ext/alloc_traits.h: Fix comment.
1143
b925bf59
JW
1144 * include/Makefile.am: Add new header.
1145 * include/Makefile.in: Regenerate.
1146 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
1147 New RAII utilities for working with allocators.
1148 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
1149 __allocator_type typedef and use new __allocated_ptr type.
1150 (_Sp_counted_ptr_inplace): Likewise.
1151 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
1152 __allocate_guarded to to simplify exception handling.
1153 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
1154 * include/std/future (_Result_alloc::_M_destroy): Likewise.
1155 (_Result_alloc::_S_allocate_result): Likewise.
1156 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
1157 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1158 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
1159 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
1160 with fancy pointer.
1161 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1162
6ab0d680
JW
1163 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
1164 allocator.
1165 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
1166 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1167
3fa591d4
JW
11682014-06-24 Jonathan Wakely <jwakely@redhat.com>
1169
1170 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
1171 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
1172 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
1173 Remove unused typedef.
1174 (time_get::do_get_monthname): Likewise.
1175 * include/bits/stl_tree.h: Add system_header pragma.
1176 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
1177 redundant const-qualifier.
1178 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
1179 instead of _GLIBCXX_USE_CONSTEXPR.
1180
83387bbd
JW
11812014-06-23 Jonathan Wakely <jwakely@redhat.com>
1182
1183 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
1184 * include/std/chrono (_Checked_integral_constant): Allow zero.
1185 * testsuite/20_util/duration/literals/values.cc: Test non-positive
1186 values and digit separators.
863a2c7e 1187 * include/experimental/any
83387bbd 1188
bb85ec6e
JW
1189 PR libstdc++/61532
1190 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
1191 apply the signed specifier to wchar_t.
1192 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
1193 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
1194 cv-qualifier and size.
1195 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1196 Likewise.
1197
7ce56fc8
JW
1198 * include/experimental/any (any_v1): Rename namespace to
1199 fundamentals_v1. Change string returned by bad_any_cast::what().
1200 * include/experimental/optional (fundamentals_v1): Add namespace.
1201 * include/experimental/string_view (fundamentals_v1): Likewise.
1202 * testsuite/experimental/any/typedefs.cc: New.
1203 * testsuite/experimental/optional/typedefs.cc: New.
1204 * testsuite/experimental/string_view/typedefs.cc: New.
1205
ad4684c2
PC
12062014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
1207 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1208
1209 PR libstdc++/61536
1210 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
1211
e8043fa6
JW
12122014-06-14 Jonathan Wakely <jwakely@redhat.com>
1213
1214 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
1215 * include/Makefile.am: Add new header.
1216 * include/Makefile.in: Regenerate.
1217 * include/experimental/any: New.
1218 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
1219 constructor.
1220 * testsuite/experimental/any/assign/1.cc: New.
1221 * testsuite/experimental/any/assign/2.cc: New.
1222 * testsuite/experimental/any/cons/1.cc: New.
1223 * testsuite/experimental/any/cons/2.cc: New.
1224 * testsuite/experimental/any/cons/3.cc: New.
1225 * testsuite/experimental/any/misc/any_cast.cc: New.
1226 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
1227 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
1228 * testsuite/experimental/any/misc/swap.cc: New.
1229 * testsuite/experimental/any/modifiers/1.cc: New.
1230 * testsuite/experimental/any/observers/type.cc: New.
1231
00541349
JW
1232 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
1233 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
1234 warnings.
1235 * include/bits/shared_ptr.h (shared_ptr): Likewise.
1236 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
1237 Likewise.
1238 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1239 Likewise.
1240 * include/parallel/list_partition.h (__parallel::list_partition):
1241 Likewise.
1242 * include/std/iomanip (quoted): Likewise.
1243 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
1244
10d43d2f
JW
1245 * doc/xml/api.xml: Link to more recent API docs.
1246 * include/bits/allocator.h: Fix link in doxygen comment.
1247 * include/bits/char_traits.h: Likewise.
1248 * include/bits/ios_base.h: Likewise.
1249 * include/bits/stl_map.h: Likewise.
1250 * include/bits/stl_multimap.h: Likewise.
1251 * include/bits/stl_multiset.h: Likewise.
1252 * include/bits/stl_set.h: Likewise.
1253 * include/bits/unordered_map.h: Likewise.
1254 * include/bits/unordered_set.h: Likewise.
1255 * include/ext/mt_allocator.h: Likewise.
1256 * include/std/fstream: Likewise.
1257 * include/std/iosfwd: Likewise.
1258 * include/std/ostream: Likewise.
1259 * include/std/sstream: Likewise.
1260 * include/std/streambuf: Likewise.
1261 * doc/html/*: Regenerate.
1262
fb3bc977
JW
1263 * include/experimental/any (any_cast): Combine duplicate doxygen
1264 comments.
1265 * include/experimental/string_view (basic_string_view): Update
1266 doxygen comment.
1267 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
1268 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
1269 (dynamic_bitset): Improve Doxygen comments.
1270 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
1271 comment.
1272
58170a66
MR
12732014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
1274
1275 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
1276 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
1277
060269c4
JW
12782014-06-10 Jonathan Wakely <jwakely@redhat.com>
1279
1280 PR libstdc++/61390
1281 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
1282 (bin_search_tree_traits): Do not redeclare template-parameters.
1283 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
1284
109a3af4
JW
12852014-06-09 Jonathan Wakely <jwakely@redhat.com>
1286
1287 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
1288 parameter for DocBook HTML generation.
1289 * doc/Makefile.in: Regenerate.
1290 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
1291 * doc/xml/faq.xml: Update content and improve formatting.
1292 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
1293 * doc/xml/manual/allocator.xml: Add stable ID attribute.
1294 * doc/xml/manual/bitmap_allocator.xml: Likewise.
1295 * doc/xml/manual/build_hacking.xml: Likewise.
1296 * doc/xml/manual/codecvt.xml: Change URL.
1297 * doc/xml/manual/ctype.xml: Add stable ID attribute.
1298 * doc/xml/manual/debug_mode.xml: Likewise.
1299 * doc/xml/manual/documentation_hacking.xml: Likewise.
1300 * doc/xml/manual/evolution.xml: Likewise.
1301 * doc/xml/manual/extensions.xml: Likewise.
1302 * doc/xml/manual/locale.xml: Likewise.
1303 * doc/xml/manual/messages.xml: Make section id consistent, improve
1304 markup, change URL.
1305 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
1306 * doc/xml/manual/profile_mode.xml: Likewise.
1307 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
1308 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
1309 * doc/xml/manual/status_cxx2011.xml: Likewise.
1310 * doc/xml/manual/status_cxx2014.xml: Likewise.
1311 * doc/xml/manual/status_cxxtr1.xml: Likewise.
1312 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
1313 * doc/xml/manual/using.xml: Likewise.
1314 * doc/html/*: Regenerate.
1315
45b4a796
JW
13162014-06-09 Jonathan Wakely <jwakely@redhat.com>
1317
1318 * include/tr1/beta_function.tcc: Fix spelling of include guard in
1319 comment.
1320
cb90f114
PC
13212014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
1322
1323 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
1324
25608e3a
ESR
13252014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
1326
1327 DR 2344 - std::quoted doesn't respect padding
1328 * include/std/iomanip: Allow for padding in quoted inserters.
1329 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
1330 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
1331
4ac2509b
FD
13322014-06-06 François Dumont <fdumont@gcc.gnu.org>
1333
1334 * testsuite/23_containers/map/operators/1.cc: Simplify test.
1335
f0bb8736
JW
13362014-06-06 Jonathan Wakely <jwakely@redhat.com>
1337
1338 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
1339 code example.
1340 * doc/xml/manual/backwards_compatibility.xml
1341 (backwards.second.stringstreams): Likewise.
1342 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
1343 change of default.
1344 * doc/xml/manual/containers.xml (associative.bitset.type_string):
1345 Replace <quote> in code example.
1346 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
1347 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
1348 fix typos, improve markup.
1349 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
1350 <emphasis> with <replaceable>.
1351 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
1352 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
1353 and remove newlines in string literal.
1354
3c61a5ba
PC
13552014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
1356
1357 DR 1423
1358 PR c++/52174
1359 * testsuite/20_util/is_assignable/value.cc: Update.
1360
315eb4bb
JW
13612014-06-02 Jonathan Wakely <jwakely@redhat.com>
1362
1363 * include/std/condition_variable (condition_variable_any::_Unlock): Do
1364 not swallow __forced_unwind.
1365 * include/std/future (__future_base::_Task_setter): Likewise.
1366 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
1367 promise and rethrow.
1368 * include/std/mutex (try_lock): Likewise.
1369 * testsuite/30_threads/async/forced_unwind.cc: New.
1370 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
1371
097f0bcf
JW
1372 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
1373 members to avoid wasted space when not using a cache.
1374 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
1375 * include/bits/regex_compiler.tcc
1376 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
1377 search on set.
1378 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
1379 New enumeration type to indicate match mode.
1380 (__detail::_Executor::_State_info): New type holding members only
1381 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
1382 unique_ptr<bool[]>.
1383 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
1384 Replace template parameter with run-time function parameter.
1385 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
1386 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
1387 implement DFS and BFS mode.
1388 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
1389 Split implementation into ...
1390 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
1391 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
1392 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
1393 argument instead of template argument.
1394 (__detail::_Executor::_M_dfs): Likewise.
1395 * include/bits/regex_scanner.tcc: Fix typos in comments.
1396 * testsuite/performance/28_regex/range.cc: New.
1397
d3718027
RS
13982014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
1399 Jonathan Wakely <jwakely@redhat.com>
1400
1401 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
1402 helper struct.
1403 (aligned_union): New struct (C++11).
1404 (aligned_union_t): New type alias (C++14).
1405 * doc/xml/manual/status_cxx2011.xml: Update.
1406 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
1407 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1408 line number.
1409
16545743
JW
14102014-06-01 Jonathan Wakely <jwakely@redhat.com>
1411
1412 PR libstdc++/61374
1413 * include/experimental/string_view (operator basic_string): Correct
1414 order of arguments.
1415 (to_string): Replace with member function.
1416 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
1417 allow _M_str to be null.
1418 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
1419 default constructor semantics.
1420 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
1421 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
1422 copyright dates. Remove unused header.
1423 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
1424 Likewise.
1425 * testsuite/experimental/string_view/operations/data/char/1.cc:
1426 Fix copyright dates. Adjust to new default constructor semantics.
1427 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
1428 Likewise.
1429 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
1430
314efb66
JW
1431 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
1432 (__uses_allocator_arg): Remove unused type.
1433 (__uses_alloc0): Turn into a trivial type.
1434 (__uses_alloc): Add missing template parameter in primary template.
1435 (__uses_alloc_impl): Rename to __uses_alloc_t.
1436
29f09521
JW
14372014-05-30 Jonathan Wakely <jwakely@redhat.com>
1438
1439 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
1440 work with previous versions of Tcl.
1441
2c936344
JW
1442 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
1443 Benjamin's old email address.
1444
8e43535e
JW
1445 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
1446 Paolo's address too.
1447
710d672b
JW
14482014-05-29 Jonathan Wakely <jwakely@redhat.com>
1449
1450 * include/tr2/bool_set: Use UTF-8 for accented characters.
1451 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
1452 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
1453 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
1454
ecb249dd
JW
14552014-05-27 Jonathan Wakely <jwakely@redhat.com>
1456
1457 PR libstdc++/61329
1458 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
1459 inline specifier.
1460 (_State_base::_M_dot): Likewise.
1461
171fa27e
PC
14622014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
1463
1464 * include/profile/map.h: Fix typo in comment; minor formatting fix.
1465 * include/profile/multimap.h: Likewise.
1466 * include/profile/set.h: Likewise.
1467 * include/profile/multiset.h: Likewise.
1468
f3de79d4
FD
14692014-05-24 François Dumont <fdumont@gcc.gnu.org>
1470
1471 * include/profile/array: Clean useless white chars.
1472 * include/profile/base.h: Likewise.
1473 * include/profile/iterator_tracker.h: Likewise.
1474 * include/profile/bitset: Code cleanup and remove not instrumented code.
1475 * include/profile/deque: Likewise.
1476 * include/profile/forward_list: Likewise.
1477 * include/profile/list (std::__profile::_List_profile<>): New.
1478 (std::__profile::list<>): Inherit from latter and adapt.
1479 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
1480 advise to match any ordered to unordered container conversion.
1481 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
1482 New.
1483 * include/Makefile.am: Add latter.
1484 * include/Makefile.in: Regenerate.
1485 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
1486 remove not instrumented code.
1487 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
1488 * include/profile/set.h (std::__profile::set<>): Likewise.
1489 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
1490 * include/profile/unordered_base.h: Add some line feed.
1491 * include/profile/unordered_map: Clean useless white chars and replace
1492 spaces with tabs.
1493 * include/profile/unordered_set: Likewise.
1494 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
1495 (std::__profile::_Vector_profile_post<>): New.
1496 (std::__profile::vector<>): Inherit from latter and adapt.
1497
75a8a745
JW
14982014-05-23 Jonathan Wakely <jwakely@redhat.com>
1499
1500 PR libstdc++/60793
1501 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
1502 dragonfly target selector to all tests that run on freebsd.
1503
d90838f9
JW
1504 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
1505 dragonfly.
1506 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
1507 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
1508
cfbe41d0
JW
1509 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
1510 selector.
1511 * testsuite/30_threads/call_once/60497.cc: Likewise.
1512 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
1513 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
1514 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
1515 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
1516 * testsuite/30_threads/promise/60966.cc: Likewise.
1517 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
1518 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
1519 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
1520 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
1521 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
1522 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
1523 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
1524 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
1525 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
1526 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
1527 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
1528 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
1529 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
1530 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
1531 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
1532 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1533 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
1534
95539f21
FD
15352014-05-21 François Dumont <fdumont@gcc.gnu.org>
1536
1537 PR libstdc++/61143
1538 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
1539 usable state.
1540 * testsuite/23_containers/unordered_set/61143.cc: New.
1541 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
1542
21e2806a
JW
15432014-05-21 Jonathan Wakely <jwakely@redhat.com>
1544
1545 PR libstdc++/61269
1546 * include/std/type_traits: Move include outside namespace std.
1547 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
1548 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1549 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1550 Likewise.
1551
ab65e21a
JW
1552 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
1553 Fix warning.
1554
dbed5a9b
JM
15552014-05-21 John Marino <gnugcc@marino.st>
1556
1557 * acinclude.m4 (*-*-dragonfly*): New target.
1558 * configure: Regenerate.
1559 * configure.host (*-*-dragonfly*): New target.
1560 * config/locale/dragonfly/c_locale.cc: New.
1561 * config/locale/dragonfly/ctype_members.cc: New.
1562 * config/os/bsd/dragonfly/ctype_base.h: New.
1563 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
1564 * config/os/bsd/dragonfly/ctype_inline.h: New.
1565 * config/os/bsd/dragonfly/os_defines.h: New.
1566
6ed9c90a
CP
15672014-05-20 Cesar Philippidis <cesar@codesourcery.com>
1568
863a2c7e 1569 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
6ed9c90a 1570 libstdc++.exp imports those flags via getenv.
863a2c7e
UD
1571 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
1572 CXXFLAGS contains a '-O' flag.
6ed9c90a 1573
a852a67c
AM
15742014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1575
1576 PR libstdc++/61223
1577 Revert:
1578 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1579
1580 PR libstdc++/60758
1581 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1582 and add unwind directives.
1583
8ec7c36a
SH
15842014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
1585
1586 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
1587
4dae67e0
TS
15882014-05-20 Tim Shen <timshen91@gmail.com>
1589
1590 PR libstdc++/61227
1591 * include/bits/regex_compiler.h
1592 (_BracketMatcher<>::_M_add_character_class): Add negative character
1593 class support.
1594 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
1595 Likewise.
1596 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1597 Add more testcases.
1598
47059228
JW
15992014-05-19 Jonathan Wakely <jwakely@redhat.com>
1600
1601 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
1602
80333d3d
MG
16032014-05-17 Marc Glisse <marc.glisse@inria.fr>
1604
1605 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
1606 * libsupc++/new_opnt.cc: Likewise.
1607
a0eaa08c
JW
16082014-05-17 Jonathan Wakely <jwakely@redhat.com>
1609
1610 PR libstdc++/60966
1611 * include/std/future (__future_base::_State_baseV2::_M_set_result):
1612 Pass lock into _M_do_set and hold it until the function returns.
1613 Signal condition variable after call_once completes.
1614 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
1615 signal here.
1616 * testsuite/30_threads/promise/60966.cc: New.
1617
cac363bc
IS
16182014-05-16 Iain Sandoe <iain@codesourcery.com>
1619 Sandra Loosemore <sandra@codesourcery.com>
1620
a0eaa08c
JW
1621 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
1622 until after checking that the test is eligible to be run.
cac363bc 1623
53caffbe
JW
16242014-05-16 Jonathan Wakely <jwakely@redhat.com>
1625
1626 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
1627 test for 32-bit target.
1628 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1629 Likewise.
1630 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
1631 Fix test.
1632
2a2794f7
AM
16332014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1634
1635 PR libstdc++/60758
1636 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1637 and add unwind directives.
1638
cd1464db
JW
16392014-05-16 Jonathan Wakely <jwakely@redhat.com>
1640
1641 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
1642 overflow.
1643 * include/std/chrono (chrono_literals::__select_type::_Select_type):
1644 Remove.
1645 (chrono_literals::_Checked_integral_constant): Define.
1646 Simplify UDL operator templates and check for overflow.
1647 * testsuite/20_util/duration/literals/range.cc: New.
1648
16492014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
a2f4bd2a
ESR
1650 Jonathan Wakely <jwakely@redhat.com>
1651
1652 PR libstdc++/61166
1653 * include/bits/parse_numbers.h: Use integral_constant to remove
1654 duplication and simplify.
1655 * testsuite/20_util/duration/literals/61166.cc: New.
1656
3a004764
JW
16572014-05-15 Jonathan Wakely <jwakely@redhat.com>
1658
c0eef1c8
JW
1659 PR libstdc++/60326
1660 * include/std/type_traits (__make_unsigned, __make_signed): Define
1661 specializations for wchar_t, char16_t and char32_t.
1662 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
1663 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
1664 test for make_unsigned<volatile wchar_t>.
1665 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1666 Likewise.
1667 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1668 line number.
1669 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1670 Likewise.
1671 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1672 Likewise.
1673
c6139a77 16742014-05-15 Jonathan Wakely <jwakely@redhat.com>
c0eef1c8 1675
3a004764
JW
1676 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
1677 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
1678 * include/std/utility (tuple_size, tuple_element): Likewise.
1679 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1680 Adjust dg-error line number.
1681
af222e74
JW
16822014-05-14 Jonathan Wakely <jwakely@redhat.com>
1683
1684 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
1685 (__tuple_element_t): Define.
1686 (tuple_element): Use __tuple_element_t.
1687 (__cv_tuple_size): Define.
1688 (tuple_size<cv _Tp>): Use __cv_tuple_size.
1689 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
1690 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
1691 (__tuple_compare): Remove size check, re-order parameters.
1692 (operator==, operator<): Use static_assert to check requirements.
1693 * include/std/functional (__volget): use __tuple_element_t.
1694 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
1695 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1696
75e75a08
JW
16972014-05-13 Jonathan Wakely <jwakely@redhat.com>
1698
1699 PR libstdc++/60497
1700 * include/std/tuple (get, __tuple_compare): Qualify more calls to
1701 prevent ADL. Cast comparison results to bool.
1702 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
1703 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
1704
b82f988e
JW
1705 PR libstdc++/60497
1706 * include/debug/array (get): Qualify call to other get overload.
1707 * include/profile/array (get): Likewise.
1708 * include/std/array (get): Likewise.
1709 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
1710 * include/std/mutex (unique_lock, call_once): Use __addressof.
1711 (__unlock_impl): Remove unused template.
1712 (__try_to_lock): Declare inline.
1713 (__try_lock_impl::__do_try_lock): Qualify function calls.
1714 (lock): Avoid narrowing conversion.
1715 * testsuite/20_util/bind/60497.cc: New.
1716 * testsuite/23_containers/array/element_access/60497.cc: New.
1717 * testsuite/30_threads/call_once/60497.cc: New.
1718 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
1719
a8218d79
JW
17202014-05-09 Jonathan Wakely <jwakely@redhat.com>
1721
1722 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
1723 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
1724 * acinclude.m4 (libtool_VERSION): Bump.
1725 * configure: Regenerate.
1726 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
1727 * testsuite/28_regex/regex_error/base.cc: New.
1728
e70c7f5b
JG
17292014-05-08 Joshua Gay <jgay@gnu.org>
1730
1731 PR libstdc++/61117
1732 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
1733 source" with "free software".
1734 * doc/html/faq.html: Likewise.
1735
f0fd118f
JW
17362014-05-08 Jonathan Wakely <jwakely@redhat.com>
1737
1738 PR libstdc++/57394
1739 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
1740 deleted for C++11.
1741 (operator=(const ios_base&)): Likewise.
1742 * include/std/streambuf: Remove trailing whitespace.
1743 (basic_streambuf(const basic_streambuf&)): Fix initializer for
1744 _M_out_end. Define as defaulted for C++11.
1745 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
1746 (swap(basic_streambuf&)): Define for C++11.
1747 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
1748
2735097a
JW
1749 PR libstdc++/13860
1750 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
1751
07e4f10a
JW
1752 * include/std/iostream: Fix URL in comment.
1753 * src/c++98/ios_init.cc: Fix path in comment.
1754
a3820abe
PC
17552014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
1756
1757 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
1758 * configure: Regenerate.
1759
2588652e
JW
17602014-05-07 Jonathan Wakely <jwakely@redhat.com>
1761
1762 PR libstdc++/61023
1763 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
1764 comparison function.
1765 * testsuite/23_containers/set/cons/61023.cc: New.
1766
bbf264c9
JW
1767 PR libstdc++/61086
1768 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
1769 Remove.
1770 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
1771 arithmetic to obtain a mutable iterator from const_iterator.
1772 * include/bits/vector.tcc (vector::insert): Likewise.
1773 * include/debug/vector (vector::erase): Likewise.
1774 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1775 Adjust dg-error line number.
1776 * testsuite/23_containers/vector/requirements/dr438/
1777 constructor_1_neg.cc: Likewise.
1778 * testsuite/23_containers/vector/requirements/dr438/
1779 constructor_2_neg.cc: Likewise.
1780 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1781 Likewise.
1782
f03d1bb9
PC
17832014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
1784
1785 * include/Makefile.in: Regenerate.
1786
15ee1a77
FD
17872014-05-06 François Dumont <fdumont@gcc.gnu.org>
1788
1789 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
1790 parameter to pass the 2 instances to check allocator equality.
1791 * include/debug/safe_container.h: New, define _Safe_container<>.
1792 * include/Makefile.am: Add previous.
1793 * include/debug/deque (std::__debug::deque<>): Inherit
1794 _Safe_container<>. Use default implementation for all special
1795 functions.
1796 * include/debug/forward_list (std::__debug::forward_list<>):
1797 Likewise.
1798 * include/debug/list (std::__debug::list<>): Likewise.
1799 * include/debug/map.h (std::__debug::map<>): Likewise.
1800 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
1801 * include/debug/set.h (std::__debug::set<>): Likewise.
1802 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
1803 * include/debug/string (std::__debug::basic_string<>): Likewise.
1804 * include/debug/unordered_map
1805 (std::__debug::unordered_map<>): Likewise.
1806 (std::__debug::unordered_multimap<>): Likewise.
1807 * include/debug/unordered_set
1808 (std::__debug::unordered_set<>): Likewise.
1809 (std::__debug::unordered_multiset<>): Likewise.
1810 * include/debug/vector (std::__debug::vector<>): Likewise.
1811 * include/debug/safe_base.h (_Safe_sequence_base()): Add
1812 noexcept.
1813 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
1814 (~_Safe_sequence_base()): Add noexcept.
1815 * include/debug/safe_sequence.h
1816 (std::__debug::_Safe_node_sequence<>): New.
1817 * include/debug/safe_unordered_base.h
1818 (_Safe_unordered_container_base()): Add noexcept.
1819 (~_Safe_unordered_container_base()): Likewise.
1820 (_M_swap(_Safe_unordered_container_base&)): Likewise.
1821 * include/debug/safe_unordered_container.h:
1822 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
1823 (_Safe_unordered_container<>::_M_invalidate_all()): New.
1824 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
1825 qualifications.
1826 * testsuite/util/debug/checks.h (check_construct1): Just implement
1827 an invalid constructor invocation and no other operations
1828 potentially not supported by some types of container.
1829 (check_construct2): Likewise.
1830 (check_construct3): Likewise.
1831 * testsuite/23_containers/forward_list/allocator/move.cc: Add
1832 check on iterators to make sure they are correctly moved in debug
1833 mode.
1834 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1835 Likewise.
1836 * testsuite/23_containers/map/allocator/move.cc: Likewise.
1837 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
1838 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
1839 * testsuite/23_containers/multimap/allocator/move_assign.cc:
1840 Likewise.
1841 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1842 * testsuite/23_containers/multiset/allocator/move_assign.cc:
1843 Likewise.
1844 * testsuite/23_containers/set/allocator/move.cc: Likewise.
1845 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
1846 * testsuite/23_containers/unordered_map/allocator/move.cc:
1847 Likewise.
1848 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1849 Likewise.
1850 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1851 Likewise.
1852 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1853 Likewise.
1854 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1855 Likewise.
1856 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1857 Likewise.
1858 * testsuite/23_containers/unordered_set/allocator/move.cc:
1859 Likewise.
1860 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1861 Likewise.
1862 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1863 New.
1864 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1865 New.
1866 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1867 New.
1868 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1869 New.
1870 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
1871 New.
1872 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
1873 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
1874 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
1875 * testsuite/23_containers/map/debug/move_neg.cc: New.
1876 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
1877 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
1878 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
1879 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
1880 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
1881 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
1882 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
1883 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
1884 * testsuite/23_containers/set/debug/move_neg.cc: New.
1885 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1886 New.
1887 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1888 New.
1889 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1890 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1891 New.
1892 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1893 New.
1894 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1895 New.
1896 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1897 New.
1898 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1899 New.
1900 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1901 New.
1902 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1903 New.
1904 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1905 New.
1906 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1907 * testsuite/23_containers/vector/debug/move_neg.cc: New.
1908
dd14d429
AS
19092014-05-05 Andreas Schwab <schwab@linux-m68k.org>
1910
1911 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1912 (CXXABI_1.3.9): Remove __float128 symbols.
1913
047f1cec
JW
19142014-05-02 Jonathan Wakely <jwakely@redhat.com>
1915
1916 PR libstdc++/59476
1917 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1918 function to handle both C++03 and C++11 _Rb_tree_node implementations.
1919 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1920 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1921 refer to...
1922 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1923
62da5a07
JW
1924 PR libstdc++/61036
1925 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1926 Check the correct type in the static assertion.
1927 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1928
a670a9bb
TS
19292014-04-27 Tim Shen <timshen91@gmail.com>
1930
1931 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1932 Add _S_opcode_repeat support to distingush a loop from
1933 _S_opcode_alternative.
1934 * include/bits/regex_automaton.tcc (_State_base::_M_print,
1935 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1936 _StateSeq<>::_M_clone): Likewise.
1937 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1938 Likewise.
1939 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1940 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1941 Uglify local variable __i.
1942 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1943 Use size_t instead of int to compare with vector::size().
1944
19452014-04-27 Tim Shen <timshen91@gmail.com>
1946
1947 * include/bits/regex_executor.h: Add _M_rep_count to track how
1948 many times this repeat node are visited.
1949 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1950 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1951 infinite loop.
1952
19532014-04-27 Tim Shen <timshen91@gmail.com>
1954
1955 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1956 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1957 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1958 * include/bits/regex_automaton.h: Remove quantifier counting variable.
1959 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1960 Adjust debug NFA dump.
1961
e2ce9436
LGB
19622014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
1963
1964 PR libstdc++/60710
1965 * include/experimental/optional (operator!=): Implement in terms of
1966 operator==.
1967 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1968 * testsuite/experimental/optional/relops/2.cc: Likewise.
1969 * testsuite/experimental/optional/relops/3.cc: Likewise.
1970 * testsuite/experimental/optional/relops/4.cc: Likewise.
1971 * testsuite/experimental/optional/relops/5.cc: Likewise.
1972 * testsuite/experimental/optional/relops/6.cc: Likewise.
1973
4ec21835
JW
19742014-04-25 Jonathan Wakely <jwakely@redhat.com>
1975
1976 PR libstdc++/60958
1977 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1978 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1979 comment.
1980
e4012a04
MG
19812014-04-25 Marc Glisse <marc.glisse@inria.fr>
1982
1983 * testsuite/util/testsuite_abi.cc (check_version): Update for
1984 CXXABI_1.3.9.
1985
836c42f6
TS
19862014-04-24 Tim Shen <timshen91@gmail.com>
1987
1988 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1989 Do _M_alt before _M_next.
1990 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1991
b911b50d
MG
19922014-04-24 Marc Glisse <marc.glisse@inria.fr>
1993
1994 PR libstdc++/43622
1995 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1996 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1997 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1998
84c5df1c
AS
19992014-04-24 Andreas Schwab <schwab@suse.de>
2000
2001 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
2002 new CXXABI_1.3.9 symbols.
2003
eab264af
AS
20042014-04-23 Andreas Schwab <schwab@linux-m68k.org>
2005
2006 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
2007 (CXXABI_1.3.9): New version.
2008
793c625f
MG
20092014-04-22 Marc Glisse <marc.glisse@inria.fr>
2010
2011 PR libstdc++/43622
2012 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
2013 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
2014 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2015
d9f069ab
RO
20162014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2017
2018 * configure.host: Remove solaris2.9 handling.
2019 Change os_include_dir to os/solaris/solaris2.10.
2020 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
2021 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
2022 * configure: Regenerate.
2023 * config/abi/post/solaris2.9: Remove.
2024 * config/os/solaris/solaris2.9: Rename to ...
2025 * config/os/solaris/solaris2.10: ... this.
2026 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
2027 Remove.
2028
2029 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
2030 Remove Solaris 9 reference.
2031 * doc/html/manual/configure.html: Regenerate.
2032
2033 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
2034 Remove *-*-solaris2.9 xfail.
2035 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
2036 Likewise.
2037
2038 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
2039 xfail.
2040
6e2d247b
JW
20412014-04-16 Jonathan Wakely <jwakely@redhat.com>
2042
2043 * include/std/functional (__is_location_invariant): Use __or_ helper.
2044
4b3f9829
JW
20452014-04-15 Jonathan Wakely <jwakely@redhat.com>
2046
2047 PR libstdc++/60734
2048 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
2049
9ffc6d0b
JW
2050 PR libstdc++/60695
2051 * include/std/atomic (atomic<_Tp>): Add static assertion.
2052 * testsuite/29_atomics/atomic/60695.cc: New.
2053
4803acce
JW
2054 PR libstdc++/60594
2055 * include/std/functional (function::_Callable): Exclude own type
2056 from the callable checks.
2057 * testsuite/20_util/function/60594.cc: New.
2058
260d16c8
JW
2059 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
2060 const to constexpr member functions.
2061
ed39835f
JW
2062 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
2063 delegating constructor.
2064 * include/bits/shared_ptr_base.h
2065 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
2066
227df36e
JW
2067 * include/std/atomic: Uglify parameter names.
2068
3a0f3672
JW
2069 PR c++/60786
2070 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
2071 1.cc: Fix invalid explicit instantiations with unqualified names.
2072 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
2073 2.cc: Likweise.
2074 * testsuite/20_util/tuple/53648.cc: Likweise.
2075 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
2076 Likewise.
2077 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
2078 Likewise.
2079 * testsuite/23_containers/unordered_map/requirements/
2080 debug_container.cc: Likewise.
2081 * testsuite/23_containers/unordered_map/requirements/
2082 explicit_instantiation/3.cc: Likewise.
2083 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
2084 Likewise.
2085 * testsuite/23_containers/unordered_multimap/requirements/
2086 explicit_instantiation/3.cc: Likewise.
2087 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
2088 Likewise.
2089 * testsuite/23_containers/unordered_multiset/requirements/
2090 explicit_instantiation/3.cc: Likewise.
2091 * testsuite/23_containers/unordered_set/requirements/
2092 debug_container.cc: Likewise.
2093 * testsuite/23_containers/unordered_set/requirements/
2094 explicit_instantiation/3.cc: Likewise.
2095
a1e1bc90
JW
2096 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
2097 not use uninitialized members in mem-initializers.
2098 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
2099 * testsuite/util/testsuite_common_types.h: Update comment.
2100
b9de84c9
JW
2101 * include/experimental/string_view: Fix inconsistent exception specs.
2102
33fbb358
JW
2103 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
2104 Remove name of unused parameter.
2105
5b99e0a0
JW
21062014-04-14 Jonathan Wakely <jwakely@redhat.com>
2107
2108 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
2109 _Vector_base::_M_allocate): NullablePointer requirements do not
2110 include initialization from literal zero, use value-initialization.
2111 * include/bits/vector.tcc (vector::_M_insert_aux,
2112 vector::_M_explace_back_aux): Likewise for assignment.
2113
e364673d
JW
2114 * include/bits/allocator.h (operator==, operator!=): Add exception
2115 specifications.
2116
39e6a690
JW
2117 PR libstdc++/60497
2118 * include/std/tuple (get): Qualify calls to prevent ADL.
2119 * testsuite/20_util/tuple/60497.cc: New.
2120
025eac9b
JW
2121 * include/std/tuple (tuple_element_t): Define.
2122 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
2123 test.
2124 * testsuite/20_util/tuple/tuple_element_t.cc: New.
2125
4de3afd9
MG
21262014-04-11 Marc Glisse <marc.glisse@inria.fr>
2127
2128 PR libstdc++/59434
2129 * include/bits/stl_iterator.h (move_iterator::reference,
2130 move_iterator::operator*): Implement LWG 2106.
2131 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
2132
742f66e7
MG
21332014-04-11 Marc Glisse <marc.glisse@inria.fr>
2134
2135 * include/std/complex (__complex_exp, pow): Specify the template
2136 parameter in calls to std::polar, for expression templates.
2137
9e837b7f
AS
21382014-04-10 Andreas Schwab <schwab@suse.de>
2139
4ada6d58
AS
2140 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
2141 symbols.
2142 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
2143 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
2144
9e837b7f
AS
2145 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
2146
631e3e1b
JW
21472014-04-07 Jonathan Wakely <jwakely@redhat.com>
2148
2149 * testsuite/20_util/exchange/1.cc: Add missing return statements.
2150 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
2151 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
2152 specifications.
2153
33466676
DH
21542014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
2155 Jack Howarth <howarth@bromo.med.uc.edu>
2156
2157 PR target/54407
2158 * testsuite/30_threads/condition_variable/54185.cc: Skip for
2159 darwin < 11.
2160
be35d328
JW
21612014-04-01 Jonathan Wakely <jwakely@redhat.com>
2162
2163 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
2164 Update link.
2165 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
2166 Fix broken links.
2167 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
2168 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
2169 * doc/xml/manual/concurrency_extensions.xml
2170 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
2171 * doc/html/*: Regenerate.
2172
71bdda56
LGB
21732014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
2174 Jonathan Wakely <jwakely@redhat.com>
2175
2176 PR libstdc++/60270
2177 * include/std/iomanip (_Quoted_string operator>>): Do not clear
2178 string if input is not quoted.
2179 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
2180
0812493f
JW
21812014-03-31 Jonathan Wakely <jwakely@redhat.com>
2182
2183 * libsupc++/eh_ptr.cc: Improve static_assert messages.
2184
750dc278
RO
21852014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2186
2187 * testsuite/18_support/exception_ptr/60612-terminate.cc
2188 (terminate, f): Wrap in _GLIBCXX_USE_C99.
2189 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
2190
25d24c42
JW
21912014-03-27 Jonathan Wakely <jwakely@redhat.com>
2192
2193 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
2194
6f8b5e0c
JW
2195 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
2196 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
2197 Likewise.
2198 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
2199 Likewise.
2200 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
2201
b08d3b68
JW
2202 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
2203 Fix bad s/part/chapter/ substitutions.
2204 * doc/xml/manual/io.xml (std.io): Likewise.
2205 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
2206 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
2207
ffcbf03f
JW
2208 * doc/html/*: Regenerate.
2209
3941b260
JW
22102014-03-27 Jonathan Wakely <jwakely@redhat.com>
2211
2212 PR libstdc++/60612
2213 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
2214 compatible with __cxa_exception.
2215 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
2216 Fix typos in comments.
2217 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
2218 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
2219
5ec16257
JW
22202014-03-25 Jonathan Wakely <jwakely@redhat.com>
2221
2222 PR libstdc++/60658
2223 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
2224 Use sizeof pointer type not the element type.
2225 * testsuite/29_atomics/atomic/60658.cc: New.
2226
6f6c00f3
JJ
22272014-03-24 Jakub Jelinek <jakub@redhat.com>
2228
2229 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
2230 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2231 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2232 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2233 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2234 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2235 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2236 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2237 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
2238 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
2239 entries.
2240
76627edd
JDA
22412014-03-23 John David Anglin <danglin@gcc.gnu.org>
2242
2243 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
2244
f7279c1a
FD
22452014-03-23 François Dumont <fdumont@gcc.gnu.org>
2246
2247 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
2248 to delegated constructor.
2249 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
2250 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
2251 Likewise.
2252 (_Hashtable(
2253 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
2254
d570d678
JDA
22552014-03-23 John David Anglin <danglin@gcc.gnu.org>
2256
2257 PR libstdc++/60623
2258 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2259
72d1f255
JW
22602014-03-21 Jonathan Wakely <jwakely@redhat.com>
2261
2262 PR libstdc++/60587
2263 * include/debug/functions.h (_Is_contiguous_sequence): Define.
2264 (__foreign_iterator): Accept additional iterator. Do not dispatch on
2265 iterator category.
2266 (__foreign_iterator_aux2): Likewise. Add overload for iterators
2267 from different types of debug container. Use _Is_contiguous_sequence
2268 instead of is_lvalue_reference.
2269 (__foreign_iterator_aux3): Accept additional iterator. Avoid
2270 dereferencing past-the-end iterator.
2271 (__foreign_iterator_aux4): Use const value_type* instead of
2272 potentially user-defined const_pointer type.
2273 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
2274 and pass end iterator to __gnu_debug::__foreign_iterator.
2275 (__glibcxx_check_insert_range_after): Likewise.
2276 (__glibcxx_check_max_load_factor): Fix comment.
2277 * include/debug/vector (_Is_contiguous_sequence): Define partial
2278 specializations.
2279 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
2280 -std=gnu++11 option and unused header.
2281 * testsuite/23_containers/vector/debug/60587.cc: New.
2282 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
2283
e70c4c41
UW
22842014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2285
2286 * crossconfig.m4: Support spu-*-elf* targets.
2287 * configure: Regenerate.
2288
f7e68d08
JW
22892014-03-18 Jonathan Wakely <jwakely@redhat.com>
2290
2291 PR libstdc++/60564
2292 * include/std/future (__future_base::_Task_state<>): Change
2293 constructors to template functions using perfect forwarding.
2294 (__create_task_state): Use decayed type as stored task.
2295 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
2296 * testsuite/30_threads/packaged_task/60564.cc: New.
2297
86faf710
FD
22982014-03-16 François Dumont <fdumont@gcc.gnu.org>
2299
2300 * scripts/create_testsuite_files: Add testsuite/experimental in
2301 the list of folders to search for tests.
2302
dcf39d82
AS
23032014-03-15 Andreas Schwab <schwab@linux-m68k.org>
2304
2305 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
2306
ee54a3b3
TS
23072014-03-15 Tim Shen <timshen91@gmail.com>
2308
2309 * include/bits/regex.h: Add/modify comments.
2310 * include/bits/regex_compiler.h: Likewise.
2311 * include/bits/regex_executor.h: Likewise.
2312 * include/bits/regex_executor.tcc: Likewise.
2313 * include/bits/regex_scanner.h: Likewise.
2314
b1520f3d
JW
23152014-03-14 Jonathan Wakely <jwakely@redhat.com>
2316
2317 PR ipa/58721
2318 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
2319 _ZNSt12system_errorC* symbols which are not exported on any target.
2320
90021b55
RM
23212014-03-12 Roland McGrath <mcgrathr@google.com>
2322 Mark Seaborn <mseaborn@google.com>
2323
2324 PR libstdc++/59392
2325 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
2326 the address of a null pointer, not with a null pointer to pointer.
2327 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
2328 * testsuite/18_support/bad_exception/59392.cc: New file.
2329
06dce007
JW
23302014-03-11 Jonathan Wakely <jwakely@redhat.com>
2331
2332 PR libstdc++/60499
2333 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
2334 Uglify name.
2335 * include/debug/map (map::operator=(map&&)): Likewise.
2336 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
2337 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
2338 * include/debug/set (set::operator=(set&&)): Likewise.
2339 * include/debug/unordered_map
2340 (unordered_map::operator=(unordered_map&&)): Likewise.
2341 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
2342 * include/debug/unordered_set
2343 (unordered_set::operator=(unordered_set&&)): Likewise.
2344 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
2345 * include/debug/vector (vector::operator=(vector&&)): Likewise.
2346 * testsuite/23_containers/forward_list/debug/60499.cc: New
2347 * testsuite/23_containers/map/debug/60499.cc: New
2348 * testsuite/23_containers/multimap/debug/60499.cc: New
2349 * testsuite/23_containers/multiset/debug/60499.cc: New
2350 * testsuite/23_containers/set/debug/60499.cc: New
2351 * testsuite/23_containers/unordered_map/debug/60499.cc: New
2352 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
2353 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
2354 * testsuite/23_containers/unordered_set/debug/60499.cc: New
2355 * testsuite/23_containers/vector/debug/60499.cc: New
2356
700bf0d3
ESR
23572014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
2358
2359 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
2360 for filesystem and fundamentals TS work items.
2361
064fd5a8
PC
23622014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
2363
2364 PR c++/60376
2365 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
2366 Adjust dg-error directives.
2367
91bb5cd9
TS
23682014-02-26 Tim Shen <timshen91@gmail.com>
2369
2370 * include/bits/regex.tcc (match_results<>::format,
2371 regex_replace<>): Update __out after calling std::copy.
2372 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
2373 Add testcase.
2374 * testsuite/28_regex/match_results/format.cc: Likewise.
2375
6aba6941
MG
23762014-02-22 Marc Glisse <marc.glisse@inria.fr>
2377
2378 PR libstdc++/60308
2379 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
2380 allocator_type&)): Remove redundant call to _M_initialize_map.
2381 (deque::deque(const allocator_type&)): Initialize _Base with a
2382 constructor that calls _M_initialize_map.
2383
2384 Partial revert:
2385
2386 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
2387 PR libstdc++/58338
2388 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
2389 _M_initialize_map.
2390
94ff3384
ESR
23912014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
2392
2393 Rename testsuite directory shared_mutex to shared_timed_mutex
2394 for consistency.
2395 * testsuite/30_threads/shared_mutex: Moved to...
2396 * testsuite/30_threads/shared_timed_mutex: ...here
2397
4bbfc5fa
ESR
23982014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
2399
2400 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
2401 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
2402 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
2403 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
2404 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
2405 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
2406 * testsuite/30_threads/shared_lock/requirements/
2407 explicit_instantiation.cc: Ditto.
2408 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
2409 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
2410 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
2411 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
2412 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
2413 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
2414 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
2415 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
2416 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
2417 * testsuite/30_threads/shared_mutex/requirements/
2418 standard_layout.cc: Ditto.
2419 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
2420 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
2421 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
2422 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
2423 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
2424
53a6d1ce
RO
24252014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2426
2427 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
2428 execution on i?86-*-solaris2.9, remove comment.
2429 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2430
5a47e4c5
RS
24312014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
2432
2433 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
2434 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
2435 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
2436
85c13695 24372014-01-29 Jonathan Wakely <jwakely@redhat.com>
20067423
JW
2438
2439 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
2440 not use varargs when argument could be non-POD.
2441 (__alloctr_rebind_helper): Eliminate static const bool member by
2442 using true_type and false_type.
2443 (allocator_traits::__allocate_helper): Likewise.
2444 (allocator_traits::__construct_helper): Likewise.
2445 (allocator_traits::__destroy_helper): Likewise.
2446 (allocator_traits::__maxsize_helper): Likewise.
2447 (allocator_traits::__select_helper): Likewise.
2448 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
2449 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
2450 Remove redundant condition.
2451 * include/bits/stl_vector.h (vector::operator=(const vector&)):
2452 Likewise.
2453 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
2454 indirection through __alloc_traits.
2455 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
2456 Eliminate static const bool members by using true_type and false_type.
2457 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
2458 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
2459 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
2460 New.
2461 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
2462
8a972abd
JW
2463 PR libstdc++/59829
2464 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
2465 (vector::_M_data_ptr): New overloaded functions to ensure empty
2466 vectors do not dereference the pointer.
2467 * testsuite/23_containers/vector/59829.cc: New.
2468 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2469 Adjust dg-error line number.
2470 * testsuite/23_containers/vector/requirements/dr438/
2471 constructor_1_neg.cc: Likewise.
2472 * testsuite/23_containers/vector/requirements/dr438/
2473 constructor_2_neg.cc: Likewise.
2474 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2475 Likewise.
2476
d530142d
JW
2477 PR libstdc++/21609
2478 * include/ext/array_allocator.h: Add deprecated attribute.
2479
1492a408
JW
2480 PR libstdc++/57226
2481 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
2482 installation and use of python printers.
2483 * doc/xml/manual/status_cxx2011.xml: Update.
2484 * doc/html/*: Regenerate.
2485
156b60e0
JW
24862014-01-28 Jonathan Wakely <jwakely@redhat.com>
2487 Kyle Lippincott <spectral@google.com>
2488
2489 PR libstdc++/59656
2490 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
2491 constructor and grant friendship to weak_ptr.
2492 (weak_ptr::lock()): Use new constructor.
2493 * include/bits/shared_ptr_base.h
2494 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
2495 and define specializations.
2496 (__shared_count): Add new non-throwing constructor.
2497 (__shared_ptr): Add new non-throwing constructor and grant friendship
2498 to __weak_ptr.
2499 (__weak_ptr::lock()): Use new constructor.
2500 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
2501 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2502
fb1ca954
JW
25032014-01-27 Jonathan Wakely <jwakely@redhat.com>
2504
2505 PR libstdc++/59215
2506 * include/bits/shared_ptr_base.h
2507 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
2508 load.
2509
ccc2e73c
JM
25102014-01-27 Jason Merrill <jason@redhat.com>
2511
2512 Core DR 475
2513 PR c++/41174
2514 PR c++/59224
2515 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
2516 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
2517 (__cxa_allocate_exception): Don't set it here.
2518
4d0bb770
JW
25192014-01-26 Jonathan Wakely <jwakely@redhat.com>
2520
2521 * include/bits/stl_map.h: Remove anachronistic comment.
2522 * include/bits/stl_multimap.h: Add whitespace.
2523 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
2524 -std=gnu++11 instead of -std=c++11.
2525 * testsuite/23_containers/map/operators/2.cc: Likewise.
2526 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
2527 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
2528 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
2529
2720e16b
JW
2530 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
2531 * configure: Regenerate.
2532
bb393514
ESR
25332014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2534
2535 PR libstdc++/59531
2536 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
2537 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
2538
25392014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2540 Peter A. Bigot <pab@pabigot.com>
2541
2542 PR libstdc++/59531
2543 * include/experimental/string_view
2544 (copy(_CharT*, size_type, size_type) const): Correct throw string.
2545 Correct copy start location.
2546
25472014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2548 Peter A. Bigot <pab@pabigot.com>
2549
2550 PR libstdc++/59530
2551 * include/experimental/string_view (operator[](size_type) const):
2552 Fix one-off index error in debug check.
2553 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
2554 test basic_string_view at size().
2555 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
2556
25572014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2558 Peter A. Bigot <pab@pabigot.com>
2559
2560 PR libstdc++/59529
2561 * include/experimental/string_view
2562 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
2563 * testsuite/experimental/string_view/operations/substr/char/1.cc:
2564 Comment out catch of out_of_range; No terminating null
2565 in basic_string_view. Check begin == end.
2566 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
2567 Ditto.
2568
f7491277
JW
25692014-01-24 Jonathan Wakely <jwakely@redhat.com>
2570
2571 PR libstdc++/59548
2572 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
2573 constructor to prevent it being implicitly defined as deleted, but
2574 do not copy anything.
2575 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
2576 Define copy and move constructors similar to _Safe_sequence_base's.
2577 * testsuite/23_containers/unordered_map/59548.cc: New.
2578
7370b9df
BRF
25792014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2580 Steve Ellcey <sellcey@mips.com>
2581
2582 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
2583 function.
2584 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
2585 * (configure, config.h.in): Regenerate.
2586 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
2587
1f0affce
JW
25882014-01-23 Jonathan Wakely <jwakely@redhat.com>
2589
2590 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
2591 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
2592
6a5839c8
JW
2593 PR libstdc++/59872
2594 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
2595 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
2596 Likewise.
2597 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
2598 Likewise.
2599 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
2600 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
2601 functions to perform moving or copying of elements from rvalue tree.
2602 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
2603 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
2604 * testsuite/23_containers/map/59872.cc: New.
2605 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
2606
af0e0fa0
JW
26072014-01-22 Jonathan Wakely <jwakely@redhat.com>
2608
2609 * include/bits/stl_deque.h (_Deque_impl): Move comment.
2610
c3cdd71f
JW
2611 PR libstdc++/58764
2612 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
2613 Split into separate default constructor and constructor taking
2614 allocator.
2615 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
2616 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
2617 Likewise.
2618 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
2619 * include/debug/list (list::list(const _Allocator&)): Likewise.
2620 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
2621 Likewise.
2622 * include/debug/multimap.h
2623 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2624 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
2625 Likewise.
2626 * include/debug/multiset.h
2627 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2628 * include/debug/vector (vector::vector(const allocator_type&)):
2629 Likewise.
2630 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
2631 * include/profile/list (list::list(const _Allocator&)): Likewise.
2632 * include/profile/map.h
2633 (map::map(const _Compare&, const _Allocator&)): Likewise.
2634 * include/profile/multimap.h
2635 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2636 * include/profile/set.h
2637 (set::set(const _Compare&, const _Allocator&)): Likewise.
2638 * include/profile/multiset.h
2639 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2640 * include/profile/vector (vector::vector(const _Allocator&)):
2641 Likewise.
2642 * testsuite/23_containers/deque/58764.cc: New.
2643 * testsuite/23_containers/list/58764.cc: New.
2644 * testsuite/23_containers/map/58764.cc: New.
2645 * testsuite/23_containers/multimap/58764.cc: New.
2646 * testsuite/23_containers/set/58764.cc: New.
2647 * testsuite/23_containers/multiset/58764.cc: New.
2648 * testsuite/23_containers/vector/58764.cc: New.
2649 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2650 Adjust dg-error line number.
2651 * testsuite/23_containers/deque/requirements/dr438/
2652 constructor_1_neg.cc: Likewise.
2653 * testsuite/23_containers/deque/requirements/dr438/
2654 constructor_2_neg.cc: Likewise.
2655 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2656 Likewise.
2657 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2658 Likewise.
2659 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2660 Likewise.
2661 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2662 Likewise.
2663 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2664 Likewise.
2665 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2666 Likewise.
2667 * testsuite/23_containers/vector/requirements/dr438/
d9dcda6f
JW
2668 constructor_1_neg.cc: Likewise.
2669 * testsuite/23_containers/vector/requirements/dr438/
2670 constructor_2_neg.cc: Likewise.
2671 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2672 Likewise.
2673
2674 PR libstdc++/58764 (again)
2675 * include/bits/stl_list.h (list): Make default constructor's exception
2676 specification conditional.
2677 * include/bits/stl_vector.h (vector): Likewise.
2678 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
2679 to default constructor.
2680 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2681 Adjust dg-error line number.
2682 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2683 Likewise.
2684 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2685 Likewise.
2686 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2687 Likewise.
2688 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2689 Likewise.
2690 * testsuite/23_containers/vector/requirements/dr438/
c3cdd71f
JW
2691 constructor_1_neg.cc: Likewise.
2692 * testsuite/23_containers/vector/requirements/dr438/
2693 constructor_2_neg.cc: Likewise.
2694 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2695 Likewise.
2696
8f7082f5
TS
26972014-01-21 Tim Shen <timshen91@gmail.com>
2698
2699 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
2700 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
2701 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
2702
6ff956e3
JW
27032014-01-21 Jonathan Wakely <jwakely@redhat.com>
2704
2705 PR libstdc++/56267
2706 * include/bits/hashtable.h (__cache_default): Do not depend on
2707 whether the hash function is DefaultConstructible or CopyAssignable.
2708 (_Hashtable): Adjust static assertions.
2709 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
2710 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2711 dg-error line number.
2712 * testsuite/23_containers/unordered_set/
2713 not_default_constructible_hash_neg.cc: Remove.
2714
9d0bb2ea
FD
27152014-01-20 François Dumont <fdumont@gcc.gnu.org>
2716
2717 * scripts/create_testsuite_files: Add testsuite/experimental in
2718 the list of folders to search for tests.
2719 * include/experimental/string_view
2720 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
2721 incompatible with constexpr qualifier.
2722 (basic_string_view<>::front()): Likewise.
2723 (basic_string_view<>::back()): Likewise.
2724 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
2725 Merge dg-options directives into one.
2726 * testsuite/experimental/string_view/element_access/char/2.cc:
2727 Likewise. Remove invalid experimental namespace scope on
2728 string_view_type.
2729
92e16228
JW
27302014-01-20 Jonathan Wakely <jwakely@redhat.com>
2731
2732 PR libstdc++/56267
2733 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
2734 friendship to _Local_iterator_base<..., false>.
2735 (_Local_iterator_base): Give protected access to all existing members.
2736 (_Local_iterator_base::_M_curr()): New public accessor.
2737 (_Local_iterator_base::_M_get_bucket()): New public accessor.
2738 (_Local_iterator_base<..., false>::_M_init()): New function to manage
2739 the lifetime of the _Hash_code_base explicitly.
2740 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
2741 (_Local_iterator_base<..., false>): Define copy constructor and copy
2742 assignment operator that use new functions to manage _Hash_code_base.
2743 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
2744 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
2745 Use public API for _Local_iterator_base.
2746 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
2747 * include/debug/unordered_map (__debug::unordered_map::erase(),
2748 __debug::unordered_multimap::erase()): Likewise.
2749 * include/debug/unordered_set (__debug::unordered_set::erase(),
2750 __debug::unordered_multiset::erase()): Likewise.
2751 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
2752
053eb1f3
TS
27532014-01-19 Tim Shen <timshen91@gmail.com>
2754
2755 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
2756 Fix parse error of multiple consecutive quantifiers like "a**".
2757 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
2758 Likewise.
2759 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
2760
1217ee06
FD
27612014-01-17 François Dumont <fdumont@gcc.gnu.org>
2762
2763 * include/profile/set.h (set): Implement C++11 allocator-aware
2764 container requirements.
2765 * include/profile/map.h (map): Likewise.
2766 * include/profile/multiset.h (multiset): Likewise.
2767 * include/profile/multimap.h (multimap): Likewise.
2768 * include/profile/set.h
2769 (set::operator=(const set&)): Define as default in C++11 mode.
2770 (set::operator=(set&&)): Likewise.
2771 * include/profile/map.h
2772 (map::operator=(const map&)): Likewise.
2773 (map::operator=(map&&)): Likewise.
2774 * include/profile/multiset.h
2775 (multiset::operator=(const multiset&)): Likewise.
2776 (multiset::operator=(multiset&&)): Likewise.
2777 * include/profile/multimap.h
2778 (multimap::operator=(const multimap&)): Likewise.
2779 (multimap::operator=(multimap&&)): Likewise.
2780 * include/profile/set.h (set::operator=(std::initializer_list<>)):
2781 Rely on the same operator from normal mode.
2782 * include/profile/map.h (map::operator=(std::initializer_list<>)):
2783 Likewise.
2784 * include/profile/multiset.h
2785 (multiset::operator=(std::initializer_list<>)): Likewise.
2786 * include/profile/multimap.h
2787 (multimap::operator=(std::initializer_list<>)): Likewise.
2788 * include/profile/set.h (set::swap(set&)): Add noexcept
2789 specification.
2790 * include/profile/map.h (map::swap(map&)): Likewise.
2791 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
2792 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
2793
ddf41e9d
TS
27942014-01-17 Tim Shen <timshen91@gmail.com>
2795
2796 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
2797 use std::map.
2798 * include/bits/regex_automaton.h: Do not use std::set.
2799 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
2800 _BracketMatcher<>::_M_add_collating_element(),
2801 _BracketMatcher<>::_M_add_equivalence_class(),
2802 _BracketMatcher<>::_M_make_range()): Likewise.
2803 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
2804 Likewise.
2805 * include/bits/regex_executor.h: Do not use std::queue.
2806 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
2807 _Executor<>::_M_dfs()): Likewise.
2808 * include/std/regex: Remove <map>, <set> and <queue>.
2809
28102014-01-17 Tim Shen <timshen91@gmail.com>
2811
2812 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
2813 basic_regex<>::assign()): Change __compile_nfa to accept
2814 const _CharT* only.
2815 * include/bits/regex_compiler.h: Change _Compiler's template
2816 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
2817 * include/bits/regex_compiler.tcc: Likewise.
2818
28192014-01-17 Tim Shen <timshen91@gmail.com>
2820
2821 * include/bits/regex_compiler.h: Change _ScannerT into char-type
2822 templated.
2823 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
2824 _ScannerBase from _Scanner; Change _Scanner's template argument from
2825 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
2826 instead.
2827 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
2828 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
2829 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
2830 Likewise.
2831 * include/std/regex: Add <cstring> for using strchr.
2832
28332014-01-17 Tim Shen <timshen91@gmail.com>
2834
2835 * bits/regex_automaton.tcc: Indentation fix.
2836 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
2837 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
2838 _BracketMatcher<>): Add bool option template parameters and
2839 specializations to make matching more efficient and space saving.
2840 * bits/regex_compiler.tcc: Likewise.
2841
1bb59e05
FD
28422014-01-15 François Dumont <fdumont@gcc.gnu.org>
2843
9b7dc56e 2844 PR libstdc++/59712
1bb59e05
FD
2845 * include/bits/hashtable_policy.h: Fix some long lines.
2846 * include/bits/hashtable.h (__hash_code_base_access): Define and
2847 use it to check its _M_bucket_index noexcept qualification. Use
2848 also in place of...
2849 (__access_protected_ctor): ...this.
2850 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2851 Adapt line number.
2852 * testsuite/23_containers/unordered_set/
2853 not_default_constructible_hash_neg.cc: Likewise.
2854
51835a80
FD
28552014-01-13 François Dumont <fdumont@gcc.gnu.org>
2856
2857 * include/debug/set.h (set): Implement C++11 allocator-aware
2858 container requirements.
2859 * include/debug/map.h (map): Likewise.
2860 * include/debug/multiset.h (multiset): Likewise.
2861 * include/debug/multimap.h (multimap): Likewise.
2862 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
2863 fix implementation regarding management of safe iterators.
2864 * include/debug/map.h (map::operator=(map&&)): Likewise.
2865 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
2866 * include/debug/multimap.h (multimap::operator=(multimap&&)):
2867 Likewise.
2868 * include/debug/set.h (set::operator=(std::initializer_list<>)):
2869 Rely on the same operator from normal mode.
2870 * include/debug/map.h (map::operator=(std::initializer_list<>)):
2871 Likewise.
2872 * include/debug/multiset.h
2873 (multiset::operator=(std::initializer_list<>)): Likewise.
2874 * include/debug/multimap.h
2875 (multimap::operator=(std::initializer_list<>)): Likewise.
2876 * include/debug/set.h (set::swap(set&)): Add noexcept
2877 specification, add allocator equality check.
2878 * include/debug/map.h (map::swap(map&)): Likewise.
2879 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
2880 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
2881
92bf1382
JW
28822014-01-10 Jonathan Wakely <jwakely@redhat.com>
2883
2884 PR libstdc++/59698
2885 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2886 and stylistic improvements.
2887 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2888 and update for C++11.
2889 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2890
b1fb52ca
JW
2891 PR libstdc++/59687
2892 * doc/xml/manual/backwards_compatibility.xml
2893 (backwards.third.nocreate_noreplace): Correct and expand.
2894
48c7451e
JW
2895 PR libstdc++/59699
2896 * doc/xml/manual/support.xml (std.support.types.null): Update links.
2897
f0bc4aea
JW
28982014-01-09 Jonathan Wakely <jwakely@redhat.com>
2899
2900 PR libstdc++/59738
2901 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2902 support for non-Movable types.
2903
4bc0ec32
JW
2904 PR libstdc++/59680
2905 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2906
ace295af
FD
29072014-01-08 François Dumont <fdumont@gcc.gnu.org>
2908
2909 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2910 *this allocator instance when building temporary vector instance
2911 so that *this allocator does not get moved.
2912 * include/debug/safe_base.h
2913 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2914 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2915 move constructor from _Safe_sequence_base.
2916 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2917 safe iterators if the instance is moved.
2918 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2919 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2920 check on a vector iterator.
2921 * testsuite/23_containers/vector/allocator/move_assign.cc
2922 (test02): Likewise.
2923 (test03): New, test with a non-propagating allocator.
2924 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2925
f43cc2a6
TS
29262014-01-07 Tim Shen <timshen91@gmail.com>
2927
2928 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2929 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2930 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2931 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2932 _BracketMatcher<>::_M_add_char(),
2933 _BracketMatcher<>::_M_add_collating_element(),
2934 _BracketMatcher<>::_M_add_equivalence_class(),
2935 _BracketMatcher<>::_M_add_character_class(),
2936 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2937 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2938 Fix _AnyMatcher behavior of POSIX style and move _M_flags
2939 to template parameter; Add cache for _BracketMatcher. Adjust
2940 declarations from here...
2941 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2942 imbuing a regex will trigger a recompilation to rebuild the cache.
2943 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2944 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2945 different template bool parameters.
2946 * include/bits/regex_executor.h: Remove unnecessary declarations.
2947 * include/std/regex: Adjust including orders.
2948 * testsuite/28_regex/traits/char/user_defined.cc: New.
2949 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2950
14c12d0d
RO
29512014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2952
2953 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2954 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2955 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2956 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2957 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2958
aa118a03
RS
29592014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2960
2961 Update copyright years
2962
f9030485
RS
29632014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2964
2965 * testsuite/18_support/new_handler.cc,
2966 testsuite/18_support/terminate_handler.cc,
2967 testsuite/18_support/unexpected_handler.cc: Use the standard form for
2968 the copyright notice.
86a2db33 2969\f
94c13a09 2970Copyright (C) 2014 Free Software Foundation, Inc.
3cc6dd4d 2971
86a2db33
JJ
2972Copying and distribution of this file, with or without modification,
2973are permitted in any medium without royalty provided the copyright
2974notice and this notice are preserved.