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