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