1 2013-08-06 François Dumont <fdumont@gcc.gnu.org>
3 * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
4 (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
6 (_Before_begin<>): Remove.
7 * include/bits/hashtable.h (_Hashtable): Inherit from
8 _Hashtable_alloc and adapt. Restore _M_before_begin field.
9 * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
10 access to hashtable before begin.
11 * testsuite/23_containers/unordered_set/
12 not_default_constructible_hash_neg.cc: Adapt dg-error line number.
13 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
16 2013-08-03 Tim Shen <timshen91@gmail.com>
18 Implement bracket expression.
19 * include/bits/regex.h: Remove constexpr from "|=", etc.
20 * include/bits/regex_compiler.h: Parse bracket expression.
21 * include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old
23 * include/bits/regex_nfa.tcc: Implement them.
24 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
25 from regex_search to regex_match.
26 * testsuite/28_regex/algorithms/regex_match/extended/
27 cstring_bracket_01.cc: New.
29 2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
31 * include/debug/functions.h (__foreign_iterator_aux4):
32 Initialize __l and __ge.
34 2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
37 * include/debug/functions.h: Include <bits/move.h>; minor formatting
39 (__foreign_iterator_aux4): Declare __l and __ge constexpr.
40 * include/debug/safe_iterator.h (_Safe_iterator<>::operator->):
42 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
43 operator->): Likewise.
45 2013-08-01 François Dumont <fdumont@gcc.gnu.org>
48 * include/debug/formatter.h (_Debug_msg_id): Add
49 __msg_insert_itself_range entry.
50 * include/debug/functions.h (_Insert_range_from_self_is_safe<>):
51 New, indicate container types supporting self range insertion in
53 (__foreign_iterator): New, check if an iterator points to a given
55 * include/debug/macros.h (__glibcxx_check_insert_range): Add check
56 using __foreign_iterator.
57 (__gibcxx_check_insert_range_after): Likewise.
58 * include/debug/string (_Insert_range_from_self_is_safe<>):
59 Partially specialized to mark __gnu_debug::basic_string<> as
60 supporting self range insert.
61 * include/debug/list (_Insert_range_from_self_is_safe<>):
62 Partially specialized to mark std::list as supporting self range
63 insert if _GLIBCXX_DEBUG_PEDANTIC is not defined.
64 * include/debug/forward_list (_Insert_range_from_self_is_safe<>):
66 * src/c++11/debug.cc (_S_debug_messages): Add
67 __msg_insert_itself_range_entry message.
68 (_Error_formatter::_Parameter::_M_print_description): Display
69 iterator sequence address rather than sequence address when the
70 parameter type is an iterator.
71 (_Error_formatter::_M_print_word): Enhance behavior when
72 displaying a word with an appended '\n'.
73 * testsuite/util/debug/checks.h (check_insert4<>): New.
74 * testsuite/23_containers/deque/debug/insert5_neg.cc: New.
75 * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
76 * testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise.
77 * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
78 * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
79 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
82 2013-08-01 Fabien Chêne <fabien@gcc.gnu.org>
85 * include/tr1/cmath: Remove pow(double,double) overload, remove a
86 duplicated comment about DR 550. Add a comment to explain the
88 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New.
90 2013-07-31 Tim Shen <timshen91@gmail.com>
92 Thompson matcher refactored. Fix grouping problem.
93 * include/bits/regex.h: Use a dispatcher _M_get_matcher().
94 * include/bits/regex_compiler.h: Tweak for auto switching.
95 * include/bits/regex_grep_matcher.h: Class structure.
96 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
98 * include/bits/regex_nfa.h: Change _Results's interfaces.
99 * include/std/regex: Includes <map> and <queue>.
100 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
102 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
104 * testsuite/28_regex/algorithms/regex_match/extended/
105 string_dispatch_01.cc: New.
107 2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
110 * include/bits/stl_bvector.h: Use friend struct hash intead of
111 friend class hash to work around useless warnings produced by
113 * include/std/bitset: Likewise.
115 2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
117 * src/c++11/functexcept.cc: Do not include the whole <regex>.
118 * src/c++11/regex.cc: Likewise.
120 2013-07-31 Tim Shen <timshen91@gmail.com>
124 2013-07-31 Tim Shen <timshen91@gmail.com>
126 Thompson matcher refactored. Fix grouping problem.
127 * include/bits/regex.h: Use a dispatcher _M_get_matcher().
128 * include/bits/regex_compiler.h: Tweak for auto switching.
129 * include/bits/regex_grep_matcher.h: Class structure.
130 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
131 matcher) refactoring.
132 * include/bits/regex_nfa.h: Change _Results's interfaces.
133 * include/std/regex: Includes <map> and <queue>.
134 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
136 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
138 * testsuite/28_regex/algorithms/regex_match/extended/
139 string_dispatch_01.cc: New.
141 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
145 2013-07-30 Tim Shen <timshen91@gmail.com>
147 Thompson matcher refactored. Fix grouping problem.
148 * include/bits/regex.h: Use a dispatcher _M_get_matcher().
149 * include/bits/regex_compiler.h: Tweak for auto switching.
150 * include/bits/regex_grep_matcher.h: Class structure.
151 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
152 matcher) refactoring.
153 * include/bits/regex_nfa.h: Change _Results's interfaces.
154 * include/std/regex: Includes <map> and <queue>.
155 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
157 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
159 * testsuite/28_regex/algorithms/regex_match/extended/
160 string_dispatch_01.cc: New.
162 2013-07-29 Nathan Froyd <froydnj@gcc.gnu.org>
164 * include/std/atomic (compare_exchange_weak, compare_exchange_strong):
165 Add call to __cmpexch_failure_order.
166 * testsuite/util/testsuite_common_types.h
167 (compare_exchange_order_lowering): New generator.
168 * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
171 2013-07-25 Paolo Carlini <paolo.carlini@oracle.com>
173 * include/std/complex (pow(const complex<>&, int)): Enable in
175 * testsuite/26_numerics/complex/dr844.cc: Adjust.
176 * doc/xml/manual/intro.xml: Update.
178 2013-07-25 Tim Shen <timshen91@gmail.com>
180 Add documents and comments.
181 * include/bits/regex.h: Documents and comments.
182 * include/bits/regex_grep_matcher.h: Likewise.
183 * include/bits/regex_grep_matcher.tcc: Likewise.
184 * testsuite/28_regex/iterators/regex_iterator/char/
185 string_position_01.cc: New.
187 2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
190 * doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
193 2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
195 * include/bits/random.h (random_device): Avoid using the FILE type.
196 * include/std/random: Do not include <cstdio>.
197 * src/c++11/random.cc: ... include it here.
198 (random_device::_M_init, random_device::_M_fini,
199 random_device::_M_getval): Cast back and forth void* and FILE*.
201 2013-07-24 Tim Shen <timshen91@gmail.com>
203 Reimplment matcher using Depth-first search(backtracking).
206 * include/bits/regex.h: regex_match() and regex_search().
207 * include/bits/regex_cursor.h: Fix _M_set_pos().
208 * include/bits/regex_grep_matcher.h: add _M_dfs_match().
209 * include/bits/regex_grep_matcher.tcc: Implement it.
210 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: New.
211 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: New.
212 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
215 2013-07-23 Tim Shen <timshen91@gmail.com>
217 Implement regex_iterator and regex_token_iterator.
218 * include/bits/regex.h: regex_iterator and regex_token_iterator.
219 * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
221 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
223 * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
225 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
228 2013-07-23 Paolo Carlini <paolo.carlini@oracle.com>
230 * include/std/random: Add back <cstdio> include.
231 * src/c++11/random.cc: Don't include <cstdio> here.
233 2013-07-22 Jason Merrill <jason@redhat.com>
236 * libsupc++/atexit_thread.cc (run): Delete cleanup elts.
238 2013-07-22 Paolo Carlini <paolo.carlini@oracle.com>
241 * src/c++11/random.cc (random_device::_M_getval): If possible, use
242 read instead of std::fread.
243 * include/std/random: Do not include <cstdio> unnecessarily.
245 2013-07-21 Tim Shen <timshen91@gmail.com>
247 Partially implement regex_search.
248 * include/bits/regex.h: regex_search.
249 * include/bits/regex_grep_matcher.h: _M_search_from_first.
250 * include/bits/regex_grep_matcher.tcc: Implement it.
251 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New.
253 2013-07-21 Jonathan Wakely <jwakely.gcc@gmail.com>
256 * include/std/condition_variable (condition_variable_any): Move into
257 inline namespace _V2 and replace mutex member with shared_ptr<mutex>.
258 * src/c++11/condition_variable.cc (condition_variable_any): Move
260 * src/c++11/compatibility-condvar.cc (condition_variable_any): Here.
261 * src/Makefile.am: Add new source file.
262 * src/Makefile.in: Regenerate.
264 2013-07-09 Tim Shen <timshen91@gmail.com>
266 Implement class regex_traits.
267 * include/bits/regex.h: Implement lookup_classname and
268 lookup_collatename; modify isctype; partially implement
270 * testsuite/28_regex/traits/char/isctype.cc: Add more test cases.
271 * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
272 * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
273 * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
274 * testsuite/28_regex/traits/wchar_t/isctype.cc: New.
275 * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New.
276 * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New.
277 * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New.
279 2013-07-07 Ed Smith-Rowland <3dw4rd@verizon.net>
281 * doc/xml/manual/status_cxx2014.xml: Add links for papers.
283 2013-07-05 François Dumont <fdumont@gcc.gnu.org>
285 * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
287 (_MoveReuseOrAllocNode): Remove.
288 (_Insert_base): Take a functor defining how the node is generated.
289 * include/bits/hashtable.h: Adapt.
290 (operator=(initializer_list<value_type>)): Reuse node if any.
291 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
292 Adjust dg-error line number.
293 * testsuite/23_containers/unordered_set/
294 not_default_constructible_hash_neg.cc: Likewise.
296 2013-07-05 Paolo Carlini <paolo.carlini@oracle.com>
298 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
299 Tweak, avoid potential undefined behavior.
300 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
302 * testsuite/23_containers/vector/bool/modifiers/insert/
303 const_iterator.cc: Likewise.
304 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
307 2013-07-04 Veres Lajos <vlajos@gmail.com>
308 Jonathan Wakely <jwakely.gcc@gmail.com>
310 * config/locale/generic/codecvt_members.cc: Fix typo.
311 * configure.host: Likewise.
312 * doc/html/manual/policy_data_structures_design.html: Likewise.
313 * doc/xml/manual/policy_data_structures.xml: Likewise.
314 * include/bits/hashtable.h: Likewise.
315 * include/bits/random.h: Likewise.
316 * include/profile/impl/profiler_trace.h: Likewise.
317 * testsuite/23_containers/deque/cons/2.cc: Likewise.
318 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
319 * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
320 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
322 2013-07-04 Ray Chason <chasonr@newsguy.com>
323 Paolo Carlini <paolo.carlini@oracle.com>
326 * include/bits/regex.h (regex_token_iterator<>::operator==,
327 regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
328 regex_token_iterator<>::operator->): Declare const.
330 2013-07-01 Paolo Carlini <paolo.carlini@oracle.com>
332 * include/bits/stl_list.h (list<>::insert(iterator,
333 size_type, const value_type&), list<>::insert(iterator,
334 initializer_list<>), list<>::insert(iterator, _InputIterator,
335 _InputIterator), list<>::splice(iterator, list&&),
336 list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
337 iterator), list<>::splice(iterator, list&, iterator),
338 list<>::splice(iterator, list&&, iterator, iterator),
339 list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
340 signatures to take const_iterator(s).
341 * include/bits/list.tcc (list<>::insert(const_iterator, size_type,
342 const value_type&), list<>::insert(const_iterator, _InputIterator,
343 _InputIterator)): Define.
344 * include/ext/vstring.h (__versa_string<>::insert(iterator,
345 size_type, _CharT), __versa_string<>::insert(iterator,
346 _InputIterator, _InputIterator), __versa_string<>::insert(iterator,
347 std::initializer_list<>), __versa_string<>::replace(iterator,
348 iterator, _InputIterator, _InputIterator), __versa_string<>::
349 replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
350 signatures to take const_iterator(s).
351 (__versa_string<>::_M_replace_dispatch): Take const_iterators.
352 * include/ext/vstring.tcc: Likewise.
353 * include/debug/list: Adjust.
354 * include/profile/list: Likewise.
355 * testsuite/23_containers/list/operations/splice/const_iterator.cc:
357 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
359 * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
361 * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
363 * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
365 * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
368 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
369 Adjust dg-error line number.
370 * testsuite/23_containers/list/requirements/dr438/
371 constructor_1_neg.cc: Likewise.
372 * testsuite/23_containers/list/requirements/dr438/
373 constructor_2_neg.cc: Likewise.
374 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
377 2013-06-30 Paolo Carlini <paolo.carlini@oracle.com>
379 * include/bits/stl_deque.h (deque<>::insert(iterator,
380 size_type, const value_type&), deque<>::insert(iterator,
381 initializer_list<>), deque<>::insert(iterator, _InputIterator,
382 _InputIterator)): Adjust C++11 signatures to take a const_iterator.
383 * include/bits/stl_vector.h: Likewise.
384 * include/bits/stl_bvector.h: Likewise.
385 * include/debug/deque: Adjust.
386 * include/debug/vector: Likewise.
387 * include/profile/deque: Likewise.
388 * include/profile/vector: Likewise.
389 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
391 * testsuite/23_containers/vector/bool/modifiers/insert/
392 const_iterator.cc: Likewise.
393 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
396 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
397 Adjust dg-error line number.
398 * testsuite/23_containers/deque/requirements/dr438/
399 constructor_1_neg.cc: Likewise.
400 * testsuite/23_containers/deque/requirements/dr438/
401 constructor_2_neg.cc: Likewise.
402 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
404 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
406 * testsuite/23_containers/vector/requirements/dr438/
407 constructor_1_neg.cc: Likewise.
408 * testsuite/23_containers/vector/requirements/dr438/
409 constructor_2_neg.cc: Likewise.
410 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
413 2013-06-29 François Dumont <fdumont@gcc.gnu.org>
415 * include/bits/hashtable_policy.h (_Insert_base): Consider hint in
417 * include/bits/hashtable.h: Likewise.
418 * testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
419 * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
421 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
422 Adjust dg-error line number.
423 * testsuite/23_containers/unordered_set/
424 not_default_constructible_hash_neg.cc: Likewise.
425 * doc/xml/manual/containers.xml: Document hinting in unordered
428 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
430 * testsuite/21_strings/basic_string/operations/*: Move inside
431 testsuite/21_strings/basic_string/operations/data/.
432 * testsuite/21_strings/basic_string/compare/*: Move inside
433 testsuite/21_strings/basic_string/operations/.
434 * testsuite/21_strings/basic_string/find/*: Likewise.
435 * testsuite/21_strings/basic_string/rfind/*: Likewise.
436 * testsuite/21_strings/basic_string/substr/*: Likewise.
438 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
440 * testsuite/21_strings/basic_string/append/*: Move inside
441 testsuite/21_strings/basic_string/modifiers/.
442 * testsuite/21_strings/basic_string/assign/*: Likewise.
443 * testsuite/21_strings/basic_string/insert/*: Likewise.
444 * testsuite/21_strings/basic_string/replace/*: Likewise.
445 * testsuite/21_strings/basic_string/modifiers/pop_back/char/
446 pop_back.cc: Rename to 1.cc.
447 * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
448 pop_back.cc: Likewise.
449 * testsuite/ext/vstring/assign/*: Move inside
450 testsuite/ext/vstring/modifiers/.
452 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
454 * include/bits/stl_deque.h (deque<>::insert(iterator,
455 const value_type&), deque<>::insert(iterator, value_type&&),
456 deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
457 take a const_iterator.
458 (deque<>::erase): Simplify.
459 * include/bits/stl_list.h: Likewise.
460 (_List_iterator<>::_M_const_cast): Add.
461 * include/bits/stl_vector.h: Likewise.
462 * include/bits/stl_bvector.h: Likewise.
463 (_Bit_iterator::_M_const_cast): Add.
464 * include/bits/deque.tcc: Adjust definitions.
465 * include/bits/list.tcc: Likewise.
466 * include/bits/vector.tcc: Likewise.
467 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
468 Define trivial version in C++98 mode.
469 * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
470 __versa_string<>::replace(iterator, iterator, const __versa_string&),
471 __versa_string<>::replace(iterator, iterator, const _CharT*,
472 size_type), __versa_string<>::replace(iterator, iterator,
473 const _CharT*), __versa_string<>::replace(iterator, iterator,
474 size_type, _CharT)): Adjust C++11 signatures to take a pair of
476 * include/debug/deque: Adjust.
477 * include/debug/list: Likewise.
478 * include/debug/vector: Likewise.
479 * include/profile/deque: Likewise.
480 * include/profile/list: Likewise.
481 * include/profile/vector: Likewise.
482 (vector<>::emplace): Add.
483 * testsuite/util/exception/safety.h: Update.
484 * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
486 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
488 * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
490 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
492 * testsuite/23_containers/vector/bool/modifiers/insert/
493 const_iterator.cc: Likewise.
494 * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
496 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
498 * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
500 * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
502 * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
504 * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
507 * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
508 ext/vstring/modifiers/erase/char/.
509 * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
510 ext/vstring/modifiers/wchar_t/.
511 * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
512 ext/vstring/modifiers/pop_back/char/.
513 * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
514 testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
516 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
517 Adjust dg-error line number.
518 * testsuite/23_containers/deque/requirements/dr438/
519 constructor_1_neg.cc: Likewise.
520 * testsuite/23_containers/deque/requirements/dr438/
521 constructor_2_neg.cc: Likewise.
522 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
524 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
526 * testsuite/23_containers/list/requirements/dr438/
527 constructor_1_neg.cc: Likewise.
528 * testsuite/23_containers/list/requirements/dr438/
529 constructor_2_neg.cc: Likewise.
530 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
532 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
534 * testsuite/23_containers/vector/requirements/dr438/
535 constructor_1_neg.cc: Likewise.
536 * testsuite/23_containers/vector/requirements/dr438/
537 constructor_2_neg.cc: Likewise.
538 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
541 2013-06-25 Ed Smith-Rowland <3dw4rd@verizon.net>
543 Status page for C++2014 library features
544 * doc/xml/faq.xml: Add link to new C++14 status page.
545 * doc/xml/manual/intro.xml: Ditto.
546 * doc/xml/manual/status_cxx2014.xml: New.
548 2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
550 * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
551 spurious fails with check-debug.
552 * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
554 * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
555 * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
558 2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
561 * include/bits/char_traits.h (char_traits<char>::lt): Implement
563 * testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
565 2013-06-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
568 * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
569 declare per the letter of the C++ standard in terms of void.
570 * include/c_std/cstdlib: Likewise.
572 2013-06-22 Paolo Carlini <paolo.carlini@oracle.com>
575 * include/bits/random.h (binomial_distribution<>::_M_waiting):
576 Add double parameter.
577 * include/bits/random.tcc (binomial_distribution<>::operator()
578 (_UniformRandomNumberGenerator&, const param_type&)): Pass
579 __param._M_q to _M_waiting.
580 (_M_waiting): Adjust.
581 * testsuite/26_numerics/random/binomial_distribution/
582 operators/values.cc: Add tests.
584 2013-06-21 Paolo Carlini <paolo.carlini@oracle.com>
587 * include/std/valarray (valarray<>::operator=(const _Expr<>&)):
588 Implement correctly C++11 26.6.2.3/1.
589 * testsuite/26_numerics/valarray/dr630-3.C: New.
591 2013-06-18 Jonathan Wakely <jwakely.gcc@gmail.com>
594 * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
595 functionality to new __timed_mutex_impl mixin. Overload try_lock_until
596 to handle conversion between different clocks. Replace constrained
597 __try_lock_for_impl overloads with conditional increment.
598 * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
599 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
601 2013-06-17 Jonathan Wakely <jwakely.gcc@gmail.com>
602 Chris Jefferson <chris@bubblescope.net>
604 * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
605 dispatch to traditional std::equal for random-access iterators.
606 (__equal2_aux, __equal2): Remove.
607 (__equal::equal): Remove unused overloads.
608 * include/bits/stl_algo.h (is_permutation): Fix typos.
610 2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
612 * include/std/shared_mutex (shared_lock::operator=): Add missing
615 2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
618 * include/bits/forward_list.h (_Fwd_list_base): Convert to/from
619 allocator's pointer type.
620 * include/bits/hashtable.h (_Hashtable): Likewise.
621 * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
622 * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
623 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
624 * testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
626 2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
628 * include/std/shared_mutex: Implement N3659.
629 * include/bits/c++14_warning.h: New.
630 * include/Makefile.am: Add new headers.
631 * include/Makefile.in: Regenerate.
632 * testsuite/30_threads/shared_lock/cons/1.cc: New.
633 * testsuite/30_threads/shared_lock/locking/2.cc: New.
634 * testsuite/30_threads/shared_lock/cons/2.cc: New.
635 * testsuite/30_threads/shared_lock/locking/3.cc: New.
636 * testsuite/30_threads/shared_lock/cons/3.cc: New.
637 * testsuite/30_threads/shared_lock/locking/4.cc: New.
638 * testsuite/30_threads/shared_lock/cons/4.cc: New.
639 * testsuite/30_threads/shared_lock/modifiers/1.cc: New.
640 * testsuite/30_threads/shared_lock/cons/5.cc: New.
641 * testsuite/30_threads/shared_lock/modifiers/2.cc: New.
642 * testsuite/30_threads/shared_lock/cons/6.cc: New.
643 * testsuite/30_threads/shared_lock/requirements/
644 explicit_instantiation.cc: New.
645 * testsuite/30_threads/shared_lock/locking/1.cc: New.
646 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
647 * testsuite/30_threads/shared_mutex/cons/1.cc: New.
648 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
649 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
650 * testsuite/30_threads/shared_mutex/requirements/
651 standard_layout.cc: New.
652 * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
653 * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
655 2013-06-15 Paolo Carlini <paolo.carlini@oracle.com>
658 * include/bits/unordered_map.h (unordered_map<>::insert,
659 unordered_multimap<>::insert): Use std::forward, not std::move.
660 * testsuite/23_containers/unordered_map/insert/57619.C: New.
661 * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
663 2013-06-14 Alan Modra <amodra@gmail.com>
665 * configure.host (abi_baseline_pair): Match powerpc64*.
667 2013-06-13 Daniel Krugler <daniel.kruegler@gmail.com>
669 * include/std/type_traits (is_function): Support ref-qualified
671 (is_copy_constructible, is_move_constructible, is_copy_assignable,
672 is_move_assignable, is_nothrow_copy_constructible,
673 is_nothrow_move_constructible, is_nothrow_copy_assignable,
674 is_nothrow_move_assignable): Implement LWG 2196.
675 (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
677 (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
679 * testsuite/20_util/add_lvalue_reference/value.cc: Extend.
680 * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
681 * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
682 * testsuite/20_util/is_assignable/value.cc: Likewise.
683 * testsuite/20_util/is_constructible/value-2.cc: Likewise.
684 * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
685 * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
686 * testsuite/20_util/is_function/value.cc: Likewise.
687 * testsuite/20_util/is_move_assignable/value.cc: Likewise.
688 * testsuite/20_util/is_move_constructible/value.cc: Likewise.
689 * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
690 * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
691 * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
692 * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
694 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
696 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
698 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
701 2013-06-13 Paolo Carlini <paolo.carlini@oracle.com>
703 * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
704 __gnu_cxx::__airy_bi()): Remove.
705 * testsuite/tr1/5_numerical_facilities/special_functions/
706 10_cyl_bessel_k/airy.cc: Fix.
708 2013-06-12 Ed Smith-Rowland <3dw4rd@verizon.net>
711 * include/tr1/modified_bessel_func.tcc (__airy): Remove return
713 (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
714 * testsuite/tr1/5_numerical_facilities/special_functions/
715 10_cyl_bessel_k/airy.cc: New.
717 2013-06-11 Ed Smith-Rowland <3dw4rd@verizon.net>
719 Fix library literals error involving namespace __detail.
720 * include/std/chrono: Rename __detail to __select_type. Reformat.
721 * include/bits/basic_string.h: Reformat.
722 * testsuite/20_util/duration/literals/ns_detail.cc: New.
724 2013-06-11 Paolo Carlini <paolo.carlini@oracle.com>
727 * include/c_global/cstddef (max_align_t): Add to namespace std.
728 * include/c_std/cstddef: Likewise.
729 * testsuite/18_support/max_align_t/requirements/1.cc: New.
730 * testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
732 2013-06-10 Benjamin Kosnik <bkoz@redhat.com>
734 * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
735 * include/bits/stl_map.h (erase): Use abi_tag when C++11.
736 * include/bits/stl_multimap.h: Same.
737 * include/bits/stl_multiset.h: Same.
738 * include/bits/stl_set.h: Same.
739 * include/bits/stl_tree.h: Same.
740 * include/std/complex (real, imag): Use macro for abi_tag.
742 * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
743 * testsuite/util/testsuite_containers.h (erase_external): New
745 (erase_external_iterators): Same.
746 (linkage_check_cxx98_cxx11_erase): Same.
747 (linkage_check_cxx98_cxx11_erase_iterators): Same.
748 * testsuite/util/testsuite_shared.cc: Define.
749 * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
750 * testsuite/23_containers/map/modifiers/erase/
751 dr130-linkage-check.cc: New.
752 * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
753 * testsuite/23_containers/multimap/modifiers/erase/
754 dr130-linkage-check.cc: New.
755 * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
756 * testsuite/23_containers/multiset/modifiers/erase/
757 dr130-linkage-check.cc: New.
758 * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
759 * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
761 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
763 * testsuite/23_containers/map/dr130.cc: Move...
764 * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
765 * testsuite/23_containers/multimap/dr130.cc: Move ...
766 * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
767 * testsuite/23_containers/multiset/dr130.cc: Move...
768 * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
769 * testsuite/23_containers/set/dr130.cc: Move...
770 * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
772 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
774 * testsuite/17_intro/headers/c++1998/49745.cc: Extend current
775 handling of Linux-based x86 systems to cover all GNU systems.
776 * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
777 * testsuite/18_support/pthread_guard.cc: Likewise.
778 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
780 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
782 * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
783 * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
784 * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
785 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
786 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
787 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
788 * testsuite/23_containers/list/pthread1.cc: Likewise.
789 * testsuite/23_containers/list/pthread5.cc: Likewise.
790 * testsuite/23_containers/map/pthread6.cc: Likewise.
791 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
793 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
795 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
796 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
797 * testsuite/30_threads/async/42819.cc: Likewise.
798 * testsuite/30_threads/async/49668.cc: Likewise.
799 * testsuite/30_threads/async/54297.cc: Likewise.
800 * testsuite/30_threads/async/any.cc: Likewise.
801 * testsuite/30_threads/async/async.cc: Likewise.
802 * testsuite/30_threads/async/launch.cc: Likewise.
803 * testsuite/30_threads/async/sync.cc: Likewise.
804 * testsuite/30_threads/call_once/39909.cc: Likewise.
805 * testsuite/30_threads/call_once/49668.cc: Likewise.
806 * testsuite/30_threads/call_once/call_once1.cc: Likewise.
807 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
808 * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
809 * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
810 * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
811 * testsuite/30_threads/condition_variable/members/53841.cc:
813 * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
815 * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
816 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
817 * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
818 * testsuite/30_threads/condition_variable_any/members/1.cc:
820 * testsuite/30_threads/condition_variable_any/members/2.cc:
822 * testsuite/30_threads/future/cons/move.cc: Likewise.
823 * testsuite/30_threads/future/members/45133.cc: Likewise.
824 * testsuite/30_threads/future/members/get.cc: Likewise.
825 * testsuite/30_threads/future/members/get2.cc: Likewise.
826 * testsuite/30_threads/future/members/share.cc: Likewise.
827 * testsuite/30_threads/future/members/valid.cc: Likewise.
828 * testsuite/30_threads/future/members/wait.cc: Likewise.
829 * testsuite/30_threads/future/members/wait_for.cc: Likewise.
830 * testsuite/30_threads/future/members/wait_until.cc: Likewise.
831 * testsuite/30_threads/lock/1.cc: Likewise.
832 * testsuite/30_threads/lock/2.cc: Likewise.
833 * testsuite/30_threads/lock/3.cc: Likewise.
834 * testsuite/30_threads/lock/4.cc: Likewise.
835 * testsuite/30_threads/mutex/cons/1.cc: Likewise.
836 * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
837 * testsuite/30_threads/mutex/lock/1.cc: Likewise.
838 * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
839 * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
840 * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
841 * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
842 * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
843 * testsuite/30_threads/packaged_task/49668.cc: Likewise.
844 * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
845 * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
846 * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
847 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
848 * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
849 * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
850 * testsuite/30_threads/packaged_task/cons/move_assign.cc:
852 * testsuite/30_threads/packaged_task/members/get_future.cc:
854 * testsuite/30_threads/packaged_task/members/get_future2.cc:
856 * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
857 * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
858 * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
859 * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
860 * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
861 * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
862 * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
863 * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
864 * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
865 * testsuite/30_threads/promise/cons/1.cc: Likewise.
866 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
867 * testsuite/30_threads/promise/cons/move.cc: Likewise.
868 * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
869 * testsuite/30_threads/promise/members/get_future.cc: Likewise.
870 * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
871 * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
872 * testsuite/30_threads/promise/members/set_exception2.cc:
874 * testsuite/30_threads/promise/members/set_value.cc: Likewise.
875 * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
876 * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
877 * testsuite/30_threads/promise/members/swap.cc: Likewise.
878 * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
879 * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
881 * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
882 * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
884 * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
886 * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
887 * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
888 * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
889 * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
890 * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
892 * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
893 * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
894 * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
896 * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
898 * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
900 * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
902 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
904 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
906 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
908 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
910 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
912 * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
914 * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
915 * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
916 * testsuite/30_threads/shared_future/members/get.cc: Likewise.
917 * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
918 * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
919 * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
920 * testsuite/30_threads/shared_future/members/wait_for.cc:
922 * testsuite/30_threads/shared_future/members/wait_until.cc:
924 * testsuite/30_threads/this_thread/1.cc: Likewise.
925 * testsuite/30_threads/this_thread/2.cc: Likewise.
926 * testsuite/30_threads/this_thread/3.cc: Likewise.
927 * testsuite/30_threads/this_thread/4.cc: Likewise.
928 * testsuite/30_threads/thread/cons/1.cc: Likewise.
929 * testsuite/30_threads/thread/cons/2.cc: Likewise.
930 * testsuite/30_threads/thread/cons/3.cc: Likewise.
931 * testsuite/30_threads/thread/cons/4.cc: Likewise.
932 * testsuite/30_threads/thread/cons/49668.cc: Likewise.
933 * testsuite/30_threads/thread/cons/5.cc: Likewise.
934 * testsuite/30_threads/thread/cons/6.cc: Likewise.
935 * testsuite/30_threads/thread/cons/7.cc: Likewise.
936 * testsuite/30_threads/thread/cons/8.cc: Likewise.
937 * testsuite/30_threads/thread/cons/9.cc: Likewise.
938 * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
939 * testsuite/30_threads/thread/members/1.cc: Likewise.
940 * testsuite/30_threads/thread/members/2.cc: Likewise.
941 * testsuite/30_threads/thread/members/3.cc: Likewise.
942 * testsuite/30_threads/thread/members/4.cc: Likewise.
943 * testsuite/30_threads/thread/members/5.cc: Likewise.
944 * testsuite/30_threads/thread/members/hardware_concurrency.cc:
946 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
947 * testsuite/30_threads/thread/native_handle/typesizes.cc:
949 * testsuite/30_threads/thread/swap/1.cc: Likewise.
950 * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
951 * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
953 * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
954 * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
955 * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
957 * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
958 * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
959 * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
960 * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
961 * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
962 * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
963 * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
964 * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
965 * testsuite/30_threads/try_lock/1.cc: Likewise.
966 * testsuite/30_threads/try_lock/2.cc: Likewise.
967 * testsuite/30_threads/try_lock/3.cc: Likewise.
968 * testsuite/30_threads/try_lock/4.cc: Likewise.
969 * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
970 * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
971 * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
972 * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
973 * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
974 * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
975 * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
976 * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
977 * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
978 * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
979 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
980 * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
981 * testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
982 * testsuite/ext/profile/mh.cc: Likewise.
983 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
984 * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
985 * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
987 * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
989 * testsuite/util/testsuite_performance.h: Extend current handling
990 of Linux-based systems to cover all glibc-based systems.
992 2013-06-09 Jonathan Wakely <jwakely.gcc@gmail.com>
994 * include/std/mutex (call_once): Remove parentheses to fix error in
995 c++1y and gnu++1y mode.
996 * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
997 thread to avoid undefined behaviour.
999 2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net>
1001 Simplify and clean up library literals.
1002 * include/std/chrono: Simplify namespace and versioning management.
1003 * include/bits/basic_string.h: Ditto.
1004 * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
1005 * testsuite/20_util/duration/literals/values.cc: Ditto.
1006 * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
1007 * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
1009 2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net>
1011 Implement N3654 - Quoted Strings Library Proposal
1012 * include/std/iomanip: Add quoted(String, Char delim, Char escape)
1013 manipulators and supporting machinery in c++1y mode.
1014 * testsuite/27_io/manipulators/standard/char/quoted.cc: New.
1015 * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
1017 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
1019 * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
1022 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
1024 * include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
1025 * include/bits/stl_algobase.h (equal, mismatch): Likewise.
1026 * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
1027 * testsuite/25_algorithms/equal/2.cc: New.
1028 * testsuite/25_algorithms/equal/check_type2.cc: New.
1029 * testsuite/25_algorithms/is_permutationqual/2.cc: New.
1030 * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
1031 * testsuite/25_algorithms/mismatch/2.cc: New.
1032 * testsuite/25_algorithms/mismatch/check_type2.cc: New.
1033 * testsuite/util/testsuite_iterators.h: Fix spelling.
1035 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
1037 * include/std/type-traits (integral_constant::operator()): Implement
1039 * testsuite/20_util/integral_constant/call_operator.cc: New.
1040 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1042 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1044 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1047 2013-06-07 Uros Bizjak <ubizjak@gmail.com>
1049 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1051 2013-06-05 Tom Tromey <tromey@redhat.com>
1053 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
1055 2013-06-03 Paolo Carlini <paolo.carlini@oracle.com>
1058 * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
1060 2013-06-01 Ed Smith-Rowland <3dw4rd@verizon.net>
1062 * include/std/chrono: Collapse redundant 'inline' from 'inline
1064 * include/std/tuple: Ditto.
1065 * include/bits/move.h: Ditto.
1067 2013-05-30 Ed Smith-Rowland <3dw4rd@verizon.net>
1069 Implement N3642 - User-defined Literals for Standard Library Types
1070 * include/bits/parse_numbers.h: New.
1071 * include/std/chrono: Add duration literal operators.
1072 * include/bits/basic_string.h: Add string literal operators.
1073 * include/Makefile.in: Add parse_numbers.h.
1074 * include/Makefile.am: Ditto.
1075 * testsuite/20_util/duration/literals/values.cc: New.
1076 * testsuite/20_util/duration/literals/types.cc: New.
1077 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
1078 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
1079 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
1080 * testsuite/21_strings/basic_string/literals/values.cc: New.
1081 * testsuite/21_strings/basic_string/literals/types.cc: New.
1083 2013-05-28 Jonathan Wakely <jwakely.gcc@gmail.com>
1085 * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
1086 !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
1087 calling non-existent from_time_t.
1089 2013-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1091 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
1094 2013-05-24 Benjamin Kosnik <bkoz@redhat.com>
1096 * include/std/chrono: Wrap clocks in inline namespace _V2.
1097 * src/c++11/chrono.cc: Same.
1098 * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
1099 file, with default configure macros selected.
1101 * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
1103 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
1105 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
1106 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
1107 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
1109 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1111 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
1112 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
1114 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
1115 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
1116 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
1117 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
1118 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
1119 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
1121 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
1122 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
1124 2013-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1126 * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
1127 (CLOCK_MONOTONIC): Define.
1129 2013-05-24 Paolo Carlini <paolo.carlini@oracle.com>
1131 * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
1134 * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
1136 2013-05-24 Jakub Jelinek <jakub@redhat.com>
1138 * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
1139 include unistd.h and sys/syscall.h. If _GLIBCXX_COMPATIBILITY_CXX0X,
1140 don't define system_clock::is_steady, system_clock::now() and
1141 steady_clock::is_steady.
1142 (std::chrono::system_clock::now()): If
1143 _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
1144 syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
1145 (std::chrono::system_clock::now()): Likewise. Add weak attribute
1146 if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
1148 * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
1149 (compatibility-chrono.lo, compatibility-chrono.o): New goals.
1150 * src/c++11/compatibility-chrono.cc: New file.
1151 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
1152 syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
1153 * testsuite/util/testsuite_abi.cc (check_version): Add
1154 GLIBCXX_3.4.20 version and make it the latest.
1155 * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
1156 also @@GLIBCXX_3.4.19. Move all symbols so far added for GCC 4.9 to
1157 @@GLIBCXX_3.4.20 instead.
1158 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
1159 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
1160 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
1162 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1164 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
1165 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
1167 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
1168 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
1169 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
1170 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
1171 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
1172 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
1174 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
1175 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
1176 * config.h.in: Regenerated.
1177 * src/Makefile.in: Regenerated.
1178 * configure: Regenerated.
1180 2013-05-23 Matthias Klose <doko@ubuntu.com>
1182 * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
1183 (ext_headers): Remove ${ext_host_headers}.
1184 (stamp-${host_alias}): Create ${host_builddir}/../ext.
1185 (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
1186 (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
1187 * include/Makefile.in: Regenerate.
1188 * include/ext/random: Include ext/opt_random.h.
1190 2013-05-22 Jonathan Wakely <jwakely.gcc@gmail.com>
1192 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
1193 enable features if target OS is known to support them.
1194 * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
1195 * configure: Regenerate.
1197 2013-05-21 Jonathan Wakely <jwakely.gcc@gmail.com>
1200 * include/std/functional (__invoke): Do not form function types with
1201 abstract return type.
1202 * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
1204 2013-05-19 Jonathan Wakely <jwakely.gcc@gmail.com>
1206 * include/std/tuple (get): Implement N3670.
1207 * include/std/utility (get): Likewise.
1208 * testsuite/20_util/pair/get.cc: Move to ...
1209 * testsuite/20_util/pair/astuple/get.cc: Here.
1210 * testsuite/20_util/pair/astuple/astuple.cc: New.
1211 * testsuite/20_util/pair/astuple/constexpr_get.cc: New.
1212 * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
1213 * testsuite/20_util/pair/astuple/get_by_type.cc: New.
1214 * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
1215 * testsuite/20_util/pair/astuple/get_neg.cc: New.
1216 * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
1217 * testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
1218 * testsuite/20_util/tuple/element_access/get_by_type.cc: New.
1220 2013-05-19 Paolo Carlini <paolo.carlini@oracle.com>
1222 * Revert last commit.
1224 2013-05-19 Matthias Klose <doko@ubuntu.com>
1226 * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
1227 (ext_headers): Remove ${ext_host_headers}.
1228 (stamp-${host_alias}): Create ${host_builddir}/../ext.
1229 (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
1230 (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
1231 * include/Makefile.in: Regenerate.
1233 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1235 * include/std/system_error (error_category::error_category()): LWG
1236 2145: Declare public and constexpr.
1237 * src/c++11/system_error.cc (error_category::error_category()): Move
1239 * src/c++11/compatibility-c++0x.cc: Here.
1241 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1243 * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
1245 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1247 * include/bits/unique_ptr.h (make_unique): Declare inline.
1248 (unique_ptr<T[],D>::reset()): Combine two overloads into one.
1249 (default_delete, unique_ptr): Add doxygen comments.
1250 * include/bits/shared_ptr_base.h: Improve doxygen comments.
1251 * include/bits/shared_ptr.h: Likewise.
1252 * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
1254 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
1256 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1258 * doc/xml/manual/status_cxx2011.xml: Fix markup error.
1260 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1262 * doc/xml/manual/status_cxx2011.xml: Fix markup error.
1264 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1266 * include/std/utility (exchange): Define.
1267 * testsuite/20_util/exchange/1.cc: New.
1269 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1271 * include/bits/unique_ptr.h (make_unique): Define.
1272 * testsuite/20_util/unique_ptr/creation/single.cc: New.
1273 * testsuite/20_util/unique_ptr/creation/array.cc: New.
1274 * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
1276 2013-05-15 François Dumont <fdumont@gcc.gnu.org>
1278 * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
1279 rendering of std::tr1 unordered containers iterator.
1280 (StdHashtableIterator): New, render std unordered containers iterator.
1281 * testsuite/libstdc++-prettyprinters/tr1.cc: New.
1283 2013-05-15 Jonathan Wakely <jwakely.gcc@gmail.com>
1285 * include/bits/basic_string.h (getline): Fix doxygen comments.
1287 2013-05-14 Paolo Carlini <paolo.carlini@oracle.com>
1289 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1290 Use std::pointer_traits.
1292 2013-05-13 Benjamin Kosnik <bkoz@redhat.com>
1294 * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
1296 * libsupc++/Makefile.in: Regenerate.
1297 * libsupc++/bad_array_length.cc: Tweak.
1298 * libsupc++/bad_array_new.cc: Tweak.
1300 2013-05-10 Paolo Carlini <paolo.carlini@oracle.com>
1303 * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
1304 (_Deque_iterator<>::_M_const_cast): Add.
1305 (deque<>::_M_erase): Declare.
1306 * include/bits/deque.tcc: ... and define.
1307 * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
1308 (_List_const_iterator<>::_M_const_cast): Add.
1309 * include/bits/list.tcc (erase (iterator)): Fix.
1310 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1311 Add; include <ext/cast.h>.
1312 * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
1313 (vector<>::_M_erase): Declare.
1314 * include/bits/stl_bvector.h: Likewise.
1315 * include/bits/vector.tcc (vector<>::_M_erase): Define.
1316 * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
1317 * include/debug/deque: Adjust.
1318 * include/debug/list: Likewise.
1319 * include/debug/vector: Likewise.
1320 * include/profile/deque: Likewise.
1321 * include/profile/list: Likewise.
1322 * include/profile/vector: Likewise.
1323 * testsuite/util/exception/safety.h (erase_base<deque>,
1324 erase_base<deque>, erase_base<vector>): Remove.
1325 (erase_base<__versa_string>): Update.
1326 * testsuite/ext/vstring/modifiers/char/54577.cc: New.
1327 * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
1328 * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
1329 * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
1330 * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
1332 * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
1333 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1334 Adjust dg-error line numbers.
1335 * testsuite/23_containers/deque/requirements/dr438/
1336 constructor_1_neg.cc: Likewise.
1337 * testsuite/23_containers/deque/requirements/dr438/
1338 constructor_2_neg.cc: Likewise.
1339 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1341 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1343 * testsuite/23_containers/list/requirements/dr438/
1344 constructor_1_neg.cc: Likewise.
1345 * testsuite/23_containers/list/requirements/dr438/
1346 constructor_2_neg.cc: Likewise.
1347 * testsuite/23_containers/list/requirements/dr438/
1348 insert_neg.cc: Likewise.
1349 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1351 * testsuite/23_containers/vector/requirements/dr438/
1352 constructor_1_neg.cc: Likewise.
1353 * testsuite/23_containers/vector/requirements/dr438/
1354 constructor_2_neg.cc: Likewise.
1355 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1358 2013-05-09 Uros Bizjak <ubizjak@gmail.com>
1360 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
1362 2013-05-08 Jason Merrill <jason@redhat.com>
1364 Add std::bad_array_length (N3639)
1365 * libsupc++/new: Add std::bad_array_length.
1366 * libsupc++/bad_array_length.cc: New.
1367 * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
1368 * libsupc++/Makefile.in: Build them.
1369 * config/abi/pre/gnu.ver: Add new symbols.
1370 * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
1372 2013-05-08 Andi Kleen <ak@linux.intel.com>
1375 * libstdc++-v3/include/bits/atomic_base.h
1376 (_GLIBCXX_ALWAYS_INLINE): Add new macro.
1377 (atomic_thread_fence, atomic_signal_fence, test_and_set,
1378 clear, store, load, exchange, compare_exchange_weak)
1379 compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
1380 fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
1382 2013-05-08 Jason Merrill <jason@redhat.com>
1384 Add std::bad_array_new_length (N2932)
1385 * libsupc++/new: Add std::bad_array_new_length.
1386 * libsupc++/bad_array_new.cc: New.
1387 * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
1388 * libsupc++/Makefile.in: Build them.
1389 * config/abi/pre/gnu.ver: Add new symbols.
1390 * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
1392 2013-05-08 Andoni Morales Alastruey <ylatuya@gmail.com>
1395 * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
1397 * include/Makefile.in: Regenerated.
1399 2013-05-07 François Dumont <fdumont@gcc.gnu.org>
1401 * include/profile/unordered_base.h: New.
1402 * include/Makefile.am: Add new profile header.
1403 * include/Makefile.in: Regenerate.
1404 * include/profile/impl/profiler.h
1405 (__profcxx_inefficient_hash_is_on): New macro.
1406 * include/profile/unordered_map (std::profile::unordered_map<>):
1407 Use new _Unordered_profile base class. Use default implementations
1408 for special functions.
1409 (std::profile::unordered_multimap<>): Likewise.
1410 * include/profile/unordered_set (std::profile::unordered_set<>):
1412 (std::profile::unordered_multiset<>): Likewise.
1413 * testsuite/23_containers/unordered_multiset/55043.cc: Fix
1414 MoveOnly equality operator signature.
1416 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
1418 * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
1419 constexpr_data.cc: Move...
1420 * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
1422 * testsuite/20_util/integral_constant/requirements/
1423 explicit_instantiation.cc: New.
1424 * testsuite/20_util/integral_constant/requirements/typedefs.cc:
1426 * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
1427 * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
1429 * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
1430 * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
1432 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
1434 * include/std/type_traits (is_null_pointer): Add.
1435 (__is_nullptr_t): Implement in terms of the latter.
1436 (is_fundamental, is_scalar): Adjust.
1437 * testsuite/20_util/is_null_pointer/requirements/
1438 explicit_instantiation.cc: New.
1439 * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
1441 * testsuite/20_util/is_null_pointer/value.cc: Likewise.
1442 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1444 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1446 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1449 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
1451 * include/c_global/cstdio: Add comment about LWG 2249.
1452 * include/c_std/cstdio: Likewise.
1454 2013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com>
1456 * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
1458 * include/std/mutex (__recursive_mutex_base): Likewise.
1460 2013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com>
1463 * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
1464 implement EBO safely.
1465 (_Sp_counted_base::_M_get_deleter): Add noexcept.
1466 (_Sp_counter_ptr): Use noexcept instead of comments.
1467 (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
1468 (_Sp_counted_ptr_inplace): Likewise.
1469 * testsuite/20_util/shared_ptr/cons/51365.cc: New.
1470 * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
1471 custom allocator and test construction with custom allocator.
1472 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
1475 2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
1477 * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
1478 dialect to -std=gnu++11.
1480 2013-04-26 François Dumont <fdumont@gcc.gnu.org>
1482 * include/bits/hashtable_policy.h
1483 (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
1484 * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
1486 2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
1488 * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
1489 * include/c_std/cstdio (gets): Likewise.
1490 * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
1492 2013-04-25 Paolo Carlini <paolo.carlini@oracle.com>
1495 * include/debug/unordered_map (unordered_map, unordered_multimap):
1496 Fix default allocator type.
1497 * include/profile/unordered_map (unordered_map, unordered_multimap):
1499 * include/bits/unordered_map.h: Fix comments.
1501 2013-04-24 Jonathan Wakely <jwakely.gcc@gmail.com>
1504 * libsupc++/exception_ptr.h (copy_exception): Deprecate and
1505 move implementation to make_exception_ptr.
1506 * include/std/future (_State_base::_M_break_promise): Replace
1507 copy_exception with make_exception_ptr.
1508 * testsuite/18_support/exception_ptr/move.cc: Likewise.
1509 * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
1510 * testsuite/30_threads/future/members/get2.cc: Likewise.
1511 * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
1512 * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
1513 * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
1514 * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
1516 2013-04-22 Jason Merrill <jason@redhat.com>
1518 * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
1520 * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
1521 substitution" lines.
1523 * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
1525 * testsuite/20_util/is_constructible/value-2.cc: Likewise.
1526 * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
1527 * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
1529 2013-04-22 François Dumont <fdumont@gcc.gnu.org>
1531 * include/bits/hashtable_policy.h: Add C++11 allocator support.
1532 * include/bits/hashtable.h: Likewise.
1533 * include/bits/unordered_set.h: Likewise.
1534 * include/bits/unordered_map.h: Likewise.
1535 * include/debug/unordered_set: Likewise.
1536 * include/debug/unordered_map: Likewise.
1537 * include/std/unordered_set: Remove bits/algobase.h
1538 include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
1539 * include/std/unordered_map: Likewise.
1540 * include/ext/throw_allocator.h: Add checks on calls to allocator
1542 (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
1543 (std::hash<__gnu_cxx::throw_value_random>): Likewise.
1544 * testsuite/util/regression/rand/priority_queue
1545 /container_rand_regression_test.tcc: Adapt.
1546 * testsuite/util/regression/rand/assoc
1547 /container_rand_regression_test.tcc: Likewise.
1548 * testsuite/util/testsuite_counter_type.h: Add count of destructors.
1549 * testsuite/23_containers/unordered_set
1550 /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
1551 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
1552 * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
1553 * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
1554 * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
1555 * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
1556 * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
1557 * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
1558 * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
1559 * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
1561 * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
1562 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1564 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
1565 * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
1566 * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
1567 * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
1568 * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
1569 * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
1570 * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
1572 * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
1573 * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
1574 * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
1576 * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
1577 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1579 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
1580 * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
1582 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
1584 * include/std/type_traits (is_signed): Simplify.
1585 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1586 Adjust dg-error line numbers.
1587 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1589 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1591 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
1594 * include/std/complex (complex<float>::real, complex<float>::imag,
1595 complex<double>::real, complex<double>::imag,
1596 complex<long double>::real, complex<long double>::imag): Declare
1597 as const member functions.
1598 * include/std/type_traits (integral_constant<>::operator value_type):
1601 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
1604 * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
1605 * testsuite/25_algorithms/pop_heap/57010.cc: New.
1607 2013-04-21 Evgeniy Stepanov <eugenis@google.com>
1609 * src/c++11/system_error.cc (generic_category_instance): Add
1611 (system_category_instance): Likewise.
1612 * src/c++11/future.cc (__fec): Likewise.
1614 2013-04-20 Jonathan Wakely <jwakely.gcc@gmail.com>
1616 * doc/xml/manual/extensions.xml: Fix anachronism.
1618 2013-04-09 Tom Tromey <tromey@redhat.com>
1620 * configure, config.h.in: Rebuild.
1621 * configure.ac: Use GLIBCXX_CHECK_SDT_H. Don't check for
1623 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
1625 2013-04-09 Uros Bizjak <ubizjak@gmail.com>
1627 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1629 2013-04-08 Paolo Carlini <paolo.carlini@oracle.com>
1631 * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
1633 2013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com>
1635 * include/Makefile.am: Add ext/aligned_buffer.h
1636 * include/Makefile.in: Regenerate.
1637 * include/ext/aligned_buffer.h: New.
1638 * include/std/future (_Result): Use __aligned_buffer.
1639 * include/bits/forward_list.h (_Fwd_list_node): Likewise.
1640 * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
1641 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
1644 2013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com>
1646 * include/bits/forward_list.h: Only include required headers.
1647 (forward_list::reference): Define directly, not using __alloc_traits.
1648 (forward_list::const_reference): Likewise.
1650 2013-04-07 François Dumont <fdumont@gcc.gnu.org>
1652 * include/std/functional (_Derives_from_unary_function): Remove.
1653 (_Derives_from_binary_function): Remove.
1654 * include/std/type_traits (__sfinae_types): Remove.
1655 (__is_assignable_helper): Adapt.
1656 (__is_convertible_helper): Adapt.
1657 (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
1658 Remove several explicit instantiations of integral_constant.
1659 * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
1660 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1661 Adapt dg-error line number.
1662 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1664 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1665 * testsuite/20_util/bind/ref_neg.cc: Likewise.
1667 2013-04-05 Jonathan Wakely <jwakely.gcc@gmail.com>
1670 * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
1671 get_terminate() accessors.
1672 * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
1673 * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
1675 * libsupc++/new_handler.cc: Likewise.
1677 2013-04-04 Jonathan Wakely <jwakely.gcc@gmail.com>
1679 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
1681 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
1684 * include/debug/array (tuple_size, tuple_element): Do not declare.
1685 * include/profile/array: Likewise.
1686 * testsuite/23_containers/array/tuple_interface/
1687 tuple_element_debug_neg.cc: Adjust dg-error line number.
1689 2013-04-03 Jonathan Wakely <jwakely.gcc@gmail.com>
1691 * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
1692 * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
1694 (set_terminate(terminate_handler)): Set atomically.
1695 (set_unexpected(terminate_handler)): Likewise.
1696 * libsupc++/new (get_new_handler()): Declare.
1697 * libsupc++/new_handler.cc (get_new_handler()): Define.
1698 (set_new_handler(new_handler)): Set atomically.
1699 (__new_handler): Use internal linkage.
1700 * libsupc++/new_op.cc (operator new): Use get_new_handler().
1701 * libsupc++/new_opnt.cc (operator new): Likewise.
1702 * acinclude.m4: Bump libtool_VERSION to 6:19:0.
1703 * configure: Regenerate.
1704 * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
1705 * libsupc++/Makefile.in: Regenerate.
1706 * config/abi/pre/gnu.ver: Add new exports.
1707 * doc/xml/manual/status_cxx2011.xml: Update.
1708 * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
1710 * testsuite/18_support/headers/new/synopsis.cc: Likewise.
1711 * testsuite/18_support/new_handler.cc: New.
1712 * testsuite/18_support/terminate_handler.cc: New.
1713 * testsuite/18_support/unexpected_handler.cc: New.
1715 2013-04-02 Jonathan Wakely <jwakely.gcc@gmail.com>
1717 * doc/xml/manual/appendix_contributing.xml: Remove broken link and
1718 defer to general documentation on contributing to GCC.
1719 * doc/html/*: Regenerate.
1721 2013-03-30 Gerald Pfeifer <gerald@pfeifer.com>
1723 * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
1725 * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
1728 * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
1730 * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
1732 * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
1734 * doc/xml/manual/messages.xml: Adjust link to Java API specs.
1736 * doc/xml/manual/policy_data_structures: Remove direct link to
1737 IBM Haifa Research Labs.
1739 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
1740 for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
1742 * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
1745 * doc/xml/manual/shared_ptr.xml: Use canonical address for
1748 2013-03-27 Kai Tietz <ktietz@redhat.com>
1750 * crossconfig.m4: Add support for cygwin x64 target.
1751 * configure: Regenerated.
1753 2013-03-25 Kai Tietz <ktietz@redhat.com>
1755 * testsuite/18_support/50594.cc: For mingw-targets use only static
1757 * testsuite/19_diagnostics/error_category/operators/equal.cc
1758 * testsuite/19_diagnostics/error_code/cons/1.cc
1759 * testsuite/19_diagnostics/error_code/operators/bool.cc
1760 * testsuite/19_diagnostics/error_code/operators/equal.cc
1761 * testsuite/19_diagnostics/error_code/operators/not_equal.cc
1762 * testsuite/19_diagnostics/error_condition/cons/1.cc
1763 * testsuite/19_diagnostics/error_condition/operators/bool.cc
1764 * testsuite/19_diagnostics/error_condition/operators/equal.cc
1765 * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
1766 * testsuite/23_containers/set/requirements/exception/basic.cc
1767 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
1768 * testsuite/lib/dg-options.exp (dg-additional-options): New option.
1770 2013-03-24 Jonathan Wakely <jwakely.gcc@gmail.com>
1773 * include/ext/debug_allocator.h (debug_allocator): Add missing members
1774 to meet allocator requirements.
1775 * testsuite/ext/debug_allocator/56170.cc: New.
1777 2013-03-22 Paolo Carlini <paolo.carlini@oracle.com>
1780 * include/std/chrono (__is_ratio): Uglify T.
1782 2013-03-18 Paolo Carlini <paolo.carlini@oracle.com>
1784 PR libstdc++/55977 (partial, std::vector and std::deque bits)
1785 * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
1786 _InputIterator, std::input_iterator_tag)): Use emplace_back.
1787 * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
1788 _InputIterator, std::input_iterator_tag)): Likewise.
1789 * testsuite/23_containers/vector/cons/55977.cc: New.
1790 * testsuite/23_containers/deque/cons/55977.cc: Likewise.
1791 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1792 Adjust dg-error line number.
1793 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1796 2013-03-17 Paolo Carlini <paolo.carlini@oracle.com>
1799 * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
1800 _InputIterator, __false_type)): Use emplace_back.
1801 * testsuite/23_containers/list/cons/55979.cc: New.
1802 * testsuite/23_containers/list/modifiers/1.h: Adjust.
1803 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1804 Adjust dg-error line number.
1806 2013-03-16 Jason Merrill <jason@redhat.com>
1809 * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
1811 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1814 * libsupc++/exception_ptr.h (type_info): Declare.
1816 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1819 * include/std/mutex (lock_guard, unique_lock, lock): Define without
1820 depending on _GLIBCXX_HAS_GTHREADS.
1821 * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
1823 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1826 * include/std/future (__future_base::_Result): Add result_type
1828 (__future_base::_S_allocate_result): Overload for std::allocator.
1829 (__future_base::_Task_setter): Use _Result::result_type instead of
1830 deducing the type from the task.
1831 (__future_base::_Task_state): Store allocator to allow shared state
1832 to be reset. Replace std::function with member of target object type
1834 (__future_base::_Task_state_base): New abstract base class.
1835 (__future_base::_Task_state_base::_M_run): New virtual function to
1836 invoke type-erased target object.
1837 (__future_base::_Task_state_base::_M_reset): New virtual function to
1838 create new shared_state using same target object and allocator.
1839 (__future_base::__create_task_state): Allocate a new _Task_state.
1840 (packaged_task::packaged_task): Use __create_task_state.
1841 (packaged_task::reset): Use _Task_state_base::_M_reset.
1842 * testsuite/30_threads/packaged_task/cons/56492.cc: New.
1844 2013-03-15 Tom Tromey <tromey@redhat.com>
1846 * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
1847 (PROBE2): New macro.
1848 * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
1849 * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
1850 * configure.ac: Check for sys/sdt.h.
1851 * configure, config.h.in: Rebuild.
1853 2013-03-14 Jonathan Wakely <jwakely.gcc@gmail.com>
1856 * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
1857 allocator_traits instead of calling construct directly.
1858 * testsuite/23_containers/map/56613.cc: New.
1860 2013-03-13 Benjamin Kosnik <bkoz@redhat.com>
1862 * doc/html/*: Regenerate.
1864 2013-03-13 Paolo Carlini <paolo.carlini@oracle.com>
1867 * include/std/type_traits (is_fundamental): Add std::nullptr_t.
1868 * testsuite/20_util/is_fundamental/value.cc: Extend.
1869 * testsuite/20_util/is_compound/value.cc: Likewise.
1871 2013-03-09 Paolo Carlini <paolo.carlini@oracle.com>
1873 * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
1876 2013-03-08 Benjamin Kosnik <bkoz@redhat.com>
1878 * include/bits/memoryfwd.h: New. Centralize forward declarations.
1879 * include/bits/algorithmfwd.h: Consistent comments.
1880 * include/bits/localefwd.h: Same.
1881 * include/ext/vstring_fwd.h: Same.
1882 * include/parallel/algorithmfwd.h: Same.
1883 * include/parallel/numericfwd.h: Same.
1884 * include/std/iosfwd: Same.
1886 * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
1888 * include/ext/alloc_traits.h: Remove allocator forward decl.
1889 * include/bits/stl_construct.h: Same.
1890 * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
1891 forward decl. Consistent comments.
1893 * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
1895 * include/Makefile.am (bits_headers): Add memoryfwd.h.
1896 * include/Makefile.in: Regenerate.
1899 2013-03-08 François Dumont <fdumont@gcc.gnu.org>
1901 * include/bits/vector.tcc (vector<>operator=(const vector<>&):
1902 Reset pointers after deallocation when memory can be reused.
1903 * testsuite/23_containers/vector/allocator/minimal.cc: Insert
1904 elements to really challenge C++11 allocator integration.
1905 * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
1906 * testsuite/23_containers/vector/allocator/copy_assign.cc:
1908 * testsuite/23_containers/vector/allocator/move_assign.cc:
1910 * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
1911 swap vector back before checks on memory/personality mapping are
1913 * testsuite/23_containers/forward_list/allocator/minimal.cc:
1914 Insert element to really challenge C++11 allocator integration.
1915 * testsuite/23_containers/forward_list/allocator/copy.cc:
1917 * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
1919 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1921 * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
1922 and swap forward_list back before checks on memory/personality
1923 mapping are performed.
1925 2013-03-07 Jakub Jelinek <jakub@redhat.com>
1927 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1928 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1929 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1931 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1932 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1933 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1934 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1935 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1936 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1938 2013-03-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1940 * scripts/extract_symvers.pl: Omit symbols bound to base
1942 * scripts/extract_symvers.in: Likewise.
1943 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1944 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1945 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1946 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1947 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1949 2013-03-04 Ulrich Drepper <drepper@gmail.com>
1951 * include/ext/random (__gnu_cxx::von_mises_distribution<>):
1952 Optimize generation function by pulling computation of __r into the
1953 constructor for param_type. Also compare _M_mu in operator==.
1956 2013-03-02 Ulrich Drepper <drepper@gmail.com>
1958 Add triangular and von Mises distributions.
1959 * include/ext/random: Include <ext/cmath>.
1960 Add __gnu_cxx::triangular_distribution<> and
1961 __gnu_cxx::von_mises_distribution<> classes.
1962 * include/ext/random.tcc: Add out-of-line functions for
1963 __gnu_cxx::triangular_distribution<> and
1964 __gnu_cxx::von_mises_distribution<>.
1965 * testsuite/ext/triangular_distribution/cons/default.cc: New file.
1966 * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
1967 * testsuite/ext/triangular_distribution/operators/serialize.cc:
1969 * testsuite/ext/triangular_distribution/operators/equal.cc:
1971 * testsuite/ext/triangular_distribution/operators/inequal.cc:
1973 * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
1975 * testsuite/ext/triangular_distribution/requirements/
1976 explicit_instantiation/1.cc: New file.
1977 * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
1978 * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
1979 * testsuite/ext/von_mises_distribution/operators/serialize.cc:
1981 * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
1982 * testsuite/ext/von_mises_distribution/operators/inequal.cc:
1984 * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
1986 * testsuite/ext/von_mises_distribution/requirements/
1987 explicit_instantiation/1.cc: New file.
1990 * include/Makefile.am (ext_headers): Add cmath.
1991 * include/Makefile.in: Regenerated.
1992 * include/ext/cmath: New file.
1994 2013-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1996 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1997 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1998 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1999 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2000 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2002 2013-02-26 Jonathan Wakely <jwakely.gcc@gmail.com>
2005 * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
2006 * testsuite/29_atomics/atomic/operators/56012.cc: New.
2009 * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
2011 * testsuite/29_atomics/atomic/operators/56011.cc: New.
2013 2013-02-25 Jason Merrill <jason@redhat.com>
2015 * configure.ac: Check for __cxa_thread_atexit_impl.
2016 * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
2018 * config.h.in, configure: Regenerate.
2020 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
2022 * include/std/streambuf (basic_streambuf): Use injected class name
2023 instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
2026 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
2028 * doc/html/faq.html: Fix spelling.
2029 * doc/xml/faq.xml: Likewise.
2030 * include/bits/basic_ios.h: Likewise.
2031 * include/bits/regex.h: Likewise.
2032 * include/std/istream: Likewise.
2033 * include/std/streambuf: Likewise.
2035 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
2037 * testsuite/23_containers/unordered_set/55043.cc: Add missing
2038 namespace qualification.
2039 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
2041 2013-02-19 Benjamin Kosnik <bkoz@redhat.com>
2043 * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
2044 _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
2045 AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
2046 * include/bits/stl_pair.h: Add to utilities group.
2047 * include/std/tuple: Same.
2048 * include/std/typeindex: Same.
2050 * include/bits/stringfwd.h: Fix markup.
2051 * include/std/limits: Same.
2052 * include/std/type_traits: Same.
2053 * include/tr1/memory: Same.
2054 * include/tr1/regex: Same.
2055 * scripts/run_doxygen: Comment.
2056 * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
2058 2013-02-14 Jason Merrill <jason@redhat.com>
2060 * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
2061 test if unsupported.
2063 2013-02-13 Marc Glisse <marc.glisse@inria.fr>
2066 * include/std/complex (complex): Undefine.
2067 * include/c_compatibility/complex.h (complex): Only undefine if
2068 <complex> has been included.
2069 * testsuite/26_numerics/complex/56111.cc: New testcase.
2071 2013-02-13 François Dumont <fdumont@gcc.gnu.org>
2073 * include/bits/hashtable_policy.h (_Hash_code_base): Restore
2074 default constructor protected.
2075 * include/bits/hashtable.h: static assert that _Hash_code_base has
2076 a default constructor available through inheritance.
2078 2013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
2080 * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
2083 2013-02-12 Julian Brown <julian@codesourcery.com>
2085 * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
2086 Don't expect dots after abbreviated weekday names for ru_RU for
2087 glibc versions >= 2.17.
2088 * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
2091 2013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
2093 * include/bits/random.tcc (__transform): Remove.
2095 (discrete_distribution<>::param_type::_M_initialize): Adjust.
2096 (piecewise_constant_distribution<>::param_type::_M_initialize):
2098 (piecewise_linear_distribution<>::param_type::_M_initialize):
2101 2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
2103 * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
2104 Use -fimplicit-templates.
2105 * src/c++11/Makefile.in: Regenerate.
2106 * src/c++11/hashtable_c++0x.cc: Remove instantiation for
2107 std::lower_bound template.
2109 2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
2111 * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
2112 * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
2113 in C++11 mode and if available in the underlying C library.
2114 * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
2115 -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
2116 _GLIBCXX_HAVE_QUICK_EXIT.
2118 2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
2120 * doc/html/*: Regenerate.
2122 2013-02-11 Jason Merrill <jason@redhat.com>
2124 * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
2125 (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
2126 * config.h.in, configure: Regenerate.
2127 * include/c_std/cstdlib: Add atexit and at_quick_exit.
2128 * include/c_global/cstdlib: Add atexit and at_quick_exit.
2129 * testsuite/18_support/quick_exit/quick_exit.cc: New.
2131 2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
2135 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net>
2138 * include/bits/basic_ios.h: Replace operator void*() const
2139 with explicit operator bool() const in C++11 and greater.
2140 * testsuite/27_io/basic_ios/pr56193.cc: New file.
2142 2013-02-10 François Dumont <fdumont@gcc.gnu.org>
2143 Jonathan Wakely <jwakely.gcc@gmail.com>
2145 * doc/xml/manual/containers.xml: Add section on unordered containers.
2146 * doc/xml/manual/using.xml: Fix incomplete sentence.
2148 2013-02-10 Jonathan Wakely <jwakely.gcc@gmail.com>
2151 * include/bits/hashtable.h (__cache_default): Check if hash function
2153 * testsuite/23_containers/unordered_set/56267.cc: New.
2154 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2155 dg-error line number.
2156 * testsuite/23_containers/unordered_set/
2157 not_default_constructible_hash_neg.cc: Likewise.
2160 * include/bits/hashtable_policy.h (_Hash_code_base): Make default
2162 * testsuite/23_containers/unordered_set/56278.cc: New.
2164 2013-02-09 François Dumont <fdumont@gcc.gnu.org>
2166 * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
2169 2013-02-08 Edward Smith-Rowland <3dw4rd@verizon.net>
2172 * include/tr1/special_function_util.h: Remove spurious const
2173 from numeric arguments.
2174 * include/tr1/riemann_zeta.tcc: Likewise.
2175 * include/tr1/exp_integral.tcc: Likewise.
2176 * include/tr1/bessel_function.tcc: Likewise.
2177 * include/tr1/hypergeometric.tcc: Likewise.
2178 * include/tr1/modified_bessel_func.tcc: Likewise.
2179 * include/tr1/poly_laguerre.tcc: Likewise.
2180 * include/tr1/gamma.tcc: Likewise.
2181 * include/tr1/legendre_function.tcc: Likewise.
2182 * include/tr1/poly_hermite.tcc: Likewise.
2183 * include/tr1/ell_integral.tcc: Likewise.
2184 * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
2185 If argument is zero return function value.
2186 * testsuite/tr1/5_numerical_facilities/special_functions/
2187 08_cyl_bessel_i/pr56216.cc: New.
2189 2013-02-07 Paolo Carlini <paolo.carlini@oracle.com>
2191 * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
2193 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net>
2196 * include/bits/basic_ios.h: Replace operator void*() const
2197 with explicit operator bool() const in C++11 and greater.
2198 * testsuite/27_io/basic_ios/pr56193.cc: New file.
2200 2013-02-04 Dodji Seketeli <dodji@redhat.com>
2202 Add missing explicit instantiation for std::lower_bound template
2203 * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
2204 missing instantiation for std::lower_bound template.
2206 2013-02-04 François Dumont <fdumont@gcc.gnu.org>
2208 * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
2209 * include/bits/basic_string.h: Specialize previous to mark
2210 std::hash for string types as slow.
2211 * include/bits/hashtable.h (__cache_default): Replace is_integral
2212 with __is_fast_hash.
2213 * src/c++11/hash_c++0x.cc: Add type_traits include.
2214 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2215 Adapt dg-error line number.
2216 * testsuite/23_containers/unordered_set/
2217 not_default_constructible_hash_neg.cc: Likewise.
2219 2013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2220 Paolo Carlini <paolo.carlini@oracle.com>
2222 PR libstdc++/56202 (again)
2223 * include/bits/random.tcc (binomial_distribution<>::
2224 _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
2227 * include/bits/random.h: Fix comment typo.
2229 2013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2230 Paolo Carlini <paolo.carlini@oracle.com>
2233 * include/bits/random.tcc (binomial_distribution<>::
2234 _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
2237 2013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
2239 Update copyright years.
2240 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
2241 testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
2242 testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
2243 testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
2244 testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
2245 testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
2246 testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
2247 testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
2248 testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
2249 testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
2250 testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
2251 testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
2252 testsuite/29_atomics/atomic/cons/assign_neg.cc,
2253 testsuite/29_atomics/atomic/cons/copy_neg.cc,
2254 testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
2255 testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
2256 testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
2257 testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
2258 testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
2259 Update lines in dg error matches.
2261 2013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
2263 * config/os/mingw32/ctype_inline.h: Fix copyright typo.
2265 2013-02-01 François Dumont <fdumont@gcc.gnu.org>
2267 * include/bits/hashtable_policy.h
2268 (_Prime_rehash_policy::_M_next_bkt)
2269 (_Prime_rehash_policy::_M_need_rehash): Move definition...
2270 * src/c++11/hashtable_c++0x.cc: ... here.
2271 * src/shared/hashtable-aux.cc: Remove c++config.h include.
2272 * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
2275 2013-01-29 Jason Merrill <jason@redhat.com>
2278 * config/abi/pre/gnu.ver: Don't export construction vtables.
2279 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
2281 2013-01-28 Jonathan Wakely <jwakely.gcc@gmail.com>
2284 * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
2285 to construct value_type explicitly before trying to extract the key.
2286 * testsuite/23_containers/unordered_map/cons/56112.cc: New.
2288 2013-01-28 François Dumont <fdumont@gcc.gnu.org>
2290 * include/bits/hashtable_policy.h (_Local_iterator_base): Use
2291 _Hashtable_ebo_helper to embed functors into the local_iterator
2292 when necessary. Pass information about functors involved in hash
2294 * include/bits/hashtable.h (__cache_default): Do not cache for
2295 builtin integral types unless the hash functor is not noexcept
2296 qualified or is not default constructible. Adapt static assertions
2297 and local iterator instantiations.
2298 * include/debug/unordered_set
2299 (std::__debug::unordered_set<>::erase): Detect local iterators to
2300 invalidate using contained node rather than generating a dummy
2301 local_iterator instance.
2302 (std::__debug::unordered_multiset<>::erase): Likewise.
2303 * include/debug/unordered_map
2304 (std::__debug::unordered_map<>::erase): Likewise.
2305 (std::__debug::unordered_multimap<>::erase): Likewise.
2306 * testsuite/performance/23_containers/insert_erase/41975.cc: Test
2307 std::tr1 and std versions of unordered_set regardless of any
2308 macro. Add test on default cache behavior.
2309 * testsuite/performance/23_containers/insert/54075.cc: Likewise.
2310 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2312 * testsuite/23_containers/unordered_set/
2313 not_default_constructible_hash_neg.cc: New.
2314 * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
2316 2013-01-24 Paolo Carlini <paolo.carlini@oracle.com>
2319 * include/std/complex (pow(const complex<>&, int)): Avoid __n
2322 2013-01-22 Jakub Jelinek <jakub@redhat.com>
2324 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
2325 Tightten scan-assembler-times regexps, add dg-additional-options for
2326 ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
2329 2013-01-12 Andi Kleen <ak@linux.intel.com>
2330 Jonathan Wakely <jwakely.gcc@gmail.com>
2333 * include/bits/atomic_base.h (__memory_order_modifier): Add
2334 __memory_order_mask, __memory_order_modifier_mask,
2335 __memory_order_hle_acquire, __memory_order_hle_release.
2336 (operator|,operator&): Add.
2337 (__cmpexch_failure_order): Rename to __cmpexch_failure_order2.
2338 (__cmpexch_failure_order): Add.
2339 (clear, store, load, compare_exchange_weak, compare_exchange_strong):
2341 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
2344 2013-01-19 Jonathan Wakely <jwakely.gcc@gmail.com>
2347 * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
2349 (__basic_future::_M_get_result()): Const qualify.
2350 (shared_future::get()): Likewise.
2351 * testsuite/30_threads/shared_future/members/get.cc: Use const
2354 2013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com>
2356 PR libstdc++/55043 (again)
2357 * include/bits/alloc_traits.h (allocator_traits::construct): Disable
2358 unless construction would be well-formed.
2359 (__allow_copy_cons, __check_copy_constructible): Define.
2360 * include/bits/unordered_map.h (__check_copy_constructible): Use as
2361 base class so copy constructor will be deleted if appropriate.
2362 (is_copy_constructible): Remove specialization.
2363 * include/bits/unordered_set.h: Likewise.
2364 * include/debug/unordered_map.h: Undo previous commit. Default copy
2365 and move constructors.
2366 * include/debug/unordered_set.h: Likewise.
2367 * include/profile/unordered_map.h: Undo previous commit.
2368 * include/profile/unordered_set.h: Likewise.
2369 * testsuite/23_containers/unordered_map/55043.cc: Fix test.
2370 * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
2371 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
2372 * testsuite/23_containers/unordered_set/55043.cc: Likewise.
2373 * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
2374 cannot support incomplete types.
2375 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
2378 2013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com>
2381 * include/std/unordered_map: Include alloc_traits.h
2382 * include/std/unordered_set: Likewise.
2383 * include/bits/alloc_traits.h: Define __is_copy_insertable.
2384 * include/bits/unordered_map.h: Use it.
2385 * include/bits/unordered_set.h: Likewise.
2386 * include/debug/unordered_map.h: Likewise.
2387 * include/debug/unordered_set.h: Likewise.
2388 * include/profile/unordered_map.h: Likewise.
2389 * include/profile/unordered_set.h: Likewise.
2390 * include/bits/hashtable.h: Fix comment typos.
2391 * testsuite/23_containers/unordered_map/55043.cc: New.
2392 * testsuite/23_containers/unordered_multimap/55043.cc: New.
2393 * testsuite/23_containers/unordered_multiset/55043.cc: New.
2394 * testsuite/23_containers/unordered_set/55043.cc: New.
2396 2013-01-03 Janis Johnson <janisjo@codesourcery.com>
2398 * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
2401 2013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
2403 * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
2405 2013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
2408 * include/std/functional (_Mem_fn::operator()): Fix constraints to
2410 * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
2411 * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
2413 2013-01-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2416 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
2418 * configure: Regenerate.
2420 2013-01-07 Jonathan Wakely <jwakely.gcc@gmail.com>
2423 * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
2424 * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
2428 * include/std/functional (bad_function_call::what()): Declare.
2429 * src/c++11/functional.cc (bad_function_call::what()): Define.
2430 * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
2431 * testsuite/20_util/bad_function_call/what.cc: New.
2433 2013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
2435 * include/bits/unordered_map.h: Fix typo in comments.
2436 * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
2437 counts for unordered associative containers.
2439 2013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
2441 * doc/xml/manual/abi.xml: Update library and symbol versions.
2443 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
2445 * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
2447 * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
2450 Copyright (C) 2013 Free Software Foundation, Inc.
2452 Copying and distribution of this file, with or without modification,
2453 are permitted in any medium without royalty provided the copyright
2454 notice and this notice are preserved.