]> git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/ChangeLog
Commit the vtable verification feature.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
1 2013-08-06 Caroline Tice <cmtice@google.com>
2
3 * fragment.am: Add XTEMPLATE_FLAGS.
4 * configure.ac: Add definitions for --enable-vtable-verify.
5 * acinclude.m4: Add --enable-vtable-verify and
6 --disable-vtable-verify; define --enable-vtable-verify; define
7 VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
8 * config/abi/pre/gnu.ver: Export symbols for vtable verification.
9 * libsupc++/Makefile.am: Define vtv_sources and add it to
10 libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
11 * libsupc++/vtv_stubs.cc: New file.
12 * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
13 * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
14 VTV_CXXLINKFLAGS to CXXLINK.
15 * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
16 to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
17 * src/C++11/Makefile.am: Ditto.
18 * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
19 * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
20 cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
21 * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
22 libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
23 cxxvtvflags to cxx_final.
24 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
25 -fvtable-verify=none to compiler flags.
26 * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
27 to compiler flags.
28 * configure: Regenerated.
29 * Makefile.in: Regenerated.
30 * python/Makefile.in: Regenerated.
31 * include/Makefile.in: Regenerated.
32 * libsupc++/Makefile.in: Regenerated.
33 * config.h.in: Regenerated.
34 * po/Makefile.in: Regenerated.
35 * src/Makefile.in: Regenerated.
36 * src/c++98/Makefile.in: Regenerated.
37 * src/c++11/Makefile.in: Regenerated.
38 * doc/Makefile.in: Regenerated.
39 * testsuite/Makefile.in: Regenerated.
40
41 2013-08-06 Paolo Carlini <paolo.carlini@oracle.com>
42
43 Revert the last commit.
44
45 2013-08-06 François Dumont <fdumont@gcc.gnu.org>
46
47 * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
48 (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
49 _Hashtable.
50 (_Before_begin<>): Remove.
51 * include/bits/hashtable.h (_Hashtable): Inherit from
52 _Hashtable_alloc and adapt. Restore _M_before_begin field.
53 * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
54 access to hashtable before begin.
55 * testsuite/23_containers/unordered_set/
56 not_default_constructible_hash_neg.cc: Adapt dg-error line number.
57 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
58 Likewise.
59
60 2013-08-03 Tim Shen <timshen91@gmail.com>
61
62 Implement bracket expression.
63 * include/bits/regex.h: Remove constexpr from "|=", etc.
64 * include/bits/regex_compiler.h: Parse bracket expression.
65 * include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old
66 _RangeMatcher).
67 * include/bits/regex_nfa.tcc: Implement them.
68 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
69 from regex_search to regex_match.
70 * testsuite/28_regex/algorithms/regex_match/extended/
71 cstring_bracket_01.cc: New.
72
73 2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
74
75 * include/debug/functions.h (__foreign_iterator_aux4):
76 Initialize __l and __ge.
77
78 2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
79
80 PR libstdc++/58049
81 * include/debug/functions.h: Include <bits/move.h>; minor formatting
82 changes.
83 (__foreign_iterator_aux4): Declare __l and __ge constexpr.
84 * include/debug/safe_iterator.h (_Safe_iterator<>::operator->):
85 Use __addressof.
86 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
87 operator->): Likewise.
88
89 2013-08-01 François Dumont <fdumont@gcc.gnu.org>
90
91 PR libstdc++/57779
92 * include/debug/formatter.h (_Debug_msg_id): Add
93 __msg_insert_itself_range entry.
94 * include/debug/functions.h (_Insert_range_from_self_is_safe<>):
95 New, indicate container types supporting self range insertion in
96 GNU implementation.
97 (__foreign_iterator): New, check if an iterator points to a given
98 sequence.
99 * include/debug/macros.h (__glibcxx_check_insert_range): Add check
100 using __foreign_iterator.
101 (__gibcxx_check_insert_range_after): Likewise.
102 * include/debug/string (_Insert_range_from_self_is_safe<>):
103 Partially specialized to mark __gnu_debug::basic_string<> as
104 supporting self range insert.
105 * include/debug/list (_Insert_range_from_self_is_safe<>):
106 Partially specialized to mark std::list as supporting self range
107 insert if _GLIBCXX_DEBUG_PEDANTIC is not defined.
108 * include/debug/forward_list (_Insert_range_from_self_is_safe<>):
109 Likewise.
110 * src/c++11/debug.cc (_S_debug_messages): Add
111 __msg_insert_itself_range_entry message.
112 (_Error_formatter::_Parameter::_M_print_description): Display
113 iterator sequence address rather than sequence address when the
114 parameter type is an iterator.
115 (_Error_formatter::_M_print_word): Enhance behavior when
116 displaying a word with an appended '\n'.
117 * testsuite/util/debug/checks.h (check_insert4<>): New.
118 * testsuite/23_containers/deque/debug/insert5_neg.cc: New.
119 * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
120 * testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise.
121 * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
122 * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
123 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
124 Likewise.
125
126 2013-08-01 Fabien Chêne <fabien@gcc.gnu.org>
127
128 PR c++/54537
129 * include/tr1/cmath: Remove pow(double,double) overload, remove a
130 duplicated comment about DR 550. Add a comment to explain the
131 issue.
132 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New.
133
134 2013-07-31 Tim Shen <timshen91@gmail.com>
135
136 Thompson matcher refactored. Fix grouping problem.
137 * include/bits/regex.h: Use a dispatcher _M_get_matcher().
138 * include/bits/regex_compiler.h: Tweak for auto switching.
139 * include/bits/regex_grep_matcher.h: Class structure.
140 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
141 matcher) refactoring.
142 * include/bits/regex_nfa.h: Change _Results's interfaces.
143 * include/std/regex: Includes <map> and <queue>.
144 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
145 For both matchers.
146 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
147 For both matchers.
148 * testsuite/28_regex/algorithms/regex_match/extended/
149 string_dispatch_01.cc: New.
150
151 2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
152
153 PR libstdc++/56627
154 * include/bits/stl_bvector.h: Use friend struct hash intead of
155 friend class hash to work around useless warnings produced by
156 some compilers.
157 * include/std/bitset: Likewise.
158
159 2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
160
161 * src/c++11/functexcept.cc: Do not include the whole <regex>.
162 * src/c++11/regex.cc: Likewise.
163
164 2013-07-31 Tim Shen <timshen91@gmail.com>
165
166 Revert last commit.
167
168 2013-07-31 Tim Shen <timshen91@gmail.com>
169
170 Thompson matcher refactored. Fix grouping problem.
171 * include/bits/regex.h: Use a dispatcher _M_get_matcher().
172 * include/bits/regex_compiler.h: Tweak for auto switching.
173 * include/bits/regex_grep_matcher.h: Class structure.
174 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
175 matcher) refactoring.
176 * include/bits/regex_nfa.h: Change _Results's interfaces.
177 * include/std/regex: Includes <map> and <queue>.
178 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
179 For both matchers.
180 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
181 For both matchers.
182 * testsuite/28_regex/algorithms/regex_match/extended/
183 string_dispatch_01.cc: New.
184
185 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
186
187 Revert last commit.
188
189 2013-07-30 Tim Shen <timshen91@gmail.com>
190
191 Thompson matcher refactored. Fix grouping problem.
192 * include/bits/regex.h: Use a dispatcher _M_get_matcher().
193 * include/bits/regex_compiler.h: Tweak for auto switching.
194 * include/bits/regex_grep_matcher.h: Class structure.
195 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
196 matcher) refactoring.
197 * include/bits/regex_nfa.h: Change _Results's interfaces.
198 * include/std/regex: Includes <map> and <queue>.
199 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
200 For both matchers.
201 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
202 For both matchers.
203 * testsuite/28_regex/algorithms/regex_match/extended/
204 string_dispatch_01.cc: New.
205
206 2013-07-29 Nathan Froyd <froydnj@gcc.gnu.org>
207
208 * include/std/atomic (compare_exchange_weak, compare_exchange_strong):
209 Add call to __cmpexch_failure_order.
210 * testsuite/util/testsuite_common_types.h
211 (compare_exchange_order_lowering): New generator.
212 * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
213 New test.
214
215 2013-07-25 Paolo Carlini <paolo.carlini@oracle.com>
216
217 * include/std/complex (pow(const complex<>&, int)): Enable in
218 C++11 mode too.
219 * testsuite/26_numerics/complex/dr844.cc: Adjust.
220 * doc/xml/manual/intro.xml: Update.
221
222 2013-07-25 Tim Shen <timshen91@gmail.com>
223
224 Add documents and comments.
225 * include/bits/regex.h: Documents and comments.
226 * include/bits/regex_grep_matcher.h: Likewise.
227 * include/bits/regex_grep_matcher.tcc: Likewise.
228 * testsuite/28_regex/iterators/regex_iterator/char/
229 string_position_01.cc: New.
230
231 2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
232
233 PR libstdc++/57976
234 * doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
235 time_get::do_get.
236
237 2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
238
239 * include/bits/random.h (random_device): Avoid using the FILE type.
240 * include/std/random: Do not include <cstdio>.
241 * src/c++11/random.cc: ... include it here.
242 (random_device::_M_init, random_device::_M_fini,
243 random_device::_M_getval): Cast back and forth void* and FILE*.
244
245 2013-07-24 Tim Shen <timshen91@gmail.com>
246
247 Reimplment matcher using Depth-first search(backtracking).
248 PR libstdc++/53622
249 PR libstdc++/57173
250 * include/bits/regex.h: regex_match() and regex_search().
251 * include/bits/regex_cursor.h: Fix _M_set_pos().
252 * include/bits/regex_grep_matcher.h: add _M_dfs_match().
253 * include/bits/regex_grep_matcher.tcc: Implement it.
254 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: New.
255 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: New.
256 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
257 Remove xfail.
258
259 2013-07-23 Tim Shen <timshen91@gmail.com>
260
261 Implement regex_iterator and regex_token_iterator.
262 * include/bits/regex.h: regex_iterator and regex_token_iterator.
263 * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
264 New.
265 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
266 New.
267 * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
268 New.
269 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
270 string_01.cc: New.
271
272 2013-07-23 Paolo Carlini <paolo.carlini@oracle.com>
273
274 * include/std/random: Add back <cstdio> include.
275 * src/c++11/random.cc: Don't include <cstdio> here.
276
277 2013-07-22 Jason Merrill <jason@redhat.com>
278
279 PR libstdc++/57914
280 * libsupc++/atexit_thread.cc (run): Delete cleanup elts.
281
282 2013-07-22 Paolo Carlini <paolo.carlini@oracle.com>
283
284 PR c++/57920
285 * src/c++11/random.cc (random_device::_M_getval): If possible, use
286 read instead of std::fread.
287 * include/std/random: Do not include <cstdio> unnecessarily.
288
289 2013-07-21 Tim Shen <timshen91@gmail.com>
290
291 Partially implement regex_search.
292 * include/bits/regex.h: regex_search.
293 * include/bits/regex_grep_matcher.h: _M_search_from_first.
294 * include/bits/regex_grep_matcher.tcc: Implement it.
295 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New.
296
297 2013-07-21 Jonathan Wakely <jwakely.gcc@gmail.com>
298
299 PR libstdc++/54352
300 * include/std/condition_variable (condition_variable_any): Move into
301 inline namespace _V2 and replace mutex member with shared_ptr<mutex>.
302 * src/c++11/condition_variable.cc (condition_variable_any): Move
303 definitions to ...
304 * src/c++11/compatibility-condvar.cc (condition_variable_any): Here.
305 * src/Makefile.am: Add new source file.
306 * src/Makefile.in: Regenerate.
307
308 2013-07-09 Tim Shen <timshen91@gmail.com>
309
310 Implement class regex_traits.
311 * include/bits/regex.h: Implement lookup_classname and
312 lookup_collatename; modify isctype; partially implement
313 transform_primary.
314 * testsuite/28_regex/traits/char/isctype.cc: Add more test cases.
315 * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
316 * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
317 * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
318 * testsuite/28_regex/traits/wchar_t/isctype.cc: New.
319 * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New.
320 * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New.
321 * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New.
322
323 2013-07-07 Ed Smith-Rowland <3dw4rd@verizon.net>
324
325 * doc/xml/manual/status_cxx2014.xml: Add links for papers.
326
327 2013-07-05 François Dumont <fdumont@gcc.gnu.org>
328
329 * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
330 pattern.
331 (_MoveReuseOrAllocNode): Remove.
332 (_Insert_base): Take a functor defining how the node is generated.
333 * include/bits/hashtable.h: Adapt.
334 (operator=(initializer_list<value_type>)): Reuse node if any.
335 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
336 Adjust dg-error line number.
337 * testsuite/23_containers/unordered_set/
338 not_default_constructible_hash_neg.cc: Likewise.
339
340 2013-07-05 Paolo Carlini <paolo.carlini@oracle.com>
341
342 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
343 Tweak, avoid potential undefined behavior.
344 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
345 Likewise.
346 * testsuite/23_containers/vector/bool/modifiers/insert/
347 const_iterator.cc: Likewise.
348 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
349 Likewise.
350
351 2013-07-04 Veres Lajos <vlajos@gmail.com>
352 Jonathan Wakely <jwakely.gcc@gmail.com>
353
354 * config/locale/generic/codecvt_members.cc: Fix typo.
355 * configure.host: Likewise.
356 * doc/html/manual/policy_data_structures_design.html: Likewise.
357 * doc/xml/manual/policy_data_structures.xml: Likewise.
358 * include/bits/hashtable.h: Likewise.
359 * include/bits/random.h: Likewise.
360 * include/profile/impl/profiler_trace.h: Likewise.
361 * testsuite/23_containers/deque/cons/2.cc: Likewise.
362 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
363 * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
364 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
365
366 2013-07-04 Ray Chason <chasonr@newsguy.com>
367 Paolo Carlini <paolo.carlini@oracle.com>
368
369 PR libstdc++/57808
370 * include/bits/regex.h (regex_token_iterator<>::operator==,
371 regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
372 regex_token_iterator<>::operator->): Declare const.
373
374 2013-07-01 Paolo Carlini <paolo.carlini@oracle.com>
375
376 * include/bits/stl_list.h (list<>::insert(iterator,
377 size_type, const value_type&), list<>::insert(iterator,
378 initializer_list<>), list<>::insert(iterator, _InputIterator,
379 _InputIterator), list<>::splice(iterator, list&&),
380 list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
381 iterator), list<>::splice(iterator, list&, iterator),
382 list<>::splice(iterator, list&&, iterator, iterator),
383 list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
384 signatures to take const_iterator(s).
385 * include/bits/list.tcc (list<>::insert(const_iterator, size_type,
386 const value_type&), list<>::insert(const_iterator, _InputIterator,
387 _InputIterator)): Define.
388 * include/ext/vstring.h (__versa_string<>::insert(iterator,
389 size_type, _CharT), __versa_string<>::insert(iterator,
390 _InputIterator, _InputIterator), __versa_string<>::insert(iterator,
391 std::initializer_list<>), __versa_string<>::replace(iterator,
392 iterator, _InputIterator, _InputIterator), __versa_string<>::
393 replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
394 signatures to take const_iterator(s).
395 (__versa_string<>::_M_replace_dispatch): Take const_iterators.
396 * include/ext/vstring.tcc: Likewise.
397 * include/debug/list: Adjust.
398 * include/profile/list: Likewise.
399 * testsuite/23_containers/list/operations/splice/const_iterator.cc:
400 New.
401 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
402 Extend.
403 * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
404 Likewise.
405 * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
406 Likewise.
407 * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
408 Likewise.
409 * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
410 Likewise.
411
412 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
413 Adjust dg-error line number.
414 * testsuite/23_containers/list/requirements/dr438/
415 constructor_1_neg.cc: Likewise.
416 * testsuite/23_containers/list/requirements/dr438/
417 constructor_2_neg.cc: Likewise.
418 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
419 Likewise.
420
421 2013-06-30 Paolo Carlini <paolo.carlini@oracle.com>
422
423 * include/bits/stl_deque.h (deque<>::insert(iterator,
424 size_type, const value_type&), deque<>::insert(iterator,
425 initializer_list<>), deque<>::insert(iterator, _InputIterator,
426 _InputIterator)): Adjust C++11 signatures to take a const_iterator.
427 * include/bits/stl_vector.h: Likewise.
428 * include/bits/stl_bvector.h: Likewise.
429 * include/debug/deque: Adjust.
430 * include/debug/vector: Likewise.
431 * include/profile/deque: Likewise.
432 * include/profile/vector: Likewise.
433 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
434 Extend.
435 * testsuite/23_containers/vector/bool/modifiers/insert/
436 const_iterator.cc: Likewise.
437 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
438 Likewise.
439
440 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
441 Adjust dg-error line number.
442 * testsuite/23_containers/deque/requirements/dr438/
443 constructor_1_neg.cc: Likewise.
444 * testsuite/23_containers/deque/requirements/dr438/
445 constructor_2_neg.cc: Likewise.
446 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
447 Likewise.
448 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
449 Likewise.
450 * testsuite/23_containers/vector/requirements/dr438/
451 constructor_1_neg.cc: Likewise.
452 * testsuite/23_containers/vector/requirements/dr438/
453 constructor_2_neg.cc: Likewise.
454 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
455 Likewise.
456
457 2013-06-29 François Dumont <fdumont@gcc.gnu.org>
458
459 * include/bits/hashtable_policy.h (_Insert_base): Consider hint in
460 insert methods.
461 * include/bits/hashtable.h: Likewise.
462 * testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
463 * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
464 New.
465 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
466 Adjust dg-error line number.
467 * testsuite/23_containers/unordered_set/
468 not_default_constructible_hash_neg.cc: Likewise.
469 * doc/xml/manual/containers.xml: Document hinting in unordered
470 containers.
471
472 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
473
474 * testsuite/21_strings/basic_string/operations/*: Move inside
475 testsuite/21_strings/basic_string/operations/data/.
476 * testsuite/21_strings/basic_string/compare/*: Move inside
477 testsuite/21_strings/basic_string/operations/.
478 * testsuite/21_strings/basic_string/find/*: Likewise.
479 * testsuite/21_strings/basic_string/rfind/*: Likewise.
480 * testsuite/21_strings/basic_string/substr/*: Likewise.
481
482 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
483
484 * testsuite/21_strings/basic_string/append/*: Move inside
485 testsuite/21_strings/basic_string/modifiers/.
486 * testsuite/21_strings/basic_string/assign/*: Likewise.
487 * testsuite/21_strings/basic_string/insert/*: Likewise.
488 * testsuite/21_strings/basic_string/replace/*: Likewise.
489 * testsuite/21_strings/basic_string/modifiers/pop_back/char/
490 pop_back.cc: Rename to 1.cc.
491 * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
492 pop_back.cc: Likewise.
493 * testsuite/ext/vstring/assign/*: Move inside
494 testsuite/ext/vstring/modifiers/.
495
496 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
497
498 * include/bits/stl_deque.h (deque<>::insert(iterator,
499 const value_type&), deque<>::insert(iterator, value_type&&),
500 deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
501 take a const_iterator.
502 (deque<>::erase): Simplify.
503 * include/bits/stl_list.h: Likewise.
504 (_List_iterator<>::_M_const_cast): Add.
505 * include/bits/stl_vector.h: Likewise.
506 * include/bits/stl_bvector.h: Likewise.
507 (_Bit_iterator::_M_const_cast): Add.
508 * include/bits/deque.tcc: Adjust definitions.
509 * include/bits/list.tcc: Likewise.
510 * include/bits/vector.tcc: Likewise.
511 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
512 Define trivial version in C++98 mode.
513 * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
514 __versa_string<>::replace(iterator, iterator, const __versa_string&),
515 __versa_string<>::replace(iterator, iterator, const _CharT*,
516 size_type), __versa_string<>::replace(iterator, iterator,
517 const _CharT*), __versa_string<>::replace(iterator, iterator,
518 size_type, _CharT)): Adjust C++11 signatures to take a pair of
519 const_iterators.
520 * include/debug/deque: Adjust.
521 * include/debug/list: Likewise.
522 * include/debug/vector: Likewise.
523 * include/profile/deque: Likewise.
524 * include/profile/list: Likewise.
525 * include/profile/vector: Likewise.
526 (vector<>::emplace): Add.
527 * testsuite/util/exception/safety.h: Update.
528 * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
529 New.
530 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
531 Likewise.
532 * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
533 Likewise.
534 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
535 Likewise.
536 * testsuite/23_containers/vector/bool/modifiers/insert/
537 const_iterator.cc: Likewise.
538 * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
539 Likewise.
540 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
541 Likewise.
542 * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
543 Likewise.
544 * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
545 Likewise.
546 * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
547 Likewise.
548 * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
549 Likewise.
550
551 * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
552 ext/vstring/modifiers/erase/char/.
553 * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
554 ext/vstring/modifiers/wchar_t/.
555 * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
556 ext/vstring/modifiers/pop_back/char/.
557 * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
558 testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
559
560 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
561 Adjust dg-error line number.
562 * testsuite/23_containers/deque/requirements/dr438/
563 constructor_1_neg.cc: Likewise.
564 * testsuite/23_containers/deque/requirements/dr438/
565 constructor_2_neg.cc: Likewise.
566 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
567 Likewise.
568 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
569 Likewise.
570 * testsuite/23_containers/list/requirements/dr438/
571 constructor_1_neg.cc: Likewise.
572 * testsuite/23_containers/list/requirements/dr438/
573 constructor_2_neg.cc: Likewise.
574 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
575 Likewise.
576 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
577 Likewise.
578 * testsuite/23_containers/vector/requirements/dr438/
579 constructor_1_neg.cc: Likewise.
580 * testsuite/23_containers/vector/requirements/dr438/
581 constructor_2_neg.cc: Likewise.
582 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
583 Likewise.
584
585 2013-06-25 Ed Smith-Rowland <3dw4rd@verizon.net>
586
587 Status page for C++2014 library features
588 * doc/xml/faq.xml: Add link to new C++14 status page.
589 * doc/xml/manual/intro.xml: Ditto.
590 * doc/xml/manual/status_cxx2014.xml: New.
591
592 2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
593
594 * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
595 spurious fails with check-debug.
596 * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
597 Likewise.
598 * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
599 * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
600 Likewise.
601
602 2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
603
604 PR libstdc++/57704
605 * include/bits/char_traits.h (char_traits<char>::lt): Implement
606 LWG 467.
607 * testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
608
609 2013-06-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
610
611 PR libstdc++/57691
612 * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
613 declare per the letter of the C++ standard in terms of void.
614 * include/c_std/cstdlib: Likewise.
615
616 2013-06-22 Paolo Carlini <paolo.carlini@oracle.com>
617
618 PR libstdc++/57674
619 * include/bits/random.h (binomial_distribution<>::_M_waiting):
620 Add double parameter.
621 * include/bits/random.tcc (binomial_distribution<>::operator()
622 (_UniformRandomNumberGenerator&, const param_type&)): Pass
623 __param._M_q to _M_waiting.
624 (_M_waiting): Adjust.
625 * testsuite/26_numerics/random/binomial_distribution/
626 operators/values.cc: Add tests.
627
628 2013-06-21 Paolo Carlini <paolo.carlini@oracle.com>
629
630 PR libstdc++/57666
631 * include/std/valarray (valarray<>::operator=(const _Expr<>&)):
632 Implement correctly C++11 26.6.2.3/1.
633 * testsuite/26_numerics/valarray/dr630-3.C: New.
634
635 2013-06-18 Jonathan Wakely <jwakely.gcc@gmail.com>
636
637 PR libstdc++/57641
638 * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
639 functionality to new __timed_mutex_impl mixin. Overload try_lock_until
640 to handle conversion between different clocks. Replace constrained
641 __try_lock_for_impl overloads with conditional increment.
642 * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
643 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
644
645 2013-06-17 Jonathan Wakely <jwakely.gcc@gmail.com>
646 Chris Jefferson <chris@bubblescope.net>
647
648 * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
649 dispatch to traditional std::equal for random-access iterators.
650 (__equal2_aux, __equal2): Remove.
651 (__equal::equal): Remove unused overloads.
652 * include/bits/stl_algo.h (is_permutation): Fix typos.
653
654 2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
655
656 * include/std/shared_mutex (shared_lock::operator=): Add missing
657 return statement.
658
659 2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
660
661 PR libstdc++/57263
662 * include/bits/forward_list.h (_Fwd_list_base): Convert to/from
663 allocator's pointer type.
664 * include/bits/hashtable.h (_Hashtable): Likewise.
665 * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
666 * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
667 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
668 * testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
669
670 2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
671
672 * include/std/shared_mutex: Implement N3659.
673 * include/bits/c++14_warning.h: New.
674 * include/Makefile.am: Add new headers.
675 * include/Makefile.in: Regenerate.
676 * testsuite/30_threads/shared_lock/cons/1.cc: New.
677 * testsuite/30_threads/shared_lock/locking/2.cc: New.
678 * testsuite/30_threads/shared_lock/cons/2.cc: New.
679 * testsuite/30_threads/shared_lock/locking/3.cc: New.
680 * testsuite/30_threads/shared_lock/cons/3.cc: New.
681 * testsuite/30_threads/shared_lock/locking/4.cc: New.
682 * testsuite/30_threads/shared_lock/cons/4.cc: New.
683 * testsuite/30_threads/shared_lock/modifiers/1.cc: New.
684 * testsuite/30_threads/shared_lock/cons/5.cc: New.
685 * testsuite/30_threads/shared_lock/modifiers/2.cc: New.
686 * testsuite/30_threads/shared_lock/cons/6.cc: New.
687 * testsuite/30_threads/shared_lock/requirements/
688 explicit_instantiation.cc: New.
689 * testsuite/30_threads/shared_lock/locking/1.cc: New.
690 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
691 * testsuite/30_threads/shared_mutex/cons/1.cc: New.
692 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
693 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
694 * testsuite/30_threads/shared_mutex/requirements/
695 standard_layout.cc: New.
696 * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
697 * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
698
699 2013-06-15 Paolo Carlini <paolo.carlini@oracle.com>
700
701 PR libstdc++/57619
702 * include/bits/unordered_map.h (unordered_map<>::insert,
703 unordered_multimap<>::insert): Use std::forward, not std::move.
704 * testsuite/23_containers/unordered_map/insert/57619.C: New.
705 * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
706
707 2013-06-14 Alan Modra <amodra@gmail.com>
708
709 * configure.host (abi_baseline_pair): Match powerpc64*.
710
711 2013-06-13 Daniel Krugler <daniel.kruegler@gmail.com>
712
713 * include/std/type_traits (is_function): Support ref-qualified
714 functions.
715 (is_copy_constructible, is_move_constructible, is_copy_assignable,
716 is_move_assignable, is_nothrow_copy_constructible,
717 is_nothrow_move_constructible, is_nothrow_copy_assignable,
718 is_nothrow_move_assignable): Implement LWG 2196.
719 (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
720 LWG 2101.
721 (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
722 unused.
723 * testsuite/20_util/add_lvalue_reference/value.cc: Extend.
724 * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
725 * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
726 * testsuite/20_util/is_assignable/value.cc: Likewise.
727 * testsuite/20_util/is_constructible/value-2.cc: Likewise.
728 * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
729 * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
730 * testsuite/20_util/is_function/value.cc: Likewise.
731 * testsuite/20_util/is_move_assignable/value.cc: Likewise.
732 * testsuite/20_util/is_move_constructible/value.cc: Likewise.
733 * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
734 * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
735 * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
736 * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
737
738 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
739 line number.
740 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
741 Likewise.
742 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
743 Likewise.
744
745 2013-06-13 Paolo Carlini <paolo.carlini@oracle.com>
746
747 * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
748 __gnu_cxx::__airy_bi()): Remove.
749 * testsuite/tr1/5_numerical_facilities/special_functions/
750 10_cyl_bessel_k/airy.cc: Fix.
751
752 2013-06-12 Ed Smith-Rowland <3dw4rd@verizon.net>
753
754 PR libstdc++/56430
755 * include/tr1/modified_bessel_func.tcc (__airy): Remove return
756 from void function.
757 (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
758 * testsuite/tr1/5_numerical_facilities/special_functions/
759 10_cyl_bessel_k/airy.cc: New.
760
761 2013-06-11 Ed Smith-Rowland <3dw4rd@verizon.net>
762
763 Fix library literals error involving namespace __detail.
764 * include/std/chrono: Rename __detail to __select_type. Reformat.
765 * include/bits/basic_string.h: Reformat.
766 * testsuite/20_util/duration/literals/ns_detail.cc: New.
767
768 2013-06-11 Paolo Carlini <paolo.carlini@oracle.com>
769
770 PR libstdc++/56019
771 * include/c_global/cstddef (max_align_t): Add to namespace std.
772 * include/c_std/cstddef: Likewise.
773 * testsuite/18_support/max_align_t/requirements/1.cc: New.
774 * testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
775
776 2013-06-10 Benjamin Kosnik <bkoz@redhat.com>
777
778 * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
779 * include/bits/stl_map.h (erase): Use abi_tag when C++11.
780 * include/bits/stl_multimap.h: Same.
781 * include/bits/stl_multiset.h: Same.
782 * include/bits/stl_set.h: Same.
783 * include/bits/stl_tree.h: Same.
784 * include/std/complex (real, imag): Use macro for abi_tag.
785
786 * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
787 * testsuite/util/testsuite_containers.h (erase_external): New
788 declarations.
789 (erase_external_iterators): Same.
790 (linkage_check_cxx98_cxx11_erase): Same.
791 (linkage_check_cxx98_cxx11_erase_iterators): Same.
792 * testsuite/util/testsuite_shared.cc: Define.
793 * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
794 * testsuite/23_containers/map/modifiers/erase/
795 dr130-linkage-check.cc: New.
796 * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
797 * testsuite/23_containers/multimap/modifiers/erase/
798 dr130-linkage-check.cc: New.
799 * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
800 * testsuite/23_containers/multiset/modifiers/erase/
801 dr130-linkage-check.cc: New.
802 * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
803 * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
804 New.
805 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
806
807 * testsuite/23_containers/map/dr130.cc: Move...
808 * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
809 * testsuite/23_containers/multimap/dr130.cc: Move ...
810 * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
811 * testsuite/23_containers/multiset/dr130.cc: Move...
812 * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
813 * testsuite/23_containers/set/dr130.cc: Move...
814 * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
815
816 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
817
818 * testsuite/17_intro/headers/c++1998/49745.cc: Extend current
819 handling of Linux-based x86 systems to cover all GNU systems.
820 * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
821 * testsuite/18_support/pthread_guard.cc: Likewise.
822 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
823 Likewise.
824 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
825 Likewise.
826 * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
827 * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
828 * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
829 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
830 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
831 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
832 * testsuite/23_containers/list/pthread1.cc: Likewise.
833 * testsuite/23_containers/list/pthread5.cc: Likewise.
834 * testsuite/23_containers/map/pthread6.cc: Likewise.
835 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
836 Likewise.
837 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
838 Likewise.
839 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
840 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
841 * testsuite/30_threads/async/42819.cc: Likewise.
842 * testsuite/30_threads/async/49668.cc: Likewise.
843 * testsuite/30_threads/async/54297.cc: Likewise.
844 * testsuite/30_threads/async/any.cc: Likewise.
845 * testsuite/30_threads/async/async.cc: Likewise.
846 * testsuite/30_threads/async/launch.cc: Likewise.
847 * testsuite/30_threads/async/sync.cc: Likewise.
848 * testsuite/30_threads/call_once/39909.cc: Likewise.
849 * testsuite/30_threads/call_once/49668.cc: Likewise.
850 * testsuite/30_threads/call_once/call_once1.cc: Likewise.
851 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
852 * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
853 * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
854 * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
855 * testsuite/30_threads/condition_variable/members/53841.cc:
856 Likewise.
857 * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
858 Likewise.
859 * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
860 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
861 * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
862 * testsuite/30_threads/condition_variable_any/members/1.cc:
863 Likewise.
864 * testsuite/30_threads/condition_variable_any/members/2.cc:
865 Likewise.
866 * testsuite/30_threads/future/cons/move.cc: Likewise.
867 * testsuite/30_threads/future/members/45133.cc: Likewise.
868 * testsuite/30_threads/future/members/get.cc: Likewise.
869 * testsuite/30_threads/future/members/get2.cc: Likewise.
870 * testsuite/30_threads/future/members/share.cc: Likewise.
871 * testsuite/30_threads/future/members/valid.cc: Likewise.
872 * testsuite/30_threads/future/members/wait.cc: Likewise.
873 * testsuite/30_threads/future/members/wait_for.cc: Likewise.
874 * testsuite/30_threads/future/members/wait_until.cc: Likewise.
875 * testsuite/30_threads/lock/1.cc: Likewise.
876 * testsuite/30_threads/lock/2.cc: Likewise.
877 * testsuite/30_threads/lock/3.cc: Likewise.
878 * testsuite/30_threads/lock/4.cc: Likewise.
879 * testsuite/30_threads/mutex/cons/1.cc: Likewise.
880 * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
881 * testsuite/30_threads/mutex/lock/1.cc: Likewise.
882 * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
883 * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
884 * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
885 * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
886 * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
887 * testsuite/30_threads/packaged_task/49668.cc: Likewise.
888 * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
889 * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
890 * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
891 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
892 * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
893 * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
894 * testsuite/30_threads/packaged_task/cons/move_assign.cc:
895 Likewise.
896 * testsuite/30_threads/packaged_task/members/get_future.cc:
897 Likewise.
898 * testsuite/30_threads/packaged_task/members/get_future2.cc:
899 Likewise.
900 * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
901 * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
902 * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
903 * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
904 * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
905 * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
906 * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
907 * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
908 * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
909 * testsuite/30_threads/promise/cons/1.cc: Likewise.
910 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
911 * testsuite/30_threads/promise/cons/move.cc: Likewise.
912 * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
913 * testsuite/30_threads/promise/members/get_future.cc: Likewise.
914 * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
915 * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
916 * testsuite/30_threads/promise/members/set_exception2.cc:
917 Likewise.
918 * testsuite/30_threads/promise/members/set_value.cc: Likewise.
919 * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
920 * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
921 * testsuite/30_threads/promise/members/swap.cc: Likewise.
922 * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
923 * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
924 Likewise.
925 * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
926 * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
927 Likewise.
928 * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
929 Likewise.
930 * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
931 * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
932 * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
933 * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
934 * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
935 Likewise.
936 * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
937 * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
938 * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
939 Likewise.
940 * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
941 Likewise.
942 * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
943 Likewise.
944 * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
945 Likewise.
946 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
947 Likewise.
948 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
949 Likewise.
950 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
951 Likewise.
952 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
953 Likewise.
954 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
955 Likewise.
956 * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
957 Likewise.
958 * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
959 * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
960 * testsuite/30_threads/shared_future/members/get.cc: Likewise.
961 * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
962 * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
963 * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
964 * testsuite/30_threads/shared_future/members/wait_for.cc:
965 Likewise.
966 * testsuite/30_threads/shared_future/members/wait_until.cc:
967 Likewise.
968 * testsuite/30_threads/this_thread/1.cc: Likewise.
969 * testsuite/30_threads/this_thread/2.cc: Likewise.
970 * testsuite/30_threads/this_thread/3.cc: Likewise.
971 * testsuite/30_threads/this_thread/4.cc: Likewise.
972 * testsuite/30_threads/thread/cons/1.cc: Likewise.
973 * testsuite/30_threads/thread/cons/2.cc: Likewise.
974 * testsuite/30_threads/thread/cons/3.cc: Likewise.
975 * testsuite/30_threads/thread/cons/4.cc: Likewise.
976 * testsuite/30_threads/thread/cons/49668.cc: Likewise.
977 * testsuite/30_threads/thread/cons/5.cc: Likewise.
978 * testsuite/30_threads/thread/cons/6.cc: Likewise.
979 * testsuite/30_threads/thread/cons/7.cc: Likewise.
980 * testsuite/30_threads/thread/cons/8.cc: Likewise.
981 * testsuite/30_threads/thread/cons/9.cc: Likewise.
982 * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
983 * testsuite/30_threads/thread/members/1.cc: Likewise.
984 * testsuite/30_threads/thread/members/2.cc: Likewise.
985 * testsuite/30_threads/thread/members/3.cc: Likewise.
986 * testsuite/30_threads/thread/members/4.cc: Likewise.
987 * testsuite/30_threads/thread/members/5.cc: Likewise.
988 * testsuite/30_threads/thread/members/hardware_concurrency.cc:
989 Likewise.
990 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
991 * testsuite/30_threads/thread/native_handle/typesizes.cc:
992 Likewise.
993 * testsuite/30_threads/thread/swap/1.cc: Likewise.
994 * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
995 * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
996 Likewise.
997 * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
998 * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
999 * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
1000 Likewise.
1001 * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
1002 * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
1003 * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
1004 * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
1005 * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
1006 * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
1007 * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
1008 * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
1009 * testsuite/30_threads/try_lock/1.cc: Likewise.
1010 * testsuite/30_threads/try_lock/2.cc: Likewise.
1011 * testsuite/30_threads/try_lock/3.cc: Likewise.
1012 * testsuite/30_threads/try_lock/4.cc: Likewise.
1013 * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
1014 * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
1015 * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
1016 * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
1017 * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
1018 * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
1019 * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
1020 * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
1021 * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
1022 * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
1023 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
1024 * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
1025 * testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
1026 * testsuite/ext/profile/mh.cc: Likewise.
1027 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
1028 * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
1029 * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
1030 Likewise.
1031 * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
1032 Likewise.
1033 * testsuite/util/testsuite_performance.h: Extend current handling
1034 of Linux-based systems to cover all glibc-based systems.
1035
1036 2013-06-09 Jonathan Wakely <jwakely.gcc@gmail.com>
1037
1038 * include/std/mutex (call_once): Remove parentheses to fix error in
1039 c++1y and gnu++1y mode.
1040 * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
1041 thread to avoid undefined behaviour.
1042
1043 2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net>
1044
1045 Simplify and clean up library literals.
1046 * include/std/chrono: Simplify namespace and versioning management.
1047 * include/bits/basic_string.h: Ditto.
1048 * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
1049 * testsuite/20_util/duration/literals/values.cc: Ditto.
1050 * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
1051 * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
1052
1053 2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net>
1054
1055 Implement N3654 - Quoted Strings Library Proposal
1056 * include/std/iomanip: Add quoted(String, Char delim, Char escape)
1057 manipulators and supporting machinery in c++1y mode.
1058 * testsuite/27_io/manipulators/standard/char/quoted.cc: New.
1059 * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
1060
1061 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
1062
1063 * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
1064 2162: Add noexcept.
1065
1066 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
1067
1068 * include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
1069 * include/bits/stl_algobase.h (equal, mismatch): Likewise.
1070 * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
1071 * testsuite/25_algorithms/equal/2.cc: New.
1072 * testsuite/25_algorithms/equal/check_type2.cc: New.
1073 * testsuite/25_algorithms/is_permutationqual/2.cc: New.
1074 * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
1075 * testsuite/25_algorithms/mismatch/2.cc: New.
1076 * testsuite/25_algorithms/mismatch/check_type2.cc: New.
1077 * testsuite/util/testsuite_iterators.h: Fix spelling.
1078
1079 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
1080
1081 * include/std/type-traits (integral_constant::operator()): Implement
1082 N3545.
1083 * testsuite/20_util/integral_constant/call_operator.cc: New.
1084 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1085 line numbers.
1086 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1087 Likewise.
1088 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1089 Likewise.
1090
1091 2013-06-07 Uros Bizjak <ubizjak@gmail.com>
1092
1093 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1094
1095 2013-06-05 Tom Tromey <tromey@redhat.com>
1096
1097 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
1098
1099 2013-06-03 Paolo Carlini <paolo.carlini@oracle.com>
1100
1101 PR c++/57419
1102 * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
1103
1104 2013-06-01 Ed Smith-Rowland <3dw4rd@verizon.net>
1105
1106 * include/std/chrono: Collapse redundant 'inline' from 'inline
1107 constexpr'.
1108 * include/std/tuple: Ditto.
1109 * include/bits/move.h: Ditto.
1110
1111 2013-05-30 Ed Smith-Rowland <3dw4rd@verizon.net>
1112
1113 Implement N3642 - User-defined Literals for Standard Library Types
1114 * include/bits/parse_numbers.h: New.
1115 * include/std/chrono: Add duration literal operators.
1116 * include/bits/basic_string.h: Add string literal operators.
1117 * include/Makefile.in: Add parse_numbers.h.
1118 * include/Makefile.am: Ditto.
1119 * testsuite/20_util/duration/literals/values.cc: New.
1120 * testsuite/20_util/duration/literals/types.cc: New.
1121 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
1122 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
1123 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
1124 * testsuite/21_strings/basic_string/literals/values.cc: New.
1125 * testsuite/21_strings/basic_string/literals/types.cc: New.
1126
1127 2013-05-28 Jonathan Wakely <jwakely.gcc@gmail.com>
1128
1129 * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
1130 !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
1131 calling non-existent from_time_t.
1132
1133 2013-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1134
1135 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
1136 Regenerate.
1137
1138 2013-05-24 Benjamin Kosnik <bkoz@redhat.com>
1139
1140 * include/std/chrono: Wrap clocks in inline namespace _V2.
1141 * src/c++11/chrono.cc: Same.
1142 * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
1143 file, with default configure macros selected.
1144
1145 * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
1146 namespace.
1147 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
1148
1149 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
1150 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
1151 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
1152 Regenerated.
1153 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1154 Regenerated.
1155 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
1156 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
1157 Regenerated.
1158 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
1159 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
1160 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
1161 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
1162 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
1163 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
1164 Regenerated.
1165 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
1166 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
1167
1168 2013-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1169
1170 * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
1171 (CLOCK_MONOTONIC): Define.
1172
1173 2013-05-24 Paolo Carlini <paolo.carlini@oracle.com>
1174
1175 * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
1176 overload.
1177
1178 * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
1179
1180 2013-05-24 Jakub Jelinek <jakub@redhat.com>
1181
1182 * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
1183 include unistd.h and sys/syscall.h. If _GLIBCXX_COMPATIBILITY_CXX0X,
1184 don't define system_clock::is_steady, system_clock::now() and
1185 steady_clock::is_steady.
1186 (std::chrono::system_clock::now()): If
1187 _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
1188 syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
1189 (std::chrono::system_clock::now()): Likewise. Add weak attribute
1190 if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
1191 be non-empty.
1192 * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
1193 (compatibility-chrono.lo, compatibility-chrono.o): New goals.
1194 * src/c++11/compatibility-chrono.cc: New file.
1195 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
1196 syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
1197 * testsuite/util/testsuite_abi.cc (check_version): Add
1198 GLIBCXX_3.4.20 version and make it the latest.
1199 * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
1200 also @@GLIBCXX_3.4.19. Move all symbols so far added for GCC 4.9 to
1201 @@GLIBCXX_3.4.20 instead.
1202 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
1203 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
1204 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
1205 Regenerated.
1206 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1207 Regenerated.
1208 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
1209 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
1210 Regenerated.
1211 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
1212 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
1213 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
1214 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
1215 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
1216 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
1217 Regenerated.
1218 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
1219 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
1220 * config.h.in: Regenerated.
1221 * src/Makefile.in: Regenerated.
1222 * configure: Regenerated.
1223
1224 2013-05-23 Matthias Klose <doko@ubuntu.com>
1225
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.
1232 * include/ext/random: Include ext/opt_random.h.
1233
1234 2013-05-22 Jonathan Wakely <jwakely.gcc@gmail.com>
1235
1236 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
1237 enable features if target OS is known to support them.
1238 * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
1239 * configure: Regenerate.
1240
1241 2013-05-21 Jonathan Wakely <jwakely.gcc@gmail.com>
1242
1243 PR libstdc++/57336
1244 * include/std/functional (__invoke): Do not form function types with
1245 abstract return type.
1246 * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
1247
1248 2013-05-19 Jonathan Wakely <jwakely.gcc@gmail.com>
1249
1250 * include/std/tuple (get): Implement N3670.
1251 * include/std/utility (get): Likewise.
1252 * testsuite/20_util/pair/get.cc: Move to ...
1253 * testsuite/20_util/pair/astuple/get.cc: Here.
1254 * testsuite/20_util/pair/astuple/astuple.cc: New.
1255 * testsuite/20_util/pair/astuple/constexpr_get.cc: New.
1256 * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
1257 * testsuite/20_util/pair/astuple/get_by_type.cc: New.
1258 * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
1259 * testsuite/20_util/pair/astuple/get_neg.cc: New.
1260 * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
1261 * testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
1262 * testsuite/20_util/tuple/element_access/get_by_type.cc: New.
1263
1264 2013-05-19 Paolo Carlini <paolo.carlini@oracle.com>
1265
1266 * Revert last commit.
1267
1268 2013-05-19 Matthias Klose <doko@ubuntu.com>
1269
1270 * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
1271 (ext_headers): Remove ${ext_host_headers}.
1272 (stamp-${host_alias}): Create ${host_builddir}/../ext.
1273 (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
1274 (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
1275 * include/Makefile.in: Regenerate.
1276
1277 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1278
1279 * include/std/system_error (error_category::error_category()): LWG
1280 2145: Declare public and constexpr.
1281 * src/c++11/system_error.cc (error_category::error_category()): Move
1282 definition to ...
1283 * src/c++11/compatibility-c++0x.cc: Here.
1284
1285 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1286
1287 * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
1288
1289 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1290
1291 * include/bits/unique_ptr.h (make_unique): Declare inline.
1292 (unique_ptr<T[],D>::reset()): Combine two overloads into one.
1293 (default_delete, unique_ptr): Add doxygen comments.
1294 * include/bits/shared_ptr_base.h: Improve doxygen comments.
1295 * include/bits/shared_ptr.h: Likewise.
1296 * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
1297 number.
1298 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
1299
1300 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1301
1302 * doc/xml/manual/status_cxx2011.xml: Fix markup error.
1303
1304 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1305
1306 * doc/xml/manual/status_cxx2011.xml: Fix markup error.
1307
1308 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1309
1310 * include/std/utility (exchange): Define.
1311 * testsuite/20_util/exchange/1.cc: New.
1312
1313 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1314
1315 * include/bits/unique_ptr.h (make_unique): Define.
1316 * testsuite/20_util/unique_ptr/creation/single.cc: New.
1317 * testsuite/20_util/unique_ptr/creation/array.cc: New.
1318 * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
1319
1320 2013-05-15 François Dumont <fdumont@gcc.gnu.org>
1321
1322 * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
1323 rendering of std::tr1 unordered containers iterator.
1324 (StdHashtableIterator): New, render std unordered containers iterator.
1325 * testsuite/libstdc++-prettyprinters/tr1.cc: New.
1326
1327 2013-05-15 Jonathan Wakely <jwakely.gcc@gmail.com>
1328
1329 * include/bits/basic_string.h (getline): Fix doxygen comments.
1330
1331 2013-05-14 Paolo Carlini <paolo.carlini@oracle.com>
1332
1333 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1334 Use std::pointer_traits.
1335
1336 2013-05-13 Benjamin Kosnik <bkoz@redhat.com>
1337
1338 * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
1339 bad_array_new.cc.
1340 * libsupc++/Makefile.in: Regenerate.
1341 * libsupc++/bad_array_length.cc: Tweak.
1342 * libsupc++/bad_array_new.cc: Tweak.
1343
1344 2013-05-10 Paolo Carlini <paolo.carlini@oracle.com>
1345
1346 PR libstdc++/54577
1347 * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
1348 (_Deque_iterator<>::_M_const_cast): Add.
1349 (deque<>::_M_erase): Declare.
1350 * include/bits/deque.tcc: ... and define.
1351 * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
1352 (_List_const_iterator<>::_M_const_cast): Add.
1353 * include/bits/list.tcc (erase (iterator)): Fix.
1354 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1355 Add; include <ext/cast.h>.
1356 * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
1357 (vector<>::_M_erase): Declare.
1358 * include/bits/stl_bvector.h: Likewise.
1359 * include/bits/vector.tcc (vector<>::_M_erase): Define.
1360 * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
1361 * include/debug/deque: Adjust.
1362 * include/debug/list: Likewise.
1363 * include/debug/vector: Likewise.
1364 * include/profile/deque: Likewise.
1365 * include/profile/list: Likewise.
1366 * include/profile/vector: Likewise.
1367 * testsuite/util/exception/safety.h (erase_base<deque>,
1368 erase_base<deque>, erase_base<vector>): Remove.
1369 (erase_base<__versa_string>): Update.
1370 * testsuite/ext/vstring/modifiers/char/54577.cc: New.
1371 * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
1372 * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
1373 * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
1374 * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
1375 Likewise.
1376 * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
1377 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1378 Adjust dg-error line numbers.
1379 * testsuite/23_containers/deque/requirements/dr438/
1380 constructor_1_neg.cc: Likewise.
1381 * testsuite/23_containers/deque/requirements/dr438/
1382 constructor_2_neg.cc: Likewise.
1383 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1384 Likewise.
1385 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1386 Likewise.
1387 * testsuite/23_containers/list/requirements/dr438/
1388 constructor_1_neg.cc: Likewise.
1389 * testsuite/23_containers/list/requirements/dr438/
1390 constructor_2_neg.cc: Likewise.
1391 * testsuite/23_containers/list/requirements/dr438/
1392 insert_neg.cc: Likewise.
1393 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1394 Likewise.
1395 * testsuite/23_containers/vector/requirements/dr438/
1396 constructor_1_neg.cc: Likewise.
1397 * testsuite/23_containers/vector/requirements/dr438/
1398 constructor_2_neg.cc: Likewise.
1399 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1400 Likewise.
1401
1402 2013-05-09 Uros Bizjak <ubizjak@gmail.com>
1403
1404 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
1405
1406 2013-05-08 Jason Merrill <jason@redhat.com>
1407
1408 Add std::bad_array_length (N3639)
1409 * libsupc++/new: Add std::bad_array_length.
1410 * libsupc++/bad_array_length.cc: New.
1411 * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
1412 * libsupc++/Makefile.in: Build them.
1413 * config/abi/pre/gnu.ver: Add new symbols.
1414 * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
1415
1416 2013-05-08 Andi Kleen <ak@linux.intel.com>
1417
1418 PR target/55947
1419 * libstdc++-v3/include/bits/atomic_base.h
1420 (_GLIBCXX_ALWAYS_INLINE): Add new macro.
1421 (atomic_thread_fence, atomic_signal_fence, test_and_set,
1422 clear, store, load, exchange, compare_exchange_weak)
1423 compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
1424 fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
1425
1426 2013-05-08 Jason Merrill <jason@redhat.com>
1427
1428 Add std::bad_array_new_length (N2932)
1429 * libsupc++/new: Add std::bad_array_new_length.
1430 * libsupc++/bad_array_new.cc: New.
1431 * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
1432 * libsupc++/Makefile.in: Build them.
1433 * config/abi/pre/gnu.ver: Add new symbols.
1434 * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
1435
1436 2013-05-08 Andoni Morales Alastruey <ylatuya@gmail.com>
1437
1438 PR libstdc++/57212
1439 * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
1440 to __MINGW32__.
1441 * include/Makefile.in: Regenerated.
1442
1443 2013-05-07 François Dumont <fdumont@gcc.gnu.org>
1444
1445 * include/profile/unordered_base.h: New.
1446 * include/Makefile.am: Add new profile header.
1447 * include/Makefile.in: Regenerate.
1448 * include/profile/impl/profiler.h
1449 (__profcxx_inefficient_hash_is_on): New macro.
1450 * include/profile/unordered_map (std::profile::unordered_map<>):
1451 Use new _Unordered_profile base class. Use default implementations
1452 for special functions.
1453 (std::profile::unordered_multimap<>): Likewise.
1454 * include/profile/unordered_set (std::profile::unordered_set<>):
1455 Likewise.
1456 (std::profile::unordered_multiset<>): Likewise.
1457 * testsuite/23_containers/unordered_multiset/55043.cc: Fix
1458 MoveOnly equality operator signature.
1459
1460 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
1461
1462 * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
1463 constexpr_data.cc: Move...
1464 * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
1465 ... here.
1466 * testsuite/20_util/integral_constant/requirements/
1467 explicit_instantiation.cc: New.
1468 * testsuite/20_util/integral_constant/requirements/typedefs.cc:
1469 Likewise.
1470 * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
1471 * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
1472 Likewise.
1473 * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
1474 * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
1475
1476 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
1477
1478 * include/std/type_traits (is_null_pointer): Add.
1479 (__is_nullptr_t): Implement in terms of the latter.
1480 (is_fundamental, is_scalar): Adjust.
1481 * testsuite/20_util/is_null_pointer/requirements/
1482 explicit_instantiation.cc: New.
1483 * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
1484 Likewise.
1485 * testsuite/20_util/is_null_pointer/value.cc: Likewise.
1486 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1487 line number.
1488 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1489 Likewise.
1490 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1491 Likewise.
1492
1493 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
1494
1495 * include/c_global/cstdio: Add comment about LWG 2249.
1496 * include/c_std/cstdio: Likewise.
1497
1498 2013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com>
1499
1500 * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
1501 comment.
1502 * include/std/mutex (__recursive_mutex_base): Likewise.
1503
1504 2013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com>
1505
1506 PR libstdc++/51365
1507 * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
1508 implement EBO safely.
1509 (_Sp_counted_base::_M_get_deleter): Add noexcept.
1510 (_Sp_counter_ptr): Use noexcept instead of comments.
1511 (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
1512 (_Sp_counted_ptr_inplace): Likewise.
1513 * testsuite/20_util/shared_ptr/cons/51365.cc: New.
1514 * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
1515 custom allocator and test construction with custom allocator.
1516 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
1517 line number.
1518
1519 2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
1520
1521 * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
1522 dialect to -std=gnu++11.
1523
1524 2013-04-26 François Dumont <fdumont@gcc.gnu.org>
1525
1526 * include/bits/hashtable_policy.h
1527 (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
1528 * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
1529
1530 2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
1531
1532 * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
1533 * include/c_std/cstdio (gets): Likewise.
1534 * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
1535
1536 2013-04-25 Paolo Carlini <paolo.carlini@oracle.com>
1537
1538 PR libstdc++/57065
1539 * include/debug/unordered_map (unordered_map, unordered_multimap):
1540 Fix default allocator type.
1541 * include/profile/unordered_map (unordered_map, unordered_multimap):
1542 Likewise.
1543 * include/bits/unordered_map.h: Fix comments.
1544
1545 2013-04-24 Jonathan Wakely <jwakely.gcc@gmail.com>
1546
1547 PR libstdc++/56905
1548 * libsupc++/exception_ptr.h (copy_exception): Deprecate and
1549 move implementation to make_exception_ptr.
1550 * include/std/future (_State_base::_M_break_promise): Replace
1551 copy_exception with make_exception_ptr.
1552 * testsuite/18_support/exception_ptr/move.cc: Likewise.
1553 * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
1554 * testsuite/30_threads/future/members/get2.cc: Likewise.
1555 * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
1556 * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
1557 * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
1558 * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
1559
1560 2013-04-22 Jason Merrill <jason@redhat.com>
1561
1562 * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
1563
1564 * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
1565 substitution" lines.
1566
1567 * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
1568 function-cv-quals.
1569 * testsuite/20_util/is_constructible/value-2.cc: Likewise.
1570 * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
1571 * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
1572
1573 2013-04-22 François Dumont <fdumont@gcc.gnu.org>
1574
1575 * include/bits/hashtable_policy.h: Add C++11 allocator support.
1576 * include/bits/hashtable.h: Likewise.
1577 * include/bits/unordered_set.h: Likewise.
1578 * include/bits/unordered_map.h: Likewise.
1579 * include/debug/unordered_set: Likewise.
1580 * include/debug/unordered_map: Likewise.
1581 * include/std/unordered_set: Remove bits/algobase.h
1582 include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
1583 * include/std/unordered_map: Likewise.
1584 * include/ext/throw_allocator.h: Add checks on calls to allocator
1585 construct/destroy.
1586 (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
1587 (std::hash<__gnu_cxx::throw_value_random>): Likewise.
1588 * testsuite/util/regression/rand/priority_queue
1589 /container_rand_regression_test.tcc: Adapt.
1590 * testsuite/util/regression/rand/assoc
1591 /container_rand_regression_test.tcc: Likewise.
1592 * testsuite/util/testsuite_counter_type.h: Add count of destructors.
1593 * testsuite/23_containers/unordered_set
1594 /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
1595 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
1596 * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
1597 * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
1598 * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
1599 * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
1600 * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
1601 * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
1602 * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
1603 * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
1604 New.
1605 * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
1606 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1607 New.
1608 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
1609 * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
1610 * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
1611 * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
1612 * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
1613 * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
1614 * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
1615 New.
1616 * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
1617 * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
1618 * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
1619 New.
1620 * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
1621 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1622 New.
1623 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
1624 * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
1625
1626 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
1627
1628 * include/std/type_traits (is_signed): Simplify.
1629 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1630 Adjust dg-error line numbers.
1631 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1632 Likewise.
1633 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1634
1635 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
1636
1637 N3669
1638 * include/std/complex (complex<float>::real, complex<float>::imag,
1639 complex<double>::real, complex<double>::imag,
1640 complex<long double>::real, complex<long double>::imag): Declare
1641 as const member functions.
1642 * include/std/type_traits (integral_constant<>::operator value_type):
1643 Likewise.
1644
1645 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
1646
1647 PR libstdc++/57010
1648 * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
1649 * testsuite/25_algorithms/pop_heap/57010.cc: New.
1650
1651 2013-04-21 Evgeniy Stepanov <eugenis@google.com>
1652
1653 * src/c++11/system_error.cc (generic_category_instance): Add
1654 initializer.
1655 (system_category_instance): Likewise.
1656 * src/c++11/future.cc (__fec): Likewise.
1657
1658 2013-04-20 Jonathan Wakely <jwakely.gcc@gmail.com>
1659
1660 * doc/xml/manual/extensions.xml: Fix anachronism.
1661
1662 2013-04-09 Tom Tromey <tromey@redhat.com>
1663
1664 * configure, config.h.in: Rebuild.
1665 * configure.ac: Use GLIBCXX_CHECK_SDT_H. Don't check for
1666 sys/sdt.h.
1667 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
1668
1669 2013-04-09 Uros Bizjak <ubizjak@gmail.com>
1670
1671 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1672
1673 2013-04-08 Paolo Carlini <paolo.carlini@oracle.com>
1674
1675 * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
1676
1677 2013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com>
1678
1679 * include/Makefile.am: Add ext/aligned_buffer.h
1680 * include/Makefile.in: Regenerate.
1681 * include/ext/aligned_buffer.h: New.
1682 * include/std/future (_Result): Use __aligned_buffer.
1683 * include/bits/forward_list.h (_Fwd_list_node): Likewise.
1684 * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
1685 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
1686 number.
1687
1688 2013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com>
1689
1690 * include/bits/forward_list.h: Only include required headers.
1691 (forward_list::reference): Define directly, not using __alloc_traits.
1692 (forward_list::const_reference): Likewise.
1693
1694 2013-04-07 François Dumont <fdumont@gcc.gnu.org>
1695
1696 * include/std/functional (_Derives_from_unary_function): Remove.
1697 (_Derives_from_binary_function): Remove.
1698 * include/std/type_traits (__sfinae_types): Remove.
1699 (__is_assignable_helper): Adapt.
1700 (__is_convertible_helper): Adapt.
1701 (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
1702 Remove several explicit instantiations of integral_constant.
1703 * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
1704 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1705 Adapt dg-error line number.
1706 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1707 Likewise.
1708 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1709 * testsuite/20_util/bind/ref_neg.cc: Likewise.
1710
1711 2013-04-05 Jonathan Wakely <jwakely.gcc@gmail.com>
1712
1713 PR libstdc++/56841
1714 * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
1715 get_terminate() accessors.
1716 * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
1717 * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
1718 available.
1719 * libsupc++/new_handler.cc: Likewise.
1720
1721 2013-04-04 Jonathan Wakely <jwakely.gcc@gmail.com>
1722
1723 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
1724
1725 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
1726
1727 PR libstdc++/56834
1728 * include/debug/array (tuple_size, tuple_element): Do not declare.
1729 * include/profile/array: Likewise.
1730 * testsuite/23_containers/array/tuple_interface/
1731 tuple_element_debug_neg.cc: Adjust dg-error line number.
1732
1733 2013-04-03 Jonathan Wakely <jwakely.gcc@gmail.com>
1734
1735 * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
1736 * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
1737 Define.
1738 (set_terminate(terminate_handler)): Set atomically.
1739 (set_unexpected(terminate_handler)): Likewise.
1740 * libsupc++/new (get_new_handler()): Declare.
1741 * libsupc++/new_handler.cc (get_new_handler()): Define.
1742 (set_new_handler(new_handler)): Set atomically.
1743 (__new_handler): Use internal linkage.
1744 * libsupc++/new_op.cc (operator new): Use get_new_handler().
1745 * libsupc++/new_opnt.cc (operator new): Likewise.
1746 * acinclude.m4: Bump libtool_VERSION to 6:19:0.
1747 * configure: Regenerate.
1748 * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
1749 * libsupc++/Makefile.in: Regenerate.
1750 * config/abi/pre/gnu.ver: Add new exports.
1751 * doc/xml/manual/status_cxx2011.xml: Update.
1752 * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
1753 for handlers.
1754 * testsuite/18_support/headers/new/synopsis.cc: Likewise.
1755 * testsuite/18_support/new_handler.cc: New.
1756 * testsuite/18_support/terminate_handler.cc: New.
1757 * testsuite/18_support/unexpected_handler.cc: New.
1758
1759 2013-04-02 Jonathan Wakely <jwakely.gcc@gmail.com>
1760
1761 * doc/xml/manual/appendix_contributing.xml: Remove broken link and
1762 defer to general documentation on contributing to GCC.
1763 * doc/html/*: Regenerate.
1764
1765 2013-03-30 Gerald Pfeifer <gerald@pfeifer.com>
1766
1767 * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
1768
1769 * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
1770 Coding Standards.
1771
1772 * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
1773
1774 * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
1775
1776 * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
1777
1778 * doc/xml/manual/messages.xml: Adjust link to Java API specs.
1779
1780 * doc/xml/manual/policy_data_structures: Remove direct link to
1781 IBM Haifa Research Labs.
1782
1783 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
1784 for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
1785
1786 * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
1787 papers.
1788
1789 * doc/xml/manual/shared_ptr.xml: Use canonical address for
1790 www.boost.org.
1791
1792 2013-03-27 Kai Tietz <ktietz@redhat.com>
1793
1794 * crossconfig.m4: Add support for cygwin x64 target.
1795 * configure: Regenerated.
1796
1797 2013-03-25 Kai Tietz <ktietz@redhat.com>
1798
1799 * testsuite/18_support/50594.cc: For mingw-targets use only static
1800 libstdc++-version.
1801 * testsuite/19_diagnostics/error_category/operators/equal.cc
1802 * testsuite/19_diagnostics/error_code/cons/1.cc
1803 * testsuite/19_diagnostics/error_code/operators/bool.cc
1804 * testsuite/19_diagnostics/error_code/operators/equal.cc
1805 * testsuite/19_diagnostics/error_code/operators/not_equal.cc
1806 * testsuite/19_diagnostics/error_condition/cons/1.cc
1807 * testsuite/19_diagnostics/error_condition/operators/bool.cc
1808 * testsuite/19_diagnostics/error_condition/operators/equal.cc
1809 * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
1810 * testsuite/23_containers/set/requirements/exception/basic.cc
1811 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
1812 * testsuite/lib/dg-options.exp (dg-additional-options): New option.
1813
1814 2013-03-24 Jonathan Wakely <jwakely.gcc@gmail.com>
1815
1816 PR libstdc++/56170
1817 * include/ext/debug_allocator.h (debug_allocator): Add missing members
1818 to meet allocator requirements.
1819 * testsuite/ext/debug_allocator/56170.cc: New.
1820
1821 2013-03-22 Paolo Carlini <paolo.carlini@oracle.com>
1822
1823 PR libstdc++/56678
1824 * include/std/chrono (__is_ratio): Uglify T.
1825
1826 2013-03-18 Paolo Carlini <paolo.carlini@oracle.com>
1827
1828 PR libstdc++/55977 (partial, std::vector and std::deque bits)
1829 * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
1830 _InputIterator, std::input_iterator_tag)): Use emplace_back.
1831 * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
1832 _InputIterator, std::input_iterator_tag)): Likewise.
1833 * testsuite/23_containers/vector/cons/55977.cc: New.
1834 * testsuite/23_containers/deque/cons/55977.cc: Likewise.
1835 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1836 Adjust dg-error line number.
1837 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1838 Likewise.
1839
1840 2013-03-17 Paolo Carlini <paolo.carlini@oracle.com>
1841
1842 PR libstdc++/55979
1843 * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
1844 _InputIterator, __false_type)): Use emplace_back.
1845 * testsuite/23_containers/list/cons/55979.cc: New.
1846 * testsuite/23_containers/list/modifiers/1.h: Adjust.
1847 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1848 Adjust dg-error line number.
1849
1850 2013-03-16 Jason Merrill <jason@redhat.com>
1851
1852 PR c++/55017
1853 * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
1854
1855 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1856
1857 PR libstdc++/56468
1858 * libsupc++/exception_ptr.h (type_info): Declare.
1859
1860 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1861
1862 PR libstdc++/56002
1863 * include/std/mutex (lock_guard, unique_lock, lock): Define without
1864 depending on _GLIBCXX_HAS_GTHREADS.
1865 * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
1866
1867 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1868
1869 PR libstdc++/56492
1870 * include/std/future (__future_base::_Result): Add result_type
1871 typedef.
1872 (__future_base::_S_allocate_result): Overload for std::allocator.
1873 (__future_base::_Task_setter): Use _Result::result_type instead of
1874 deducing the type from the task.
1875 (__future_base::_Task_state): Store allocator to allow shared state
1876 to be reset. Replace std::function with member of target object type
1877 accessed via ...
1878 (__future_base::_Task_state_base): New abstract base class.
1879 (__future_base::_Task_state_base::_M_run): New virtual function to
1880 invoke type-erased target object.
1881 (__future_base::_Task_state_base::_M_reset): New virtual function to
1882 create new shared_state using same target object and allocator.
1883 (__future_base::__create_task_state): Allocate a new _Task_state.
1884 (packaged_task::packaged_task): Use __create_task_state.
1885 (packaged_task::reset): Use _Task_state_base::_M_reset.
1886 * testsuite/30_threads/packaged_task/cons/56492.cc: New.
1887
1888 2013-03-15 Tom Tromey <tromey@redhat.com>
1889
1890 * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
1891 (PROBE2): New macro.
1892 * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
1893 * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
1894 * configure.ac: Check for sys/sdt.h.
1895 * configure, config.h.in: Rebuild.
1896
1897 2013-03-14 Jonathan Wakely <jwakely.gcc@gmail.com>
1898
1899 PR libstdc++/56613
1900 * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
1901 allocator_traits instead of calling construct directly.
1902 * testsuite/23_containers/map/56613.cc: New.
1903
1904 2013-03-13 Benjamin Kosnik <bkoz@redhat.com>
1905
1906 * doc/html/*: Regenerate.
1907
1908 2013-03-13 Paolo Carlini <paolo.carlini@oracle.com>
1909
1910 PR libstdc++/56609
1911 * include/std/type_traits (is_fundamental): Add std::nullptr_t.
1912 * testsuite/20_util/is_fundamental/value.cc: Extend.
1913 * testsuite/20_util/is_compound/value.cc: Likewise.
1914
1915 2013-03-09 Paolo Carlini <paolo.carlini@oracle.com>
1916
1917 * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
1918 -Wunused warnings.
1919
1920 2013-03-08 Benjamin Kosnik <bkoz@redhat.com>
1921
1922 * include/bits/memoryfwd.h: New. Centralize forward declarations.
1923 * include/bits/algorithmfwd.h: Consistent comments.
1924 * include/bits/localefwd.h: Same.
1925 * include/ext/vstring_fwd.h: Same.
1926 * include/parallel/algorithmfwd.h: Same.
1927 * include/parallel/numericfwd.h: Same.
1928 * include/std/iosfwd: Same.
1929
1930 * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
1931 forward decl.
1932 * include/ext/alloc_traits.h: Remove allocator forward decl.
1933 * include/bits/stl_construct.h: Same.
1934 * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
1935 forward decl. Consistent comments.
1936
1937 * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
1938
1939 * include/Makefile.am (bits_headers): Add memoryfwd.h.
1940 * include/Makefile.in: Regenerate.
1941 * configure: Same.
1942
1943 2013-03-08 François Dumont <fdumont@gcc.gnu.org>
1944
1945 * include/bits/vector.tcc (vector<>operator=(const vector<>&):
1946 Reset pointers after deallocation when memory can be reused.
1947 * testsuite/23_containers/vector/allocator/minimal.cc: Insert
1948 elements to really challenge C++11 allocator integration.
1949 * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
1950 * testsuite/23_containers/vector/allocator/copy_assign.cc:
1951 Likewise.
1952 * testsuite/23_containers/vector/allocator/move_assign.cc:
1953 Likewise.
1954 * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
1955 swap vector back before checks on memory/personality mapping are
1956 performed.
1957 * testsuite/23_containers/forward_list/allocator/minimal.cc:
1958 Insert element to really challenge C++11 allocator integration.
1959 * testsuite/23_containers/forward_list/allocator/copy.cc:
1960 Likewise.
1961 * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
1962 Likewise.
1963 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1964 Likewise.
1965 * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
1966 and swap forward_list back before checks on memory/personality
1967 mapping are performed.
1968
1969 2013-03-07 Jakub Jelinek <jakub@redhat.com>
1970
1971 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1972 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1973 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1974 Likewise.
1975 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1976 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1977 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1978 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1979 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1980 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1981
1982 2013-03-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1983
1984 * scripts/extract_symvers.pl: Omit symbols bound to base
1985 versions.
1986 * scripts/extract_symvers.in: Likewise.
1987 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1988 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1989 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1990 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1991 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1992
1993 2013-03-04 Ulrich Drepper <drepper@gmail.com>
1994
1995 * include/ext/random (__gnu_cxx::von_mises_distribution<>):
1996 Optimize generation function by pulling computation of __r into the
1997 constructor for param_type. Also compare _M_mu in operator==.
1998 Fix comment.
1999
2000 2013-03-02 Ulrich Drepper <drepper@gmail.com>
2001
2002 Add triangular and von Mises distributions.
2003 * include/ext/random: Include <ext/cmath>.
2004 Add __gnu_cxx::triangular_distribution<> and
2005 __gnu_cxx::von_mises_distribution<> classes.
2006 * include/ext/random.tcc: Add out-of-line functions for
2007 __gnu_cxx::triangular_distribution<> and
2008 __gnu_cxx::von_mises_distribution<>.
2009 * testsuite/ext/triangular_distribution/cons/default.cc: New file.
2010 * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
2011 * testsuite/ext/triangular_distribution/operators/serialize.cc:
2012 New file.
2013 * testsuite/ext/triangular_distribution/operators/equal.cc:
2014 New file.
2015 * testsuite/ext/triangular_distribution/operators/inequal.cc:
2016 New file.
2017 * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
2018 New file.
2019 * testsuite/ext/triangular_distribution/requirements/
2020 explicit_instantiation/1.cc: New file.
2021 * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
2022 * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
2023 * testsuite/ext/von_mises_distribution/operators/serialize.cc:
2024 New file.
2025 * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
2026 * testsuite/ext/von_mises_distribution/operators/inequal.cc:
2027 New file.
2028 * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
2029 New file.
2030 * testsuite/ext/von_mises_distribution/requirements/
2031 explicit_instantiation/1.cc: New file.
2032
2033 Add math constants.
2034 * include/Makefile.am (ext_headers): Add cmath.
2035 * include/Makefile.in: Regenerated.
2036 * include/ext/cmath: New file.
2037
2038 2013-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2039
2040 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2041 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2042 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2043 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2044 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2045
2046 2013-02-26 Jonathan Wakely <jwakely.gcc@gmail.com>
2047
2048 PR libstdc++/56012
2049 * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
2050 * testsuite/29_atomics/atomic/operators/56012.cc: New.
2051
2052 PR libstdc++/56011
2053 * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
2054 missing overload.
2055 * testsuite/29_atomics/atomic/operators/56011.cc: New.
2056
2057 2013-02-25 Jason Merrill <jason@redhat.com>
2058
2059 * configure.ac: Check for __cxa_thread_atexit_impl.
2060 * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
2061 to it if available.
2062 * config.h.in, configure: Regenerate.
2063
2064 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
2065
2066 * include/std/streambuf (basic_streambuf): Use injected class name
2067 instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
2068 group.
2069
2070 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
2071
2072 * doc/html/faq.html: Fix spelling.
2073 * doc/xml/faq.xml: Likewise.
2074 * include/bits/basic_ios.h: Likewise.
2075 * include/bits/regex.h: Likewise.
2076 * include/std/istream: Likewise.
2077 * include/std/streambuf: Likewise.
2078
2079 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
2080
2081 * testsuite/23_containers/unordered_set/55043.cc: Add missing
2082 namespace qualification.
2083 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
2084
2085 2013-02-19 Benjamin Kosnik <bkoz@redhat.com>
2086
2087 * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
2088 _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
2089 AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
2090 * include/bits/stl_pair.h: Add to utilities group.
2091 * include/std/tuple: Same.
2092 * include/std/typeindex: Same.
2093
2094 * include/bits/stringfwd.h: Fix markup.
2095 * include/std/limits: Same.
2096 * include/std/type_traits: Same.
2097 * include/tr1/memory: Same.
2098 * include/tr1/regex: Same.
2099 * scripts/run_doxygen: Comment.
2100 * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
2101
2102 2013-02-14 Jason Merrill <jason@redhat.com>
2103
2104 * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
2105 test if unsupported.
2106
2107 2013-02-13 Marc Glisse <marc.glisse@inria.fr>
2108
2109 PR libstdc++/56111
2110 * include/std/complex (complex): Undefine.
2111 * include/c_compatibility/complex.h (complex): Only undefine if
2112 <complex> has been included.
2113 * testsuite/26_numerics/complex/56111.cc: New testcase.
2114
2115 2013-02-13 François Dumont <fdumont@gcc.gnu.org>
2116
2117 * include/bits/hashtable_policy.h (_Hash_code_base): Restore
2118 default constructor protected.
2119 * include/bits/hashtable.h: static assert that _Hash_code_base has
2120 a default constructor available through inheritance.
2121
2122 2013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
2123
2124 * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
2125 C++11 mode.
2126
2127 2013-02-12 Julian Brown <julian@codesourcery.com>
2128
2129 * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
2130 Don't expect dots after abbreviated weekday names for ru_RU for
2131 glibc versions >= 2.17.
2132 * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
2133 Likewise.
2134
2135 2013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
2136
2137 * include/bits/random.tcc (__transform): Remove.
2138 (__normalize): Add.
2139 (discrete_distribution<>::param_type::_M_initialize): Adjust.
2140 (piecewise_constant_distribution<>::param_type::_M_initialize):
2141 Likewise.
2142 (piecewise_linear_distribution<>::param_type::_M_initialize):
2143 Likewise.
2144
2145 2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
2146
2147 * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
2148 Use -fimplicit-templates.
2149 * src/c++11/Makefile.in: Regenerate.
2150 * src/c++11/hashtable_c++0x.cc: Remove instantiation for
2151 std::lower_bound template.
2152
2153 2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
2154
2155 * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
2156 * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
2157 in C++11 mode and if available in the underlying C library.
2158 * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
2159 -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
2160 _GLIBCXX_HAVE_QUICK_EXIT.
2161
2162 2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
2163
2164 * doc/html/*: Regenerate.
2165
2166 2013-02-11 Jason Merrill <jason@redhat.com>
2167
2168 * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
2169 (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
2170 * config.h.in, configure: Regenerate.
2171 * include/c_std/cstdlib: Add atexit and at_quick_exit.
2172 * include/c_global/cstdlib: Add atexit and at_quick_exit.
2173 * testsuite/18_support/quick_exit/quick_exit.cc: New.
2174
2175 2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
2176
2177 PR libstdc++/56282
2178 Revert:
2179 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net>
2180
2181 PR libstdc++/56193
2182 * include/bits/basic_ios.h: Replace operator void*() const
2183 with explicit operator bool() const in C++11 and greater.
2184 * testsuite/27_io/basic_ios/pr56193.cc: New file.
2185
2186 2013-02-10 François Dumont <fdumont@gcc.gnu.org>
2187 Jonathan Wakely <jwakely.gcc@gmail.com>
2188
2189 * doc/xml/manual/containers.xml: Add section on unordered containers.
2190 * doc/xml/manual/using.xml: Fix incomplete sentence.
2191
2192 2013-02-10 Jonathan Wakely <jwakely.gcc@gmail.com>
2193
2194 PR libstdc++/56267
2195 * include/bits/hashtable.h (__cache_default): Check if hash function
2196 is copy assignable.
2197 * testsuite/23_containers/unordered_set/56267.cc: New.
2198 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2199 dg-error line number.
2200 * testsuite/23_containers/unordered_set/
2201 not_default_constructible_hash_neg.cc: Likewise.
2202
2203 PR libstdc++/56278
2204 * include/bits/hashtable_policy.h (_Hash_code_base): Make default
2205 constructor public.
2206 * testsuite/23_containers/unordered_set/56278.cc: New.
2207
2208 2013-02-09 François Dumont <fdumont@gcc.gnu.org>
2209
2210 * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
2211 simplification.
2212
2213 2013-02-08 Edward Smith-Rowland <3dw4rd@verizon.net>
2214
2215 PR libstdc++/56216
2216 * include/tr1/special_function_util.h: Remove spurious const
2217 from numeric arguments.
2218 * include/tr1/riemann_zeta.tcc: Likewise.
2219 * include/tr1/exp_integral.tcc: Likewise.
2220 * include/tr1/bessel_function.tcc: Likewise.
2221 * include/tr1/hypergeometric.tcc: Likewise.
2222 * include/tr1/modified_bessel_func.tcc: Likewise.
2223 * include/tr1/poly_laguerre.tcc: Likewise.
2224 * include/tr1/gamma.tcc: Likewise.
2225 * include/tr1/legendre_function.tcc: Likewise.
2226 * include/tr1/poly_hermite.tcc: Likewise.
2227 * include/tr1/ell_integral.tcc: Likewise.
2228 * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
2229 If argument is zero return function value.
2230 * testsuite/tr1/5_numerical_facilities/special_functions/
2231 08_cyl_bessel_i/pr56216.cc: New.
2232
2233 2013-02-07 Paolo Carlini <paolo.carlini@oracle.com>
2234
2235 * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
2236
2237 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net>
2238
2239 PR libstdc++/56193
2240 * include/bits/basic_ios.h: Replace operator void*() const
2241 with explicit operator bool() const in C++11 and greater.
2242 * testsuite/27_io/basic_ios/pr56193.cc: New file.
2243
2244 2013-02-04 Dodji Seketeli <dodji@redhat.com>
2245
2246 Add missing explicit instantiation for std::lower_bound template
2247 * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
2248 missing instantiation for std::lower_bound template.
2249
2250 2013-02-04 François Dumont <fdumont@gcc.gnu.org>
2251
2252 * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
2253 * include/bits/basic_string.h: Specialize previous to mark
2254 std::hash for string types as slow.
2255 * include/bits/hashtable.h (__cache_default): Replace is_integral
2256 with __is_fast_hash.
2257 * src/c++11/hash_c++0x.cc: Add type_traits include.
2258 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2259 Adapt dg-error line number.
2260 * testsuite/23_containers/unordered_set/
2261 not_default_constructible_hash_neg.cc: Likewise.
2262
2263 2013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2264 Paolo Carlini <paolo.carlini@oracle.com>
2265
2266 PR libstdc++/56202 (again)
2267 * include/bits/random.tcc (binomial_distribution<>::
2268 _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
2269 in previous commit.
2270
2271 * include/bits/random.h: Fix comment typo.
2272
2273 2013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2274 Paolo Carlini <paolo.carlini@oracle.com>
2275
2276 PR libstdc++/56202
2277 * include/bits/random.tcc (binomial_distribution<>::
2278 _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
2279 division by zero.
2280
2281 2013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
2282
2283 Update copyright years.
2284 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
2285 testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
2286 testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
2287 testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
2288 testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
2289 testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
2290 testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
2291 testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
2292 testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
2293 testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
2294 testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
2295 testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
2296 testsuite/29_atomics/atomic/cons/assign_neg.cc,
2297 testsuite/29_atomics/atomic/cons/copy_neg.cc,
2298 testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
2299 testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
2300 testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
2301 testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
2302 testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
2303 Update lines in dg error matches.
2304
2305 2013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
2306
2307 * config/os/mingw32/ctype_inline.h: Fix copyright typo.
2308
2309 2013-02-01 François Dumont <fdumont@gcc.gnu.org>
2310
2311 * include/bits/hashtable_policy.h
2312 (_Prime_rehash_policy::_M_next_bkt)
2313 (_Prime_rehash_policy::_M_need_rehash): Move definition...
2314 * src/c++11/hashtable_c++0x.cc: ... here.
2315 * src/shared/hashtable-aux.cc: Remove c++config.h include.
2316 * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
2317 symbols.
2318
2319 2013-01-29 Jason Merrill <jason@redhat.com>
2320
2321 PR libstdc++/54314
2322 * config/abi/pre/gnu.ver: Don't export construction vtables.
2323 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
2324
2325 2013-01-28 Jonathan Wakely <jwakely.gcc@gmail.com>
2326
2327 PR libstdc++/56112
2328 * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
2329 to construct value_type explicitly before trying to extract the key.
2330 * testsuite/23_containers/unordered_map/cons/56112.cc: New.
2331
2332 2013-01-28 François Dumont <fdumont@gcc.gnu.org>
2333
2334 * include/bits/hashtable_policy.h (_Local_iterator_base): Use
2335 _Hashtable_ebo_helper to embed functors into the local_iterator
2336 when necessary. Pass information about functors involved in hash
2337 code by copy.
2338 * include/bits/hashtable.h (__cache_default): Do not cache for
2339 builtin integral types unless the hash functor is not noexcept
2340 qualified or is not default constructible. Adapt static assertions
2341 and local iterator instantiations.
2342 * include/debug/unordered_set
2343 (std::__debug::unordered_set<>::erase): Detect local iterators to
2344 invalidate using contained node rather than generating a dummy
2345 local_iterator instance.
2346 (std::__debug::unordered_multiset<>::erase): Likewise.
2347 * include/debug/unordered_map
2348 (std::__debug::unordered_map<>::erase): Likewise.
2349 (std::__debug::unordered_multimap<>::erase): Likewise.
2350 * testsuite/performance/23_containers/insert_erase/41975.cc: Test
2351 std::tr1 and std versions of unordered_set regardless of any
2352 macro. Add test on default cache behavior.
2353 * testsuite/performance/23_containers/insert/54075.cc: Likewise.
2354 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2355 Adapt line number.
2356 * testsuite/23_containers/unordered_set/
2357 not_default_constructible_hash_neg.cc: New.
2358 * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
2359
2360 2013-01-24 Paolo Carlini <paolo.carlini@oracle.com>
2361
2362 PR libstdc++/56085
2363 * include/std/complex (pow(const complex<>&, int)): Avoid __n
2364 signed overflow.
2365
2366 2013-01-22 Jakub Jelinek <jakub@redhat.com>
2367
2368 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
2369 Tightten scan-assembler-times regexps, add dg-additional-options for
2370 ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
2371 dg-options.
2372
2373 2013-01-12 Andi Kleen <ak@linux.intel.com>
2374 Jonathan Wakely <jwakely.gcc@gmail.com>
2375
2376 PR libstdc++/55233
2377 * include/bits/atomic_base.h (__memory_order_modifier): Add
2378 __memory_order_mask, __memory_order_modifier_mask,
2379 __memory_order_hle_acquire, __memory_order_hle_release.
2380 (operator|,operator&): Add.
2381 (__cmpexch_failure_order): Rename to __cmpexch_failure_order2.
2382 (__cmpexch_failure_order): Add.
2383 (clear, store, load, compare_exchange_weak, compare_exchange_strong):
2384 Handle flags.
2385 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
2386 Add.
2387
2388 2013-01-19 Jonathan Wakely <jwakely.gcc@gmail.com>
2389
2390 PR libstdc++/55861
2391 * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
2392 Fix return type.
2393 (__basic_future::_M_get_result()): Const qualify.
2394 (shared_future::get()): Likewise.
2395 * testsuite/30_threads/shared_future/members/get.cc: Use const
2396 objects.
2397
2398 2013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com>
2399
2400 PR libstdc++/55043 (again)
2401 * include/bits/alloc_traits.h (allocator_traits::construct): Disable
2402 unless construction would be well-formed.
2403 (__allow_copy_cons, __check_copy_constructible): Define.
2404 * include/bits/unordered_map.h (__check_copy_constructible): Use as
2405 base class so copy constructor will be deleted if appropriate.
2406 (is_copy_constructible): Remove specialization.
2407 * include/bits/unordered_set.h: Likewise.
2408 * include/debug/unordered_map.h: Undo previous commit. Default copy
2409 and move constructors.
2410 * include/debug/unordered_set.h: Likewise.
2411 * include/profile/unordered_map.h: Undo previous commit.
2412 * include/profile/unordered_set.h: Likewise.
2413 * testsuite/23_containers/unordered_map/55043.cc: Fix test.
2414 * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
2415 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
2416 * testsuite/23_containers/unordered_set/55043.cc: Likewise.
2417 * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
2418 cannot support incomplete types.
2419 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
2420 Likewise.
2421
2422 2013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com>
2423
2424 PR libstdc++/55043
2425 * include/std/unordered_map: Include alloc_traits.h
2426 * include/std/unordered_set: Likewise.
2427 * include/bits/alloc_traits.h: Define __is_copy_insertable.
2428 * include/bits/unordered_map.h: Use it.
2429 * include/bits/unordered_set.h: Likewise.
2430 * include/debug/unordered_map.h: Likewise.
2431 * include/debug/unordered_set.h: Likewise.
2432 * include/profile/unordered_map.h: Likewise.
2433 * include/profile/unordered_set.h: Likewise.
2434 * include/bits/hashtable.h: Fix comment typos.
2435 * testsuite/23_containers/unordered_map/55043.cc: New.
2436 * testsuite/23_containers/unordered_multimap/55043.cc: New.
2437 * testsuite/23_containers/unordered_multiset/55043.cc: New.
2438 * testsuite/23_containers/unordered_set/55043.cc: New.
2439
2440 2013-01-03 Janis Johnson <janisjo@codesourcery.com>
2441
2442 * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
2443 gdb command.
2444
2445 2013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
2446
2447 * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
2448
2449 2013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
2450
2451 PR libstdc++/55908
2452 * include/std/functional (_Mem_fn::operator()): Fix constraints to
2453 avoid ambiguity.
2454 * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
2455 * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
2456
2457 2013-01-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2458
2459 PR libstdc++/55594
2460 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
2461 Solaris targets.
2462 * configure: Regenerate.
2463
2464 2013-01-07 Jonathan Wakely <jwakely.gcc@gmail.com>
2465
2466 PR libstdc++/55847
2467 * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
2468 * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
2469 string.
2470
2471 PR libstdc++/55728
2472 * include/std/functional (bad_function_call::what()): Declare.
2473 * src/c++11/functional.cc (bad_function_call::what()): Define.
2474 * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
2475 * testsuite/20_util/bad_function_call/what.cc: New.
2476
2477 2013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
2478
2479 * include/bits/unordered_map.h: Fix typo in comments.
2480 * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
2481 counts for unordered associative containers.
2482
2483 2013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
2484
2485 * doc/xml/manual/abi.xml: Update library and symbol versions.
2486
2487 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
2488
2489 * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
2490 in copyright years.
2491 * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
2492
2493 \f
2494 Copyright (C) 2013 Free Software Foundation, Inc.
2495
2496 Copying and distribution of this file, with or without modification,
2497 are permitted in any medium without royalty provided the copyright
2498 notice and this notice are preserved.