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