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