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