testsuite_tr1.h (test_category, [...]): constexpr in c++11 mode.
[gcc.git] / libstdc++-v3 / ChangeLog
1 2013-12-06 Paolo Carlini <paolo.carlini@oracle.com>
2
3 * testsuite/util/testsuite_tr1.h (test_category, test_property,
4 test_relationship): constexpr in c++11 mode.
5 * testsuite/20_util/add_lvalue_reference/value.cc: Use static_assert
6 and change to dg-do compile testcase.
7 * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
8 * testsuite/20_util/aligned_storage/value.cc: Likewise.
9 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
10 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
11 * testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise.
12 * testsuite/20_util/is_compound/value.cc: Likewise.
13 * testsuite/20_util/is_constructible/value.cc: Likewise.
14 * testsuite/20_util/is_convertible/value.cc: Likewise.
15 * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
16 * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
17 * testsuite/20_util/is_floating_point/value.cc: Likewise.
18 * testsuite/20_util/is_function/value.cc: Likewise.
19 * testsuite/20_util/is_fundamental/value.cc: Likewise.
20 * testsuite/20_util/is_integral/value.cc: Likewise.
21 * testsuite/20_util/is_literal_type/value.cc: Likewise.
22 * testsuite/20_util/is_lvalue_reference/value.cc: Likewise.
23 * testsuite/20_util/is_member_function_pointer/value.cc: Likewise.
24 * testsuite/20_util/is_member_object_pointer/value.cc: Likewise.
25 * testsuite/20_util/is_member_pointer/value.cc: Likewise.
26 * testsuite/20_util/is_move_assignable/value.cc: Likewise.
27 * testsuite/20_util/is_move_constructible/value.cc: Likewise.
28 * testsuite/20_util/is_nothrow_assignable/value.cc: Likewise.
29 * testsuite/20_util/is_nothrow_constructible/value.cc: Likewise.
30 * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
31 * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
32 * testsuite/20_util/is_nothrow_default_constructible/value.cc: Likewise.
33 * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
34 * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
35 * testsuite/20_util/is_null_pointer/value.cc: Likewise.
36 * testsuite/20_util/is_object/value.cc: Likewise.
37 * testsuite/20_util/is_pod/value.cc: Likewise.
38 * testsuite/20_util/is_reference/value.cc: Likewise.
39 * testsuite/20_util/is_rvalue_reference/value.cc: Likewise.
40 * testsuite/20_util/is_scalar/value.cc: Likewise.
41 * testsuite/20_util/is_signed/value.cc: Likewise.
42 * testsuite/20_util/is_standard_layout/value.cc: Likewise.
43 * testsuite/20_util/is_trivial/value.cc: Likewise.
44 * testsuite/20_util/is_trivially_destructible/value.cc: Likewise.
45 * testsuite/20_util/is_unsigned/value.cc: Likewise.
46 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
47 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise.
48 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
49 * testsuite/20_util/remove_reference/value.cc: Likewise.
50
51 2013-12-03 Jonathan Wakely <jwakely.gcc@gmail.com>
52
53 * include/std/fstream (basic_filebuf::open): Use preformatted text
54 for table in Doxygen comment.
55
56 2013-12-03 Tim Shen <timshen91@gmail.com>
57
58 * regex_compiler.h: Add todo comment.
59 * regex_executor.tcc: Likewise.
60
61 2013-11-29 Matthias Klose <doko@ubuntu.com>
62
63 * testsuite/experimental/string_view/requirements/exception,
64 testsuite/experimental/string_view/capacity/wchar_t,
65 testsuite/experimental/string_view/capacity/char: Remove empty dirs.
66
67 2013-11-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
68
69 * testsuite/ext/random/hypergeometric_distribution/operators/values.cc:
70 Use dg-require-cmath instead.
71
72 * testsuite/ext/random/hypergeometric_distribution/operators/values.cc
73 (test01): Wrap in _GLIBCXX_USE_C99_MATH_TR1.
74
75 2013-11-22 François Dumont <fdumont@gcc.gnu.org>
76
77 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>):
78 Remove _M_bucket, use same information in normal local_iterator.
79 (operator==): Remove redundant _M_can_compare check.
80 * include/debug/safe_local_iterator.tcc: Adapt.
81 * include/debug/unordered_set: Likewise.
82 * include/debug/unordered_map: Likewise.
83
84 2013-11-22 Jakub Jelinek <jakub@redhat.com>
85
86 * testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add 10.
87 (check-DEJAGNU): Add normal10, run 28_regex/[ab]*
88 tests as another separate job.
89 * testsuite/Makefile.in: Regenerated.
90
91 2013-11-22 Jonathan Wakely <jwakely.gcc@gmail.com>
92
93 * acinclude.m4 (libtool_VERSION): Bump.
94 * configure: Regenerate.
95 * doc/xml/manual/abi.xml: Update version information.
96
97 PR libstdc++/59247
98 * include/bits/c++config (_GLIBCXX_INLINE_VERSION): Declare namespace
99 std::experimental::__7 as inline.
100 * include/bits/regex.h (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Do not
101 enclose namespace __detail.
102 * include/bits/regex.tcc (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise.
103 * include/std/iomanip (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise.
104 * include/ext/pb_ds/tag_and_trait.hpp (detail): Fix comment.
105 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
106
107 2013-11-22 Paolo Carlini <paolo.carlini@oracle.com>
108
109 * testsuite/ext/random/hypergeometric_distribution/operators/
110 values.cc: Fix further thinkos.
111
112 2013-11-22 Paolo Carlini <paolo.carlini@oracle.com>
113
114 * testsuite/ext/random/hypergeometric_distribution/operators/
115 values.cc: Fix thinkos.
116
117 2013-11-21 Edward Smith-Rowland <3dw4rd@verizon.net>
118
119 * include/experimental/string_view: Rep empty string with unit-length
120 static constexpr string. Uncomment _GLIBCXX_VISIBILITY. Enforce
121 invariant of no nullptr string pointer.
122 * include/experimental/string_view.tcc: Ditto.
123 * testsuite/experimental/string_view/cons/char/1.cc: data() for empty
124 string_view is no longer nullptr.
125 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Ditto.
126 * testsuite/experimental/string_view/operations/data/char/1.cc: Ditto.
127 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
128 Ditto.
129
130 2013-11-21 Edward Smith-Rowland <3dw4rd@verizon.net>
131
132 Implement __gnu_cxx::hypergeometric_distribution.
133 * include/ext/random: Add hypergeometric_distribution.
134 * include/ext/random.tcc: Add hypergeometric_distribution.
135 * testsuite/util/testsuite_random.h (hypergeometric_pdf): New pdf
136 for the hypergeometric discreet distribution;
137 (lbincoef): New supporting function for binomial coefficients.
138 * testsuite/ext/random/hypergeometric_distribution/operators/
139 serialize.cc: New.
140 * testsuite/ext/random/hypergeometric_distribution/operators/
141 equal.cc: New.
142 * testsuite/ext/random/hypergeometric_distribution/operators/
143 inequal.cc: New.
144 * testsuite/ext/random/hypergeometric_distribution/operators/
145 values.cc: New.
146 * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc: New.
147 * testsuite/ext/random/hypergeometric_distribution/cons/default.cc: New.
148 * testsuite/ext/random/hypergeometric_distribution/requirements/
149 explicit_instantiation/1.cc: New.
150 * testsuite/ext/random/hypergeometric_distribution/requirements/
151 typedefs.cc: New.
152
153 2013-11-20 Jonathan Wakely <jwakely.gcc@gmail.com>
154
155 PR c++/59173
156 * include/ext/pointer.h (pointer_traits<>::rebind<>): Add template
157 keyword in nested name.
158
159 PR libstdc++/49204
160 * include/std/future (__future_base::_State_base): Rename to
161 __future_base::_State_baseV2.
162 (__future_base::_State_baseV2::~_State_baseV2): Define as defaulted.
163 (__future_base::_State_baseV2::_M_run_deferred): Rename to
164 _M_complete_async.
165 (__future_base::_State_baseV2::_M_has_deferred): Add new virtual.
166 (__future_base::_State_baseV2::wait_for): Call _M_has_deferred() to
167 test for a deferred function, or call _M_complete_async() to join an
168 async thread that has made the shared state ready.
169 (__future_base::_State_baseV2::wait_until): Likewise.
170 (__future_base::_Async_state_common): Rename to _Async_state_commonV2.
171 (__future_base::_Async_state_commonV2::_M_run_deferred): Rename to
172 _M_complete_async.
173 * src/c++11/compatibility-thread-c++0x.cc (__future_base::_State_base):
174 Export old definition.
175 (__future_base::_Async_state_common): Likewise.
176 * src/c++11/future.cc (__future_base::_State_base::~_State_base):
177 Remove.
178 * doc/xml/manual/status_cxx2011.xml: Update status.
179 * testsuite/30_threads/async/async.cc: Test future_status::timeout
180 and future_status::ready.
181 * testsuite/30_threads/async/sync.cc: Test future_status::deferred.
182
183 2013-11-20 David Edelsohn <dje.gcc@gmail.com>
184
185 * testsuite/17_intro/static.cc: Ignore AIX TOC reload warnings.
186
187 2013-11-19 Jonathan Wakely <jwakely.gcc@gmail.com>
188
189 * testsuite/23_containers/forward_list/allocator/noexcept.cc: Change
190 to compile-only test. Adjust swap overload to handle rebound
191 allocators.
192 * testsuite/23_containers/map/allocator/noexcept.cc: Likewise.
193 * testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise.
194 * testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise.
195 * testsuite/23_containers/set/allocator/noexcept.cc: Likewise.
196 * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
197 Likewise.
198 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc:
199 Likewise.
200 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc:
201 Likewise.
202 * testsuite/23_containers/unordered_set/allocator/noexcept.cc:
203 Likewise.
204 * testsuite/23_containers/vector/allocator/noexcept.cc: Likewise.
205 * testsuite/23_containers/vector/allocator/swap.cc: Add elements
206 before swapping.
207
208 * config/abi/pre/gnu.ver (_ZNSt11regex_errorC*): Export regex_error
209 constructors.
210 * testsuite/20_util/addressof/1.cc: Remove { dg-do compile }.
211 * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
212 * testsuite/20_util/allocator_traits/members/select.cc: Likewise. Fix
213 failure.
214 * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
215 * testsuite/28_regex/init-list.cc: Likewise.
216 * testsuite/28_regex/regex_error/regex_error.cc: Likewise.
217 * testsuite/28_regex/sub_match/length.cc: Likewise. Add main.
218 * testsuite/28_regex/sub_match/cast_char.cc: Likewise. Fix test.
219 * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
220 * testsuite/tr1/7_regular_expressions/regex/cons/char/
221 c_string_extended.cc: Delete.
222
223 2013-11-19 Paolo Carlini <paolo.carlini@oracle.com>
224
225 * include/experimental/string_view (_S_max_size): Remove.
226 (basic_string_view<>::max_size): Adjust.
227 * testsuite/experimental/string_view/capacity/1.cc: Clean-up.
228 * testsuite/experimental/string_view/inserters/pod/10081-out.cc:
229 Likewise.
230
231 2013-11-19 Jonathan Wakely <jwakely.gcc@gmail.com>
232
233 * doc/xml/manual/status_cxx2014.xml: Create new table for TS statuses.
234
235 2013-11-18 Jonathan Wakely <jwakely.gcc@gmail.com>
236
237 * include/bits/shared_ptr_base.h (_Sp_counted_base<_S_single>): Use
238 non-atomic operations.
239 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
240 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
241
242 2013-11-16 Edward Smith-Rowland <3dw4rd@verizon.net>
243
244 Implement N3762 string_view: a non-owning reference to a string.
245 * include/Makefile.am: Add string_view and string_view.tcc.
246 * include/Makefile.in: Regenerate.
247 * include/experimental/string_view: Implement basic_string_view.
248 * include/experimental/string_view.tcc: Implement basic_string_view.
249 * testsuite/experimental/string_view/capacity/1.cc: New.
250 * testsuite/experimental/string_view/cons/char/1.cc: New.
251 * testsuite/experimental/string_view/cons/char/2.cc: New.
252 * testsuite/experimental/string_view/cons/char/3.cc: New.
253 * testsuite/experimental/string_view/cons/wchar_t/1.cc: New.
254 * testsuite/experimental/string_view/cons/wchar_t/2.cc: New.
255 * testsuite/experimental/string_view/cons/wchar_t/3.cc: New.
256 * testsuite/experimental/string_view/element_access/char/1.cc: New.
257 * testsuite/experimental/string_view/element_access/char/2.cc: New.
258 * testsuite/experimental/string_view/element_access/char/empty.cc: New.
259 * testsuite/experimental/string_view/element_access/char/front_back.cc:
260 New.
261 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: New.
262 * testsuite/experimental/string_view/element_access/wchar_t/2.cc: New.
263 * testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
264 New.
265 * testsuite/experimental/string_view/element_access/wchar_t/
266 front_back.cc: New.
267 * testsuite/experimental/string_view/include.cc: New.
268 * testsuite/experimental/string_view/inserters/char/1.cc: New.
269 * testsuite/experimental/string_view/inserters/char/2.cc: New.
270 * testsuite/experimental/string_view/inserters/char/3.cc: New.
271 * testsuite/experimental/string_view/inserters/pod/10081-out.cc: New.
272 * testsuite/experimental/string_view/inserters/wchar_t/1.cc: New.
273 * testsuite/experimental/string_view/inserters/wchar_t/2.cc: New.
274 * testsuite/experimental/string_view/inserters/wchar_t/3.cc: New.
275 * testsuite/experimental/string_view/literals/types.cc: New.
276 * testsuite/experimental/string_view/literals/values.cc: New.
277 * testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc:
278 New.
279 * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
280 1.cc: New.
281 * testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc:
282 New.
283 * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
284 1.cc: New.
285 * testsuite/experimental/string_view/operations/compare/char/1.cc: New.
286 * testsuite/experimental/string_view/operations/compare/char/13650.cc:
287 New.
288 * testsuite/experimental/string_view/operations/compare/wchar_t/1.cc:
289 New.
290 * testsuite/experimental/string_view/operations/compare/wchar_t/
291 13650.cc: New.
292 * testsuite/experimental/string_view/operations/data/char/1.cc: New.
293 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc: New.
294 * testsuite/experimental/string_view/operations/find/char/1.cc: New.
295 * testsuite/experimental/string_view/operations/find/char/2.cc: New.
296 * testsuite/experimental/string_view/operations/find/char/3.cc: New.
297 * testsuite/experimental/string_view/operations/find/char/4.cc: New.
298 * testsuite/experimental/string_view/operations/find/wchar_t/1.cc: New.
299 * testsuite/experimental/string_view/operations/find/wchar_t/2.cc: New.
300 * testsuite/experimental/string_view/operations/find/wchar_t/3.cc: New.
301 * testsuite/experimental/string_view/operations/find/wchar_t/4.cc: New.
302 * testsuite/experimental/string_view/operations/rfind/char/1.cc: New.
303 * testsuite/experimental/string_view/operations/rfind/char/2.cc: New.
304 * testsuite/experimental/string_view/operations/rfind/char/3.cc: New.
305 * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc: New.
306 * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc: New.
307 * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc: New.
308 * testsuite/experimental/string_view/operations/substr/char/1.cc: New.
309 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
310 New.
311 * testsuite/experimental/string_view/operators/char/2.cc: New.
312 * testsuite/experimental/string_view/operators/wchar_t/2.cc: New.
313 * testsuite/experimental/string_view/range_access/char/1.cc: New.
314 * testsuite/experimental/string_view/range_access/wchar_t/1.cc: New.
315 * testsuite/experimental/string_view/requirements/
316 explicit_instantiation/1.cc: New.
317 * testsuite/experimental/string_view/requirements/
318 explicit_instantiation/char/1.cc: New.
319 * testsuite/experimental/string_view/requirements/
320 explicit_instantiation/char16_t/1.cc: New.
321 * testsuite/experimental/string_view/requirements/
322 explicit_instantiation/char32_t/1.cc: New.
323 * testsuite/experimental/string_view/requirements/
324 explicit_instantiation/wchar_t/1.cc: New.
325 * testsuite/experimental/string_view/requirements/typedefs.cc: New.
326 * testsuite/experimental/string_view/types/1.cc: New.
327
328 2013-11-16 François Dumont <fdumont@gcc.gnu.org>
329
330 * testsuite/23_containers/unordered_set/55043.cc (equal): Add
331 missing & on rhs parameter.
332
333 2013-11-15 Jonathan Wakely <jwakely.gcc@gmail.com>
334
335 * include/bits/stl_bvector.h (vector<bool>::emplace_back()): LWG 2187:
336 Define.
337 (vector<bool>::emplace()): Likewise.
338 * testsuite/23_containers/vector/bool/emplace.cc: New.
339
340 2013-11-15 Ondřej Bílka <neleai@seznam.cz>
341 Jonathan Wakely <jwakely.gcc@gmail.com>
342
343 * doc/xml/manual/build_hacking.xml: Fix documentation typos.
344 * doc/xml/manual/configure.xml: Likewise.
345 * include/bits/atomic_base.h: Fix typos in comments.
346 * include/bits/random.h: Likewise.
347 * include/ext/cast.h: Likewise.
348 * libsupc++/cxxabi.h: Likewise.
349 * testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise.
350 * testsuite/tr1/5_numerical_facilities/special_functions/testcase.h:
351 Likewise.
352 * testsuite/util/exception/safety.h: Likewise.
353 * testsuite/util/testsuite_containers.h: Likewise.
354 * testsuite/util/testsuite_hooks.cc: Likewise.
355
356 2013-11-15 Jonathan Wakely <jwakely.gcc@gmail.com>
357
358 * include/bits/stl_map.h (map): Implement C++11 allocator-aware
359 container requirements.
360 * include/bits/stl_multimap.h (multimap): Likewise.
361 * include/bits/stl_multiset.h (multiset): Likewise.
362 * include/bits/stl_set.h (set): Likewise.
363 * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_buffer and
364 add accessors for value.
365 (_Rb_tree_iterator, _Rb_tree_const_iterator): Use _Rb_tree_node
366 accessors.
367 (_Rb_tree): Use allocator_traits and implement support for sets and
368 maps the be allocator-aware.
369 * include/bits/forward_list.h (_Fwd_list_base::_M_create_node): Do
370 not zero-initialize storage buffer.
371 * include/bits/hashtable_policy.h (_Hashtable_alloc::_M_allocate_node):
372 Likewise.
373 * include/bits/stl_vector.h (vector(vector&&, const allocator_type&)):
374 Add conditional noexcept specification.
375 * doc/xml/manual/status_cxx2011.xml: Update status of containers.
376 * testsuite/util/testsuite_allocator.h: Re-indent.
377 * testsuite/23_containers/forward_list/allocator/copy.cc: Test
378 allocator-extended copy constructor.
379 * testsuite/23_containers/unordered_map/allocator/copy.cc: Likewise.
380 * testsuite/23_containers/unordered_multimap/allocator/copy.cc:
381 Likewise.
382 * testsuite/23_containers/unordered_multiset/allocator/copy.cc:
383 Likewise.
384 * testsuite/23_containers/unordered_set/allocator/copy.cc: Likewise.
385 * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
386 * testsuite/23_containers/forward_list/allocator/move.cc: New.
387 * testsuite/23_containers/unordered_map/allocator/move.cc: New.
388 * testsuite/23_containers/unordered_multimap/allocator/move.cc: New.
389 * testsuite/23_containers/unordered_multiset/allocator/move.cc: New.
390 * testsuite/23_containers/unordered_set/allocator/move.cc: New.
391 * testsuite/23_containers/vector/allocator/move.cc: New.
392 * testsuite/23_containers/map/allocator/copy.cc: New.
393 * testsuite/23_containers/map/allocator/copy_assign.cc: New.
394 * testsuite/23_containers/map/allocator/minimal.cc: New.
395 * testsuite/23_containers/map/allocator/move.cc: New.
396 * testsuite/23_containers/map/allocator/move_assign.cc: New.
397 * testsuite/23_containers/map/allocator/noexcept.cc: New.
398 * testsuite/23_containers/map/allocator/swap.cc: New.
399 * testsuite/23_containers/multimap/allocator/copy.cc: New.
400 * testsuite/23_containers/multimap/allocator/copy_assign.cc: New.
401 * testsuite/23_containers/multimap/allocator/minimal.cc: New.
402 * testsuite/23_containers/multimap/allocator/move.cc: New.
403 * testsuite/23_containers/multimap/allocator/move_assign.cc: New.
404 * testsuite/23_containers/multimap/allocator/noexcept.cc: New.
405 * testsuite/23_containers/multimap/allocator/swap.cc: New.
406 * testsuite/23_containers/multiset/allocator/copy.cc: New.
407 * testsuite/23_containers/multiset/allocator/copy_assign.cc: New.
408 * testsuite/23_containers/multiset/allocator/minimal.cc: New.
409 * testsuite/23_containers/multiset/allocator/move.cc: New.
410 * testsuite/23_containers/multiset/allocator/move_assign.cc: New.
411 * testsuite/23_containers/multiset/allocator/noexcept.cc: New.
412 * testsuite/23_containers/multiset/allocator/swap.cc: New.
413 * testsuite/23_containers/set/allocator/copy.cc: New.
414 * testsuite/23_containers/set/allocator/copy_assign.cc: New.
415 * testsuite/23_containers/set/allocator/minimal.cc: New.
416 * testsuite/23_containers/set/allocator/move.cc: New.
417 * testsuite/23_containers/set/allocator/move_assign.cc: New.
418 * testsuite/23_containers/set/allocator/noexcept.cc: New.
419 * testsuite/23_containers/set/allocator/swap.cc: New.
420 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
421 Adjust dg-error line number.
422 * testsuite/23_containers/vector/requirements/dr438/
423 constructor_1_neg.cc: Likewise.
424 * testsuite/23_containers/vector/requirements/dr438/
425 constructor_2_neg.cc: Likewise.
426 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
427 Likewise.
428
429 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
430
431 * scripts/extract_symvers.in: Ignore <localentry: > fields
432 in readelf --symbols output.
433
434 2013-11-14 Jonathan Wakely <jwakely.gcc@gmail.com>
435
436 * include/bits/alloc_traits.h (__allow_copy_cons): Remove.
437 (__check_copy_constructible): Likewise.
438 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
439 Do not derive from __check_copy_constructible.
440 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
441 Likewise.
442 * testsuite/23_containers/unordered_map/55043.cc: It is no longer
443 necessary for is_copy_constructible to be correct to use nested
444 unordered containers.
445 * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
446 * testsuite/23_containers/unordered_set/55043.cc: Likewise.
447 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
448
449 2013-11-13 Marc Glisse <marc.glisse@inria.fr>
450
451 PR libstdc++/59087
452 * include/ext/pod_char_traits.h: Uglify V, I and S.
453
454 2013-11-11 Jonathan Wakely <jwakely.gcc@gmail.com>
455
456 PR libstdc++/54562
457 * include/std/mutex (__timed_mutex_impl::__clock_t): Use
458 high_resolution_clock for absolute timeouts, because
459 pthread_mutex_timedlock uses CLOCK_REALTIME not CLOCK_MONOTONIC.
460 (__timed_mutex_impl::_M_try_lock_for): Use steady_clock for relative
461 timeouts as per [thread.req.timing].
462 (__timed_mutex_impl::_M_try_lock_until<Clock,Duration>): Convert to
463 __clock_t time point instead of using _M_try_lock_for.
464
465 2013-11-09 Jonathan Wakely <jwakely.gcc@gmail.com>
466
467 PR libstdc++/58982
468 * include/bits/stl_algobase.h (__copy_move::__copy_m): Use assertion
469 to prevent using memmove() on non-assignable types.
470 (__copy_move_backward::__copy_move_b): Likewise.
471 * include/bits/stl_uninitialized.h (uninitialized_copy
472 uninitialized_copy_n, uninitialized_fill, uninitialized_fill_n,
473 __uninitialized_default, __uninitialized_default_n): Check for
474 assignable as well as trivial.
475 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
476 58982.cc: New.
477 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
478 58982.cc: New.
479 * testsuite/20_util/specialized_algorithms/uninitialized_fill/
480 58982.cc: New.
481 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
482 58982.cc: New.
483 * testsuite/25_algorithms/copy/58982.cc: New.
484 * testsuite/25_algorithms/copy_n/58982.cc: New.
485
486 2013-11-08 François Dumont <fdumont@gcc.gnu.org>
487
488 * include/debug/safe_iterator.h (_BeforeBeginHelper<>::_S_Is):
489 Take only a const safe iterator reference.
490 (_BeforeBeginHelper<>::_S_Is_beginnest): Likewise.
491 (__get_distance): Take only one type of iterator.
492 (_Safe_iterator<>::_M_valid_range<>): Not template anymore.
493 (_Safe_iterator<>::_M_get_sequence()): Return pointer to const
494 sequence from a const_iterator and a pointer to sequence from an
495 iterator.
496 * include/debug/safe_iterator.tcc: Adapt.
497 * include/debug/safe_local_iterator.h
498 (_Safe_local_iterator<>::_M_valid_range<>): Not template anymore.
499 (_Safe_local_iterator<>::_M_get_sequence()): Return pointer to
500 const sequence from a const_iterator and a pointer to sequence
501 from an iterator.
502 * include/debug/safe_local_iterator.tcc: Adapt.
503 * include/debug/forward_list
504 (_BeforeBeginHelper<std::__debug::forward_list<>>): Adapt.
505
506 2013-11-08 Jonathan Wakely <jwakely.gcc@gmail.com>
507
508 * include/bits/regex_automaton.h (__detail::_State): Split
509 non-dependent parts into new _State_base.
510 (__detail::_NFA): Likewise for _NFA_base. Use std::move() to avoid
511 copies when inserting _MatcherT and _StateT objects.
512 * include/bits/regex_automaton.tcc: Move member definitions to base
513 class. Qualify dependent names.
514 * include/bits/regex_compiler.h (__detail::_Compiler::_M_get_nfa): Make
515 non-const and use std::move to avoid copying.
516 * include/bits/regex_compiler.tcc: Likewise.
517 * include/bits/regex_executor.h (__detail::_Executor::_M_is_word): Use
518 array, so past-the-end iterator is valid.
519
520 * include/bits/regex_automaton.h (__detail::_State, __detail::_NFA,
521 __detail::_StateSeq): Remove redundant _CharT template parameters.
522 * include/bits/regex_automaton.tcc: Likewise.
523 * include/bits/regex_compiler.h (__detail::_Compiler): Likewise.
524 (__compile_nfa): Add object generator for _Compiler.
525 * include/bits/regex_compiler.tcc: Remove _CharT template parameters.
526 * include/bits/regex_executor.h: Likewise.
527 * include/bits/regex_executor.tcc: Likewise.
528 * include/bits/regex.h (basic_regex): Assert char_type matches. Use
529 __compile_nfa object generator. Remove _CharT template parameter.
530
531 * include/bits/regex_compiler.h (__detail::_AnyMatcher,
532 __detail::_CharMatcher, __detail::_BracketMatcher): Remove redundant
533 _CharT template parameters.
534 * include/bits/regex_compiler.tcc: Likewise.
535
536 * include/bits/regex_compiler.h (__detail::__compile_nfa): Overload
537 so that std::basic_string<C> and std::vector<C> iterators dispatch to
538 the const C* compiler.
539
540 * include/bits/regex_compiler.h (__detail::__has_contiguous_iter):
541 vector<bool> storage is not contiguous.
542
543 2013-11-06 Jonathan Wakely <jwakely.gcc@gmail.com>
544
545 * include/bits/regex_automaton.h (_S_opcode_word_boundry): Rename to
546 _S_opcode_word_boundary.
547 * include/bits/regex_automaton.tcc: Likewise.
548 * include/bits/regex_executor.h (__detail::_Executor::_M_word_boundry):
549 Rename to _M_word_boundary.
550 * include/bits/regex_executor.tcc: Likewise.
551
552 2013-11-05 Jonathan Wakely <jwakely.gcc@gmail.com>
553
554 N3655 C++1y TransformationTraits Redux
555 * include/std/type_traits (remove_const_t, remove_volatile_t,
556 remove_cv_t, add_const_t, add_volatile_t, add_cv_t, remove_reference_t,
557 add_lvalue_reference_t, add_rvalue_reference_t, make_signed_t,
558 make_unsigned_t, remove_extent_t, remove_all_extents_t,
559 remove_pointer_t, add_pointer_t, aligned_storage_t, decay_t,
560 enable_if_t, conditional_t, common_type_t, underlying_type_t,
561 result_of_t): Define.
562 * doc/xml/manual/status_cxx2014.xml: Update.
563 * testsuite/20_util/add_lvalue_reference/requirements/typedefs-3.cc:
564 New.
565 * testsuite/20_util/add_rvalue_reference/requirements/typedefs-3.cc:
566 New.
567 * testsuite/20_util/common_type/requirements/typedefs-3.cc: New.
568 * testsuite/20_util/conditional/requirements/typedefs-2.cc: New.
569 * testsuite/20_util/decay/requirements/typedefs-2.cc: New.
570 * testsuite/20_util/enable_if/requirements/typedefs-2.cc: New.
571 * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
572 * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
573 * testsuite/20_util/remove_reference/requirements/typedefs.cc: New.
574 * testsuite/20_util/result_of/requirements/typedefs.cc: New.
575 * testsuite/20_util/underlying_type/requirements/typedefs-3.cc: New.
576 * testsuite/20_util/common_type/requirements/typedefs-2.cc: Change to
577 compile-only test.
578 * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
579 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
580 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
581 line number.
582 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
583 Likewise.
584 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
585 Likewise.
586
587 2013-11-05 Jonathan Wakely <jwakely.gcc@gmail.com>
588
589 * doc/xml/manual/status_cxx2011.xml: Document aligned_union as
590 missing.
591
592 2013-11-05 Jonathan Wakely <jwakely.gcc@gmail.com>
593 Paolo Carlini <paolo.carlini@oracle.com>
594
595 * include/experimental/optional: Use __and_<> and __not_<> in
596 conditions. Style fixes.
597 (__constexpr_addressof, swap): Make inline.
598 * testsuite/experimental/optional/cons/copy.cc: Adjust constants for
599 32-bit targets.
600 * testsuite/experimental/optional/cons/move.cc: Likewise.
601 * testsuite/experimental/optional/cons/value.cc: Likewise.
602 * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
603
604 2013-11-01 Michael Brune <lucdanton@free.fr>
605
606 * include/bits/enable_special_members.h: New.
607 * include/experimental/optional: New.
608 * include/Makefile.am: Handle include/experimental.
609 * include/Makefile.in: Regenerate.
610 * testsuite/libstdc++-dg/conformance.exp: Run tests from
611 testsuite/experimental sub-directory.
612 * testsuite/experimental/optional/assignment/1.cc: New.
613 * testsuite/experimental/optional/assignment/2.cc: New.
614 * testsuite/experimental/optional/assignment/3.cc: New.
615 * testsuite/experimental/optional/assignment/4.cc: New.
616 * testsuite/experimental/optional/assignment/5.cc: New.
617 * testsuite/experimental/optional/assignment/6.cc: New.
618 * testsuite/experimental/optional/cons/copy.cc: New.
619 * testsuite/experimental/optional/cons/default.cc: New.
620 * testsuite/experimental/optional/cons/move.cc: New.
621 * testsuite/experimental/optional/cons/value.cc: New.
622 * testsuite/experimental/optional/constexpr/cons/default.cc: New.
623 * testsuite/experimental/optional/constexpr/cons/value.cc: New.
624 * testsuite/experimental/optional/constexpr/in_place.cc: New.
625 * testsuite/experimental/optional/constexpr/make_optional.cc: New.
626 * testsuite/experimental/optional/constexpr/nullopt.cc: New.
627 * testsuite/experimental/optional/constexpr/observers/1.cc: New.
628 * testsuite/experimental/optional/constexpr/observers/2.cc: New.
629 * testsuite/experimental/optional/constexpr/observers/3.cc: New.
630 * testsuite/experimental/optional/constexpr/observers/4.cc: New.
631 * testsuite/experimental/optional/constexpr/observers/5.cc: New.
632 * testsuite/experimental/optional/constexpr/relops/1.cc: New.
633 * testsuite/experimental/optional/constexpr/relops/2.cc: New.
634 * testsuite/experimental/optional/constexpr/relops/3.cc: New.
635 * testsuite/experimental/optional/constexpr/relops/4.cc: New.
636 * testsuite/experimental/optional/constexpr/relops/5.cc: New.
637 * testsuite/experimental/optional/constexpr/relops/6.cc: New.
638 * testsuite/experimental/optional/in_place.cc: New.
639 * testsuite/experimental/optional/make_optional.cc: New.
640 * testsuite/experimental/optional/nullopt.cc: New.
641 * testsuite/experimental/optional/observers/1.cc: New.
642 * testsuite/experimental/optional/observers/2.cc: New.
643 * testsuite/experimental/optional/observers/3.cc: New.
644 * testsuite/experimental/optional/observers/4.cc: New.
645 * testsuite/experimental/optional/observers/5.cc: New.
646 * testsuite/experimental/optional/relops/1.cc: New.
647 * testsuite/experimental/optional/relops/2.cc: New.
648 * testsuite/experimental/optional/relops/3.cc: New.
649 * testsuite/experimental/optional/relops/4.cc: New.
650 * testsuite/experimental/optional/relops/5.cc: New.
651 * testsuite/experimental/optional/relops/6.cc: New.
652 * testsuite/experimental/optional/requirements.cc: New.
653 * testsuite/experimental/optional/swap/1.cc: New.
654
655 2013-11-01 Jonathan Wakely <jwakely.gcc@gmail.com>
656
657 * include/bits/stl_function.h (logical_not<void>): Add noexcept.
658
659 2013-11-01 Paolo Carlini <paolo.carlini@oracle.com>
660
661 PR libstdc++/58952
662 * include/c_global/cstdio: Undef getchar.
663
664 2013-11-01 Jonathan Wakely <jwakely.gcc@gmail.com>
665
666 N3421 C++1y Transparent functors
667 * include/bits/stl_function.h (plus<void>, minus<void>,
668 multiplies<void>, divides<void>, modulus<void>, negate<void>,
669 equal_to<void>, not_equal_to<void>, greater<void>, less<void>,
670 greater_equal<void>, less_equal<void>, logical_and<void>,
671 logical_or<void>, logical_not<void>, bit_and<void>, bit_or<void>,
672 bit_xor<void>, bit_not<void>): Define.
673 * doc/xml/manual/status_cxx2014.xml: Update.
674 * testsuite/20_util/function_objects/comparisons_void.cc: New.
675
676 2013-10-31 Jonathan Wakely <jwakely.gcc@gmail.com>
677
678 * include/std/tuple (_Index_tuple, _Build_index_tuple): Move to
679 <utility>.
680 * include/std/utility (integer_sequence, make_integer_sequence,
681 index_sequence, make_index_sequence, index_sequence_for): Define.
682 * doc/xml/manual/status_cxx2014.xml: Update.
683 * testsuite/20_util/integer_sequence/intseq.cc: New.
684 * testsuite/20_util/integer_sequence/requirements/typedefs.cc: New.
685
686 2013-10-31 Steve Ellcey <sellcey@mips.com>
687
688 * configure.ac: Add header checks for fenv.h and complex.h.
689 * configure: Regenerate.
690
691 2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
692
693 Implement C++14 digit separators.
694 * include/include/bits/parse_numbers.h: Change struct _Digit<_Base, '`'>
695 to struct _Digit<_Base, '\''>.
696
697 2013-10-31 Paolo Carlini <paolo.carlini@oracle.com>
698
699 * testsuite/20_util/default_delete/48631_neg.cc: Tweak dg-prune.
700
701 2013-10-30 Jonathan Wakely <jwakely.gcc@gmail.com>
702
703 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Fix
704 and enable VERIFY tests.
705
706 2013-10-30 Jonathan Wakely <jwakely.gcc@gmail.com>
707
708 * include/bits/shared_ptr (__shared_ptr): Assert non-void pointer.
709 * include/bits/shared_ptr (default_delete): Likewise.
710 * testsuite/20_util/shared_ptr/cons/58839.cc: Do not use
711 default_delete<void>.
712 * testsuite/20_util/shared_ptr/cons/void_neg.cc: New.
713 * testsuite/20_util/default_delete/void_neg.cc: New.
714 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
715 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
716
717 2013-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
718
719 PR libstdc++/58839
720 * include/bits/shared_ptr_base.h
721 (__shared_ptr<T>::__shared_ptr(unique_ptr<U,D>&&)): Only use addressof
722 when unique_ptr<U,D>::pointer is not a built-in pointer type.
723 * testsuite/20_util/shared_ptr/cons/58839.cc: New.
724 * testsuite/20_util/enable_shared_from_this/members/assign.cc: New.
725 * testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc: New.
726
727 2013-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
728
729 * include/bits/hashtable.cc (__access_protected_ctor): Define and use
730 new type instead of _Hashtable_ebo_helper.
731 * testsuite/23_containers/unordered_set/
732 not_default_constructible_hash_neg.cc: Adjust line number.
733
734 2013-10-28 Tim Shen <timshen91@gmail.com>
735
736 * regex_executor.tcc: Add comments.
737
738 2013-10-26 Tim Shen <timshen91@gmail.com>
739
740 * include/bits/regex.h: Remove unnecessary friends.
741 * include/bits/regex.tcc (__regex_algo_impl<>): Move __get_executor
742 to here.
743 * include/bits/regex_executor.h: Remove _DFSExecutor and _BFSExecutor;
744 they are merged into _Executor. Eliminate quantifier tracking part, so
745 it's faster.
746 * include/bits/regex_executor.tcc: Implement _Executor.
747 * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc: New.
748 * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Adjust
749 duplicate testcases.
750 * testsuite/performance/28_regex/split.h: New.
751 * testsuite/performance/28_regex/split_bfs.cc: New.
752 * testsuite/util/testsuite_regex.h: Adjust behavior of two-executors
753 agreement judger: do not compare match_results when executor return
754 false.
755
756 2013-10-25 François Dumont <fdumont@gcc.gnu.org>
757
758 * include/debug/formatter.h (__check_singular): Add const on
759 iterator reference.
760 * include/debug/functions.h (__check_singular): Likewise.
761 (__check_singular(const _Safe_iterator<_Ite, _Seq>&)): Delete.
762 (__check_dereferenceable(const _Ite&)): Add const on iterator
763 reference.
764 (__check_dereferenceable(const _Safe_local_iterator<>&)): New.
765 * include/debug/safe_iterator.h (__check_singular_aux): Review
766 comment.
767 * testsuite/23_containers/vector/debug/debug_functions.cc: New.
768 * testsuite/23_containers/unordered_set/debug/debug_functions.cc:
769 New.
770
771 2013-10-23 Chris Jefferson <chris@bubblescope.net>
772 Paolo Carlini <paolo.carlini@oracle.com>
773
774 * testsuite/util/testsuite_containergen.h: New.
775 * testsuite/util/testsuite_iterators.h (test_container<>::val): Add.
776 * testsuite/25_algorithms/nth_element/random_test.cc: New, use the
777 above.
778 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
779 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
780 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
781
782 2013-10-23 Jason Merrill <jason@redhat.com>
783
784 * include/bits/hashtable.h (_Hashtable): Force EBO for _Hash_code_base.
785
786 2013-10-23 Paolo Carlini <paolo.carlini@oracle.com>
787
788 PR libstdc++/58850
789 * include/std/chrono (minutes, hours): Change typedefs to uniformly
790 use int64_t.
791 * testsuite/20_util/duration/arithmetic/58850.cc: New.
792
793 2013-10-23 Paolo Carlini <paolo.carlini@oracle.com>
794
795 * testsuite/decimal/pr58815.cc: Fix thinko.
796
797 2013-10-23 Paolo Carlini <paolo.carlini@oracle.com>
798
799 PR libstdc++/58815
800 * include/decimal/decimal (decimal32::operator long long(),
801 decimal64::operator long long(), decimal128::operator long long()):
802 Add in c++11 mode per n3407.
803 * testsuite/decimal/pr58815.cc: New.
804
805 2013-10-22 Edward Smith-Rowland <3dw4rd@verizon.net>
806
807 * include/bits/basic_string.h (operator""s): Remove space between quotes
808 and literal identifier.
809 * include/std/chrono (operator""h, operator""min, operator""s,
810 operator""ms, operator""us, operator""ns): Ditto.
811
812 2013-10-22 Ed Smith-Rowland <3dw4rd@verizon.net>
813
814 Implement N3779 - User-defined Literals for std::complex,
815 part 2 of UDL for Standard Library Types
816 * include/std/complex: Add complex literal operators.
817 * testsuite/26_numerics/complex/literals/types.cc: New.
818 * testsuite/26_numerics/complex/literals/values.cc: New.
819
820 2013-10-21 Edward Smith-Rowland <3dw4rd@verizon.net>
821
822 PR libstdc++/58804
823 PR libstdc++/58729
824 * include/tr2/dynamic_bitset
825 (__dynamic_bitset_base<_WordT, _Alloc>::_M_are_all_aux,
826 __dynamic_bitset_base<_WordT, _Alloc>::_M_do_count):
827 Use __builtin_popcountll() instead of __builtin_popcountl().
828 * include/tr2/dynamic_bitset.tcc
829 (__dynamic_bitset_base<_WordT, _Alloc>::_M_do_find_first,
830 __dynamic_bitset_base<_WordT, _Alloc>::_M_do_find_next):
831 Use __builtin_ctzll() instead of __builtin_ctzl().
832
833 2013-10-20 Tim Shen <timshen91@gmail.com>
834
835 * include/bits/regex.h: Remove virtual class _Automaton.
836 * include/bits/regex_automaton.h: Likewise.
837 * include/bits/regex.tcc: Adjust comment for policy changing.
838 * include/bits/regex_executor.h: Update comments of complexity.
839 * include/bits/regex_executor.tcc: Adjust executor choosing
840 policy. Now DFS executor is the default one.
841 * testsuite/util/testsuite_regex.h (regex_match_debug,
842 regex_search_debug): Adjust for policy changing.
843
844 2013-10-20 Chris Jefferson <chris@bubblescope.net>
845 Paolo Carlini <paolo.carlini@oracle.com>
846
847 PR libstdc++/58800
848 * include/bits/stl_algo.h (__unguarded_partition_pivot): Change
849 __last - 2 to __last - 1.
850 * testsuite/25_algorithms/nth_element/58800.cc: New
851
852 2013-10-18 Edward Smith-Rowland <3dw4rd@verizon.net>
853
854 PR libstdc++/58729
855 * include/tr2/dynamic_bitset (_M_resize, resize): Use input value
856 to set bits; (_M_do_left_shift, _M_do_right_shift, _M_do_to_ulong,
857 _M_do_to_ullong, _M_do_find_first, _M_do_find_next, _M_copy_from_ptr,
858 operator>>): Move long methods outline to...
859 * include/tr2/dynamic_bitset.tcc: New.
860 * include/Makefile.am: Add dynamic_bitset.tcc.
861 * include/Makefile.in: Add dynamic_bitset.tcc.
862 * testsuite/tr2/dynamic_bitset/pr58729.cc: New.
863
864 2013-10-18 Tim Shen <timshen91@gmail.com>
865
866 * include/bits/regex_scanner.tcc: (_Scanner<>::_M_scan_normal,
867 _Scanner<>::_M_eat_escape_ecma, _Scanner<>::_M_eat_escape_posix,
868 _Scanner<>::_M_eat_escape_awk): Narrow character before finding in maps.
869 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
870 New.
871
872 2013-10-17 Tim Shen <timshen91@gmail.com>
873
874 * include/bits/regex.h (regex_token_iterator<>::regex_token_iterator):
875 Fix initialization orders in initialization list and add explicit braces
876 for potentially ambiguous(actually not) `else` branch to eliminate
877 warnings.
878 * include/bits/regex_automaton.h (_NFA<>::_NFA): Likewise.
879 * include/bits/regex_compiler.h (_CharMatcher<>::_CharMatcher,
880 _BracketMatcher<>::_BracketMatcher): Likewise.
881 * include/bits/regex_compiler.tcc (_Compiler<>::_Compiler,
882 _Compiler<>::_M_atom): Likewise.
883 * include/bits/regex_executor.h (_Executor<>::_Executor): Likewise.
884 * include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs,
885 _Executor<>::_M_word_boundry): Likewise.
886 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner,
887 _Scanner<>::_M_eat_class): Likewise.
888 * include/bits/regex.tcc (__regex_algo_impl<>,
889 regex_iterator<>::operator++): Likewise, and remove unused typedef.
890
891 2013-10-16 Tim Shen <timshen91@gmail.com>
892
893 * include/bits/regex.h (regex_token_iterator<>::regex_token_iterator):
894 Add initialization for _M_has_m1.
895 * include/bits/regex.tcc (regex_token_iterator<>::operator=): Add return
896 statment.
897
898 2013-10-15 Diego Novillo <dnovillo@google.com>
899
900 * testsuite/20_util/exchange/1.cc: Add missing function
901 bodies.
902
903 2013-10-15 Tim Shen <timshen91@gmail.com>
904
905 PR libstdc++/58737
906 * include/bits/regex_automaton.h (_Automaton<>::~_Automaton): Fix memory
907 leak by adding it.
908 * include/bits/regex_executor.h (_Executor<>::~_Executor): Likewise.
909
910 2013-10-11 H.J. Lu <hongjiu.lu@intel.com>
911
912 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
913
914 2013-10-10 Marcus Shawcroft <marcus.shawcroft@arm.com>
915
916 * testsuite/29_atomics/atomic/cons/49445.cc
917 (dg-require-atomic-builtins): Add.
918
919 2013-10-09 Jonathan Wakely <jwakely.gcc@gmail.com>
920
921 * testsuite/20_util/shared_ptr/cons/58659.cc: Use VERIFY instead of
922 aborting.
923
924 2013-10-09 Marcus Shawcroft <marcus.shawcroft@arm.com>
925
926 * testsuite/20_util/shared_ptr/cons/58659.cc: Use __builtin_abort().
927
928 2013-10-08 Jonathan Wakely <jwakely.gcc@gmail.com>
929
930 * testsuite/*: Remove stray semi-colons after function definitions.
931
932 2013-10-08 Jonathan Wakely <jwakely.gcc@gmail.com>
933
934 PR libstdc++/58659
935 * include/bits/shared_ptr_base.h (__shared_count::__shared_count(P,D)):
936 Delegate to constructor taking allocator.
937 (__shared_count::_S_create_from_up): Inline into ...
938 (__shared_count::__shared_count(unique_ptr<Y,D>&&): Here. Use
939 std::conditional instead of constrained overloads. Allocate memory
940 using the allocator type that will be used for deallocation.
941 * testsuite/20_util/shared_ptr/cons/58659.cc: New.
942 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust.
943
944 2013-10-08 Tim Shen <timshen91@gmail.com>
945
946 * include/bits/regex_executor.h: Add _TodoList class.
947 * include/bits/regex_executor.tcc (_BFSExecutor<>::_M_main): Add
948 _M_match_stack and _M_stack to make everything faster. Break if
949 _M_stack is empty, to reduce unnecessary idling.
950 * testsuite/performance/28_regex/split.cc: New.
951
952 2013-10-06 Tim Shen <timshen91@gmail.com>
953
954 * include/bits/regex.h: (regex_token_iterator<>::regex_token_iterator):
955 Fix compile error.
956 * include/bits/regex.tcc: (regex_replace<>): Remove default parameter.
957
958 2013-10-06 Tim Shen <timshen91@gmail.com>
959
960 * include/bits/regex.h (__regex_algo_impl<>, regex_match<>,
961 regex_search<>): New abstract function for regex_match and regex_search.
962 * include/bits/regex.tcc (__regex_algo_impl<>): Implement.
963 * include/bits/regex_executor.h
964 (_Executor<>::_M_lookahead,
965 _DFSExecutor<>::_M_clone,
966 _BFSExecutor<>::_M_clone): Let _M_clone to choose which executor to
967 use.
968 * include/bits/regex_executor.tcc (__get_executor<>): Update the
969 definition to support __policy.
970 * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Use
971 *_debug.
972 * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: Same.
973 * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc: Same.
974 * testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc:
975 Same.
976 * testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc:
977 Same.
978 * testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc:
979 Same.
980 * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: Same.
981 * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: Same.
982 * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: Same.
983 * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
984 Same.
985 * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: Same.
986 * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
987 Same.
988 * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
989 Same.
990 * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Same.
991 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
992 Same.
993 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
994 Same.
995 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: Same.
996 * testsuite/28_regex/algorithms/regex_match/extended/
997 string_bracket_01.cc: Same.
998 * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
999 Same.
1000 * testsuite/28_regex/algorithms/regex_match/extended/
1001 string_questionmark.cc: Same.
1002 * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
1003 Same.
1004 * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
1005 Same.
1006 * testsuite/28_regex/algorithms/regex_match/extended/
1007 string_dispatch_01.cc: Same.
1008 * testsuite/28_regex/algorithms/regex_match/extended/
1009 string_range_00_03.cc: Same.
1010 * testsuite/28_regex/algorithms/regex_match/extended/
1011 string_range_01_03.cc: Same.
1012 * testsuite/28_regex/algorithms/regex_match/extended/
1013 string_range_02_03.cc: Same.
1014 * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
1015 Same.
1016 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: Same.
1017 * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: Same.
1018 * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Same.
1019 * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Same.
1020 * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: Same.
1021 * testsuite/28_regex/match_results/format.cc: Same.
1022 * testsuite/util/testsuite_regex.h
1023 (regex_match_debug<>, regex_search_debug<>): Implement.
1024
1025 2013-10-06 Oleg Endo <olegendo@gcc.gnu.org>
1026 Paolo Carlini <paolo.carlini@oracle.com>
1027
1028 PR libstdc++/58625
1029 * include/c_global/cmath (signbit): Use __builtin_signbitf and
1030 __builtin_signbitl.
1031
1032 2013-10-03 Tim Shen <timshen91@gmail.com>
1033
1034 * include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong
1035 backup variable initialization.
1036
1037 2013-10-03 John Woolverton <jdwoolverton@gmail.com>
1038
1039 PR libstdc++/58604
1040 * include/std/vector: Fix garbled line in HP Copyright.
1041
1042 2013-10-03 Marc Glisse <marc.glisse@inria.fr>
1043
1044 * libsupc++/del_op.cc (operator delete): Don't test for 0 before free.
1045 * libsupc++/del_opnt.cc (free): Only declare if freestanding.
1046 (operator delete): Qualify free with std::.
1047
1048 2013-10-02 Jonathan Wakely <jwakely.gcc@gmail.com>
1049 Daniel Krugler <daniel.kruegler@gmail.com>
1050
1051 PR libstdc++/58569
1052 * include/std/functional (function::_CheckResult): Move to namespace
1053 scope and rename to __check_func_return_type.
1054 * testsuite/20_util/function/58569.cc: New.
1055
1056 2013-10-02 Jonathan Wakely <jwakely.gcc@gmail.com>
1057
1058 PR libstdc++/58594
1059 * include/bits/shared_ptr_base.h
1060 (_Sp_counted_ptr_inplace::_M_get_deleter()): Cast away cv-quals.
1061 * testsuite/20_util/shared_ptr/creation/58594.cc: New.
1062
1063 2013-10-02 Tim Shen <timshen91@gmail.com>
1064
1065 * include/bits/regex_compiler.h
1066 (_BracketMatcher<>::_M_add_equivalence_class): Implement it correctly.
1067 * include/bits/regex_compiler.tcc (_BracketMatcher<>::operator()):
1068 Add _M_equiv_set support.
1069 * testsuite/28_regex/algorithms/regex_match/extended/
1070 cstring_bracket_01.cc: Add new "[[=a=]]" testcase.
1071
1072 2013-10-01 Tim Shen <timshen91@gmail.com>
1073
1074 * doc/xml/manual/status_cxx2011.xml: Change "is not implemented" to
1075 "is not correctly implemented".
1076
1077 2013-10-01 Tim Shen <timshen91@gmail.com>
1078
1079 * doc/xml/manual/status_cxx2011.xml: Update regex status.
1080 * include/bits/regex.h (match_results<>::begin,
1081 match_results<>::cbegin, match_results<>::end, match_results<>::cend):
1082 [28.10.3.13], [28.10.3.14] Always iterate the range [0, size()-2).
1083
1084 2013-10-01 François Dumont <fdumont@gcc.gnu.org>
1085
1086 * include/parallel/algobase.h (mismatch, equal): Provide parallel
1087 version for N3671 overloads.
1088
1089 2013-10-01 Paul Pluzhnikov <ppluzhnikov@google.com>
1090
1091 * src/c++11/snprintf_lite.cc: Add missing
1092 _GLIBCXX_{BEGIN,END}_NAMESPACE_VERSION
1093
1094 2013-10-01 Joern Rennecke <joern.rennecke@embecosm.com>
1095
1096 * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Also check for
1097 _Unwind_SjLj_Register when deciding if to set enable_sjlj_exceptions.
1098 * configure: Regenerate.
1099
1100 2013-10-01 Tim Shen <timshen91@gmail.com>
1101
1102 PR libstdc++/58576
1103 * include/bits/regex_automaton.tcc (_NFA<>::_M_eliminate_dummy)
1104 (_StateSeq<>::_M_clone): Add _S_opcode_subexpr_lookahead branch.
1105 * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: New.
1106
1107 2013-09-30 Paolo Carlini <paolo.carlini@oracle.com>
1108
1109 * include/parallel/algo.h (__find_switch): Use __binder2nd.
1110
1111 2013-09-30 Chris Jefferson <chris@bubblescope.net>
1112
1113 PR libstdc++/58437
1114 * include/bits/stl_algo.h (__move_median_first): Rename to
1115 __move_median_to_first, change to take an addition argument.
1116 (__unguarded_partition_pivot): Adjust.
1117 * testsuite/performance/25_algorithms/sort.cc: New.
1118 * testsuite/performance/25_algorithms/sort_heap.cc: Likewise.
1119 * testsuite/performance/25_algorithms/stable_sort.cc: Likewise.
1120
1121 2013-09-28 François Dumont <fdumont@gcc.gnu.org>
1122
1123 * include/bits/stl_algo.h (remove_copy, remove_copy_if): Declare
1124 inline.
1125 (rotate_copy, stable_partition, partial_sort_copy): Likewise.
1126 (lower_bound, upper_bound, equal_range, inplace_merge): Likewise.
1127 (includes, next_permutation, prev_permutation): Likewise.
1128 (replace_copy, replace_copy_if, is_sorted_until): Likewise.
1129 (minmax_element, is_permutation, adjacent_find): Likewise.
1130 (count, count_if, search, search_n, merge): Likewise.
1131 (set_intersection, set_difference): Likewise.
1132 (set_symmetric_difference, min_element, max_element): Likewise.
1133 * include/bits/stl_algobase.h (lower_bound): Likewise.
1134 (lexicographical_compare, mismatch): Likewise.
1135
1136 2013-09-28 Tim Shen <timshen91@gmail.com>
1137
1138 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_posix):
1139 Let ordinary char escaping in POSIX be valid.
1140 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Test this
1141 change.
1142
1143 2013-09-27 François Dumont <fdumont@gcc.gnu.org>
1144
1145 * include/bits/predefined_ops.h: New.
1146 * include/bits/stl_heap.h: Include <bits/predefined_ops.h>.
1147 (__is_heap_until, __push_heap, __adjust_heap, __pop_heap): Remove
1148 algo duplication.
1149 (__is_heap): Adapt.
1150 (__make_heap): New.
1151 (make_heap): Adapt to use latter.
1152 (__sort_heap): New.
1153 (sort_heap): Adapt to use latter.
1154 * include/bits/algobase.h: Include <bits/predefined_ops.h>.
1155 (__lexicographical_compare_impl): New.
1156 (__lexicographical_compare<false>::__lc): Adapt to use latter.
1157 (lexicographical_compare): Likewise.
1158 (__lower_bound): New.
1159 (lower_bound): Adapt to use latter.
1160 (equal): Use _GLIBCXX_STD_A::equal in N3671 overloads.
1161 (__mismatch): New.
1162 (mismatch): Use latter.
1163 * include/bits/algo.h: Include <bits/predefined_ops.h>. Remove
1164 <functional> include.
1165 (__move_median_first, __find, __find_if, __find_if_not): Remove
1166 algo duplication.
1167 (__find_end): Likewise.
1168 (__search_n): Rename into ...
1169 (__search_n_aux): ... this.
1170 (__search_n): Renew, use latter.
1171 (search_n): Use latter.
1172 (__search): New.
1173 (search): Use latter.
1174 (__find_end): Likewise.
1175 (__remove_copy_if): New.
1176 (remove_copy): Use latter.
1177 (__adjacent_find): New.
1178 (adjacent_find): Use latter.
1179 (__unique): New.
1180 (unique): Use latter.
1181 (__unique_copy): Remove algo duplication.
1182 (__stable_partition): New.
1183 (stable_partition): Use latter.
1184 (__heap_select): Remove algo duplication, use __make_heap.
1185 (__partial_sort): New, use latter.
1186 (partial_sort): Use latter.
1187 (__partial_sort_copy): New.
1188 (partial_sort_copy): Use latter.
1189 (__unguarded_linear_insert, __insertion_sort): Remove algo
1190 duplication.
1191 (__unguarded_insertion_sort, __final_insertion_sort): Likewise.
1192 (__unguarded_partition, __unguarded_partition_pivot): Likewise.
1193 (__partial_sort): New.
1194 (partial_sort): Use latter.
1195 (__sort): New.
1196 (sort): Use latter.
1197 (lower_bound): Use __lower_bound.
1198 (__upper_bound): New.
1199 (upper_bound): Use latter.
1200 (__equal_range): New.
1201 (equal_range): Use latter.
1202 (__move_merge_adaptive, __move_merge_adaptive_backward): Remove
1203 algo duplication.
1204 (__merge_adaptive, __merge_without_buffer): Likewise.
1205 (__inplace_merge): New.
1206 (inplace_merge): Use latter.
1207 (__move_merge, __merge_sort_loop, __chunk_insertion_sort): Remove
1208 algo duplication.
1209 (__merge_sort_with_buffer, __stable_sort_adaptive): Likewise.
1210 (__inplace_stable_sort): Likewise.
1211 (__include): New.
1212 (includes): Use latter.
1213 (__next_permutation): New.
1214 (next_permutation): Use latter.
1215 (__prev_permutation): New.
1216 (prev_permutation): Use latter.
1217 (__replace_copy_if): New.
1218 (replace_copy): Use latter.
1219 (__is_sorted_until): New.
1220 (is_sorted_unitl): Use latter.
1221 (__minmax_element): New.
1222 (minmax_element): Use latter.
1223 (__is_permutation): New.
1224 (is_permutation): Use latter.
1225 (__adjacent_find): New.
1226 (adjacent_find): Use latter.
1227 (__count_if): New.
1228 (count): Use latter.
1229 (count_if): Likewise.
1230 (__merge): New.
1231 (merge): Use latter.
1232 (__stable_sort): New.
1233 (stable_sort): Use latter.
1234 (__set_union): New.
1235 (set_union): Use latter.
1236 (__set_intersection): New.
1237 (set_intersection): Use latter.
1238 (__set_difference): New.
1239 (set_difference): Use latter.
1240 (__set_symmetric_difference): New.
1241 (set_symmetric_difference): Use latter.
1242 (__min_element): New.
1243 (min_element): Use latter.
1244 (__max_element): New.
1245 (max_element): Use latter.
1246 * include/Makefile.am: Add predefined_ops.h.
1247 * include/Makefile.in: Regenerate.
1248 * include/parallel/algobase.h (equal, mismatch): Add overloads
1249 from N3671.
1250 * testsuite/25_algorithms/is_permutation/vectorbool.cc: New.
1251 * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
1252 * testsuite/25_algorithms/find/vectorbool.cc: Likewise.
1253 * testsuite/25_algorithms/find_if/vectorbool.cc: Likewise.
1254 * testsuite/25_algorithms/find_first_of/vectorbool.cc: Likewise.
1255 * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
1256 * testsuite/25_algorithms/find_end/vectorbool.cc: Likewise.
1257 * testsuite/25_algorithms/find_if_not/vectorbool.cc: Likewise.
1258
1259 2013-09-27 Jonathan Wakely <jwakely.gcc@gmail.com>
1260
1261 PR libstdc++/57465
1262 * include/std/functional
1263 (_Function_base::_Base_manager::_M_not_empty_function): Fix overload
1264 for pointers.
1265 * testsuite/20_util/function/cons/57465.cc: New.
1266
1267 2013-09-26 Tim Shen <timshen91@gmail.com>
1268
1269 * regex_error.h: Remove _S_error_last to follow the standard.
1270 * regex_scanner.tcc:
1271 (_Scanner<_FwdIter>::_M_scan_in_brace): Change error_brace to
1272 error_badbrace.
1273 (_Scanner<>::_M_eat_escape_posix): Extended doesn't support
1274 back-reference.
1275 * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
1276 Move here from ../../extended.
1277 * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
1278 Likewise.
1279
1280 2013-09-25 Marc Glisse <marc.glisse@inria.fr>
1281
1282 PR libstdc++/58338
1283 * include/bits/forward_list.h (_Fwd_list_node_base::_M_transfer_after):
1284 Mark as noexcept.
1285 (_Fwd_list_iterator) [_Fwd_list_iterator, operator*, operator->,
1286 operator++, operator==, operator!=, _M_next]: Likewise.
1287 (_Fwd_list_const_iterator) [_Fwd_list_const_iterator, operator*,
1288 operator->, operator++, operator==, operator!=, _M_next]: Likewise.
1289 (operator==(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&),
1290 operator!=(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&)):
1291 Likewise.
1292 * include/bits/hashtable_policy.h (_Hash_node_base::_Hash_node_base,
1293 _Hash_node::_M_next, _Node_iterator_base::_Node_iterator_base,
1294 _Node_iterator_base::_M_incr, operator==(const _Node_iterator_base&,
1295 const _Node_iterator_base&), operator!=(const _Node_iterator_base&,
1296 const _Node_iterator_base&)): Likewise.
1297 (_Node_iterator) [_Node_iterator, operator*, operator->, operator++]:
1298 Likewise.
1299 (_Node_const_iterator) [_Node_const_iterator, operator*, operator->,
1300 operator++]: Likewise.
1301 * include/debug/safe_iterator.h (_Safe_iterator) [_Safe_iterator,
1302 operator=, operator*, operator->, operator++, operator--, operator[],
1303 operator+=, operator+, operator-=, operator-, base, operator _Iterator]:
1304 Likewise.
1305 (operator==(const _Safe_iterator&, const _Safe_iterator&),
1306 operator!=(const _Safe_iterator&, const _Safe_iterator&),
1307 operator<(const _Safe_iterator&, const _Safe_iterator&),
1308 operator<=(const _Safe_iterator&, const _Safe_iterator&),
1309 operator>(const _Safe_iterator&, const _Safe_iterator&),
1310 operator>=(const _Safe_iterator&, const _Safe_iterator&),
1311 operator-(const _Safe_iterator&, const _Safe_iterator&),
1312 operator+(difference_type, const _Safe_iterator&)): Likewise.
1313 * include/profile/iterator_tracker.h (__iterator_tracker)
1314 [__iterator_tracker, base, operator _Iterator, operator->, operator++,
1315 operator--, operator=, operator*, operator[], operator+=, operator+,
1316 operator-=, operator-]: Likewise.
1317 (operator==(const __iterator_tracker&, const __iterator_tracker&),
1318 operator!=(const __iterator_tracker&, const __iterator_tracker&),
1319 operator<(const __iterator_tracker&, const __iterator_tracker&),
1320 operator<=(const __iterator_tracker&, const __iterator_tracker&),
1321 operator>(const __iterator_tracker&, const __iterator_tracker&),
1322 operator>=(const __iterator_tracker&, const __iterator_tracker&),
1323 operator-(const __iterator_tracker&, const __iterator_tracker&),
1324 operator+(difference_type, const __iterator_tracker&)): Likewise.
1325
1326 2013-09-24 Marc Glisse <marc.glisse@inria.fr>
1327
1328 PR libstdc++/58338
1329 PR libstdc++/56166
1330 * include/bits/basic_string.h (basic_string)
1331 [basic_string(basic_string&&)]: Make the noexcept conditional.
1332 [operator=(basic_string&&), assign(basic_string&&)]: Link to PR 58265.
1333 [begin(), end(), rbegin(), rend(), clear]: Remove noexcept.
1334 [pop_back]: Comment on the lack of noexcept.
1335 * include/debug/string (basic_string) [basic_string(const _Allocator&),
1336 basic_string(basic_string&&), begin(), end(), rbegin(), rend(), clear,
1337 operator[](size_type), pop_back]: Comment out noexcept, until vstring
1338 replaces basic_string.
1339
1340 2013-09-24 Tim Shen <timshen91@gmail.com>
1341
1342 * include/Makefile.am: Add regex.tcc.
1343 * include/Makefile.in: Regenerate.
1344 * include/bits/regex.h: Remove definitions to regex.tcc.
1345 * include/bits/regex.tcc: New.
1346 (match_results::format, regex_replace): Implement;
1347 * include/bits/regex_compiler.h: Move _M_flags to the top of class
1348 member list, because other members' initialization depend on it.
1349 * include/bits/regex_compiler.tcc
1350 (_Compiler<>::_Compiler): Adjust member initializations.
1351 (_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier.
1352 * include/bits/regex_executor.h: Remove _RegexT from _*Executor classes.
1353 In the future, all regex classes may refactor to *Impl style.
1354 * include/bits/regex_executor.tcc (_Executor::_M_set_results):
1355 Merge identical code from _*Executor classes.
1356 * testsuite/28_regex/algorithms/regex_match/extended/
1357 string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase
1358 caller for new __get_executors interface.
1359 * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
1360 New.
1361 * testsuite/28_regex/match_results/format.cc: New.
1362 * testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph
1363 testcase.
1364 * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
1365
1366 2013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com>
1367
1368 * src/c++11/snprintf_lite.cc (__concat_size_t): Use
1369 unsigned long long conditionally.
1370
1371 2013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com>
1372
1373 * src/c++11/snprintf_lite.cc (__concat_size_t): Use only
1374 std::__int_to_char<unsigned long long>()
1375
1376 2013-09-21 Paul Pluzhnikov <ppluzhnikov@google.com>
1377
1378 * include/bits/functexcept.h (__throw_out_of_range_fmt): New.
1379 * src/c++11/functexcept.cc (__throw_out_of_range_fmt): New.
1380 * src/c++11/snprintf_lite.cc: New.
1381 * src/c++11/Makefile.am: Add snprintf_lite.cc.
1382 * src/c++11/Makefile.in: Regenerate.
1383 * config/abi/pre/gnu.ver: Add _ZSt24__throw_out_of_range_fmtPKcz.
1384 * include/std/array (at): Use __throw_out_of_range_fmt.
1385 * include/debug/array (at): Likewise.
1386 * include/profile/array (at): Likewise.
1387 * include/std/bitset (_M_check_initial_position, _M_check): New.
1388 (bitset::bitset): Use _M_check_initial_position.
1389 (set, reset, flip, test): Use _M_check.
1390 * include/ext/vstring.h (_M_check, at): Use __throw_out_of_range_fmt.
1391 * include/bits/stl_vector.h (_M_range_check): Likewise.
1392 * include/bits/stl_bvector.h (_M_range_check): Likewise.
1393 * include/bits/stl_deque.h (_M_range_check): Likewise.
1394 * include/bits/basic_string.h (_M_check, at): Likewise.
1395 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust.
1396 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise.
1397 * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
1398 Likewise.
1399 * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
1400 Likewise.
1401 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise.
1402 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise.
1403 * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
1404 Likewise.
1405 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
1406 Likewise.
1407 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise.
1408 * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc:
1409 Likewise.
1410 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
1411 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise.
1412 * testsuite/util/exception/safety.h (generate): Use __throw_out_of_range_fmt.
1413
1414 2013-09-20 Jakub Jelinek <jakub@redhat.com>
1415
1416 PR testsuite/57605
1417 * testsuite/lib/libstdc++.exp (libstdc++_init): Prepend
1418 -fdiagnostics-color=never to cxxflags.
1419
1420 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1421
1422 PR libstdc++/58338
1423 * include/bits/allocator.h (__alloc_swap::_S_do_it,
1424 __shrink_to_fit_aux::_S_do_it): Mark as noexcept.
1425 * include/bits/basic_string.h (basic_string::_Rep) [_S_empty_rep,
1426 _M_is_leaked, _M_is_shared, _M_set_leaked, _M_set_sharable,
1427 _M_set_length_and_sharable, _M_dispose]: Likewise.
1428 (basic_string::_Alloc_hider::_Alloc_hider): Likewise.
1429 (basic_string) [_M_data, _M_rep, _M_ibegin, _M_iend, _M_limit,
1430 _M_disjunct, _M_copy, _M_move, _M_assign, _S_copy_chars, _S_compare,
1431 _S_empty_rep, shrink_to_fit, operator[] const, front const, back const]:
1432 Likewise.
1433 [clear]: Link to PR 56166.
1434 [swap]: Link to PR 58265.
1435 * include/bits/stl_deque.h (_Deque_iterator) [_S_buffer_size,
1436 _Deque_iterator, _M_const_cast, operator*, operator->, operator++,
1437 operator--, operator+=, operator+, operator-=, operator-, operator[],
1438 _M_set_node]: Mark as noexcept.
1439 (operator==(const _Deque_iterator&, const _Deque_iterator&),
1440 operator!=(const _Deque_iterator&, const _Deque_iterator&),
1441 operator<(const _Deque_iterator&, const _Deque_iterator&),
1442 operator>(const _Deque_iterator&, const _Deque_iterator&),
1443 operator<=(const _Deque_iterator&, const _Deque_iterator&),
1444 operator>=(const _Deque_iterator&, const _Deque_iterator&),
1445 operator-(const _Deque_iterator&, const _Deque_iterator&),
1446 operator+(ptrdiff_t, const _Deque_iterator&)): Likewise.
1447 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1448 _M_initialize_map.
1449 [~_Deque_base, _M_deallocate_node, _M_deallocate_map, _M_destroy_nodes]:
1450 Mark as noexcept.
1451 (_Deque_base::_Deque_impl) [_Deque_impl(const _Tp_alloc_type&),
1452 _Deque_impl(_Tp_alloc_type&&)]: Likewise.
1453 (deque) [_S_buffer_size, operator=(deque&&), shrink_to_fit, operator[],
1454 front, back, pop_front, pop_back, swap]: Likewise.
1455 [deque(), deque(const allocator_type&)]: Merge.
1456 * include/debug/deque (deque) [operator=(deque&&), shrink_to_fit,
1457 operator[], front, back, pop_front, pop_back, swap]: Mark as noexcept.
1458 * include/profile/deque (deque) [operator=(deque&&), operator[], front,
1459 back, pop_front, pop_back, swap]: Likewise.
1460 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1461 Adjust line number.
1462 * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
1463 Likewise.
1464 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
1465 Likewise.
1466 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1467 Likewise.
1468
1469 2013-09-20 Alan Modra <amodra@gmail.com>
1470
1471 * configure: Regenerate.
1472
1473 2013-09-19 Marc Glisse <marc.glisse@inria.fr>
1474
1475 PR libstdc++/58338
1476 * include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]:
1477 Mark as noexcept.
1478 (_Rb_tree_iterator) [_Rb_tree_iterator, operator*, operator->,
1479 operator++, operator--, operator==, operator!=]: Likewise.
1480 (_Rb_tree_const_iterator) [_Rb_tree_const_iterator, _M_const_cast,
1481 operator*, operator->, operator++, operator--, operator==, operator!=]:
1482 Likewise.
1483 (operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&),
1484 operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)):
1485 Likewise.
1486 (_Rb_tree) [_M_put_node, _M_destroy_node, _M_root, _M_leftmost,
1487 _M_rightmost, _M_begin, _M_end, _S_left, _S_right, _S_minimum,
1488 _S_maximum]: Likewise.
1489 * include/debug/string (basic_string) [basic_string(const _Allocator&),
1490 shrink_to_fit, operator[], pop_back]: Likewise.
1491 * include/ext/vstring.h (__versa_string) [_M_limit, _M_disjunct,
1492 _M_ibegin, _M_iend, __versa_string(const _Alloc&),
1493 operator=(__versa_string&&), shrink_to_fit, operator[], front,
1494 back, assign(__versa_string&&), swap]: Likewise.
1495 (__versa_string) [__versa_string(), __versa_string(const _Alloc&)]:
1496 Merge.
1497
1498 2013-09-18 Marc Glisse <marc.glisse@inria.fr>
1499
1500 PR libstdc++/58338
1501 * include/bits/stl_iterator.h (__normal_iterator) [__normal_iterator,
1502 _M_const_cast, operator*, operator->, operator++, operator--,
1503 operator[], operator+=, operator+, operator-=, operator-, base]:
1504 Mark as noexcept.
1505 (operator==(const __normal_iterator&, const __normal_iterator&),
1506 operator!=(const __normal_iterator&, const __normal_iterator&),
1507 operator<(const __normal_iterator&, const __normal_iterator&),
1508 operator>(const __normal_iterator&, const __normal_iterator&),
1509 operator<=(const __normal_iterator&, const __normal_iterator&),
1510 operator>=(const __normal_iterator&, const __normal_iterator&),
1511 operator-(const __normal_iterator&, const __normal_iterator&),
1512 operator+(difference_type, const __normal_iterator&)): Likewise.
1513 * include/bits/stl_list.h (list) [splice, _M_check_equal_allocators]:
1514 Likewise.
1515 (list::_M_check_equal_allocators): Abort instead of throwing.
1516 * include/debug/array (array) [operator[], front, back]: Mark as
1517 noexcept.
1518 * include/profile/array (array) [operator[], front, back]: Likewise.
1519 * include/std/array (array) [operator[], front, back]: Likewise.
1520 * include/debug/list (list::splice): Likewise.
1521 * include/profile/list (list::splice): Likewise.
1522 * testsuite/23_containers/list/operations/5.cc: Remove file.
1523 * testsuite/23_containers/list/operations/5.h: Likewise.
1524
1525 2013-09-18 Tim Shen <timshen91@gmail.com>
1526
1527 * include/bits/regex.h: Add friend classes.
1528 (match_results<>::position, regex_iterator<>::operator++):
1529 Implement position specification in regex_iterator.
1530 (regex_match<>, regex_search<>):
1531 Move match_results initializations to these function. Remove `todo`.
1532 * include/bits/regex_compiler.tcc:
1533 (_Compiler<>::_M_quantifier): Fix greedy/ungreedy of interval matching.
1534 * include/bits/regex_constants.h:
1535 Fix indentation. Change match_flag_type to enum type.
1536 * include/bits/regex_executor.h:
1537 Merge identical code to the base class _Executor.
1538 Support flags in regex_constants.
1539 * include/bits/regex_executor.tcc: Likewise.
1540 * include/bits/regex_scanner.h: Add comments.
1541 * include/bits/regex_scanner.tcc: Same.
1542 * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
1543 Add a testcase.
1544 * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New.
1545 * testsuite/28_regex/iterators/regex_iterator/char/
1546 string_position_01.cc: Remove `xfail`.
1547 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
1548 Remove `xfail` and make the case really work.
1549
1550 2013-09-18 Paolo Carlini <paolo.carlini@oracle.com>
1551
1552 * testsuite/performance/25_algorithms/search_n.cc: Fix typo.
1553
1554 2013-09-18 Marc Glisse <marc.glisse@inria.fr>
1555
1556 PR libstdc++/58338
1557 * include/bits/list.tcc (_List_base::_M_clear, list::erase): Mark as
1558 noexcept.
1559 * include/bits/stl_list.h (_List_iterator) [_List_iterator,
1560 _M_const_cast, operator*, operator->, operator++, operator--,
1561 operator==, operator!=]: Likewise.
1562 (_List_const_iterator) [_List_const_iterator, _M_const_cast, operator*,
1563 operator->, operator++, operator--, operator==, operator!=]: Likewise.
1564 (operator==(const _List_iterator&, const _List_const_iterator&),
1565 operator!=(const _List_iterator&, const _List_const_iterator&)):
1566 Likewise.
1567 (_List_impl) [_List_impl(const _Node_alloc_type&),
1568 _List_impl(_Node_alloc_type&&)]: Likewise.
1569 (_List_base) [_M_put_node, _List_base(const _Node_alloc_type&),
1570 _List_base(_List_base&&), _M_clear, _M_init]: Likewise.
1571 (list) [list(), list(const allocator_type&)]: Merge.
1572 (list) [list(const allocator_type&), front, back, pop_front, pop_back,
1573 erase, _M_erase]: Mark as noexcept.
1574 * include/debug/list (list) [list(const _Allocator&), front, back,
1575 pop_front, pop_back, _M_erase, erase]: Likewise.
1576 * include/profile/list (list) [list(const _Allocator&), front, back,
1577 pop_front, pop_back, erase]: Likewise.
1578 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1579 Adjust line number.
1580 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1581 Likewise.
1582 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1583 Likewise.
1584 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1585 Likewise.
1586
1587 2013-09-17 Marc Glisse <marc.glisse@inria.fr>
1588
1589 PR libstdc++/58338
1590 * include/bits/stl_vector.h (vector::vector(),
1591 vector::vector(const allocator_type&)): Merge.
1592 (_Vector_impl::_Vector_impl(_Tp_alloc_type const&),
1593 _Vector_impl::_Vector_impl(_Tp_alloc_type&&),
1594 _Vector_impl::_M_swap_data,
1595 _Vector_base::_Vector_base(const allocator_type&),
1596 _Vector_base::_Vector_base(allocator_type&&),
1597 _Vector_base::_Vector_base(_Vector_base&&), _Vector_base::~_Vector_base,
1598 vector::vector(const allocator_type&), vector::operator[],
1599 vector::operator[] const, vector::front, vector::front const,
1600 vector::back, vector::back const, vector::pop_back,
1601 vector::_M_erase_at_end): Mark as noexcept.
1602 * include/debug/vector (vector::vector(const _Allocator&),
1603 vector::operator[], vector::operator[] const, vector::front,
1604 vector::front const, vector::back, vector::back const, vector::pop_back,
1605 _M_requires_reallocation, _M_update_guaranteed_capacity,
1606 _M_invalidate_after_nth): Mark as noexcept.
1607 * include/profile/vector (vector::vector(const _Allocator&),
1608 vector::operator[], vector::operator[] const, vector::front,
1609 vector::front const, vector::back, vector::back const): Mark as
1610 noexcept.
1611 (vector::vector(vector&&, const _Allocator&)): Remove wrong noexcept.
1612 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1613 Adjust line number.
1614 * testsuite/23_containers/vector/requirements/dr438/
1615 constructor_1_neg.cc: Likewise.
1616 * testsuite/23_containers/vector/requirements/dr438/
1617 constructor_2_neg.cc: Likewise.
1618 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1619 Likewise.
1620
1621 2013-09-14 Tim Shen <timshen91@gmail.com>
1622
1623 * include/bits/regex.h (regex_match<>, regex_search<>):
1624 Change regex_executor caller. Now use their return value instead
1625 of checking __m[0].matched to find out if it's successful.
1626 (regex_search<>): Move the search logic to regex_executor.
1627 * include/bits/regex_automaton.h: Add some new _Opcode. Refactor
1628 _NFA::_M_insert_*.
1629 * include/bits/regex_automaton.tcc: Add DEBUG dump for new
1630 _Opcode. Refactor _NFA::_M_insert_*.
1631 * include/bits/regex_compiler.h (_Compiler<>::_M_get_nfa):
1632 Use make_shared instead of construct by hand.
1633 * include/bits/regex_compiler.tcc: Implement _Compiler<>::_M_assertion.
1634 * include/bits/regex_constants.h: Fix indentation and line breaking.
1635 * include/bits/regex_executor.h: Add _ResultsEntry to support
1636 greedy/ungreedy mode. Move regex_search logic here.
1637 * include/bits/regex_executor.tcc: Implement assertions and
1638 greedy/ungreedy matching.
1639 * include/bits/regex_scanner.h: Add a new token _S_token_ungreedy.
1640 * include/bits/regex_scanner.tcc: Parse a new token _S_token_ungreedy.
1641 * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: New.
1642 * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: New.
1643 * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
1644 Fix comment.
1645
1646 2013-09-13 Paolo Carlini <paolo.carlini@oracle.com>
1647
1648 PR libstdc++/58415
1649 * include/ext/sso_string_base.h (__sso_string_base<>::
1650 __sso_string_base(__sso_string_base&&)): Fix thinkos about
1651 _M_length vs _M_set_length.
1652 * testsuite/ext/vstring/cons/58415-1.cc: New.
1653 * testsuite/ext/vstring/cons/58415-2.cc: Likewise.
1654
1655 2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
1656
1657 PR libstdc++/58403
1658 * include/bits/stl_iterator.h (__normal_iterator<>::operator[],
1659 operator+=, operator+, operator-=, operator-): Take the argument
1660 by value.
1661 * testsuite/24_iterators/normal_iterator/58403.cc: New.
1662
1663 2013-09-11 Mitsuru Kariya <kariya_mitsuru@hotmail.com>
1664 Chris Jefferson <chris@bubblescope.net>
1665
1666 PR libstdc++/58358
1667 * include/bits/stl_algo.h (search_n): Fix to guarantee a number
1668 of comparisons <= number of elements in the range.
1669 * testsuite/25_algorithms/search_n/58358.cc: New.
1670 * testsuite/25_algorithms/search_n/iterator.cc: Extend.
1671
1672 2013-09-10 Ed Smith-Rowland <3dw4rd@verizon.net>
1673
1674 * testsuite/28_regex/traits/wchar_t/value.cc: Change template args
1675 from char to wchar_t, literals from 'x' to L'x'.
1676
1677 2013-09-10 Kai Tietz <ktietz@redhat.com>
1678
1679 PR libstdc++/54314
1680 * config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
1681 like in gnu.ver.
1682
1683 2013-09-07 Paolo Carlini <paolo.carlini@oracle.com>
1684
1685 PR libstdc++/58341
1686 * include/bits/stl_algobase.h (copy_backward): Fix documentation
1687 per DR 1206.
1688
1689 2013-09-05 Tim Shen <timshen91@gmail.com>
1690
1691 * include/bits/regex_automaton.h: Add dummy node type. Rewrite
1692 _StateSeq.
1693 * include/bits/regex_automaton.tcc: Implement them.
1694 * include/bits/regex_compiler.h: Rewrite _Compiler to use new
1695 _StateSeq interfaces.
1696 * include/bits/regex_compiler.tcc: Implement them.
1697 * include/bits/regex_scanner.h: Add word boundry assertion token.
1698 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1699 Support word boundry.
1700 * testsuite/28_regex/algorithms/regex_match/basic/
1701 string_range_02_03.cc: Remove "xfail".
1702 * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
1703 Likewise.
1704 * testsuite/28_regex/algorithms/regex_match/extended/
1705 string_range_02_03.cc: Likewise.
1706 * testsuite/28_regex/algorithms/regex_match/extended/
1707 cstring_questionmark.cc: Remove xfail and get correct length of
1708 c-string.
1709 * testsuite/28_regex/algorithms/regex_match/extended/
1710 string_range_00_03.cc: Likewise.
1711 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1712 New.
1713 * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
1714 New.
1715 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New.
1716
1717 2013-09-03 Paolo Carlini <paolo.carlini@oracle.com>
1718
1719 PR libstdc++/58302
1720 * include/bits/random.tcc (negative_binomial_distribution<>::
1721 operator()(_UniformRandomNumberGenerator&, const param_type&)):
1722 Fix typo in template argument.
1723 * testsuite/26_numerics/random/negative_binomial_distribution/
1724 operators/58302.cc: New.
1725
1726 2013-09-02 Tim Shen <timshen91@gmail.com>
1727
1728 * regex_automaton.h: Rearrange _NFA's layout.
1729 * include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher.
1730 Rearrange _BracketMatcher's layout.
1731 (_BracketMatcher<>::_M_add_char): Use set instead of vector for
1732 _M_char_set.
1733 (_BracketMatcher<>::_M_add_collating_element): Likewise.
1734 (_BracketMatcher<>::_M_make_range): Likewise.
1735 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use
1736 appropriate constructors of matchers above.
1737 * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
1738 New.
1739 * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New.
1740 * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
1741 New.
1742 * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
1743 New.
1744 * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New.
1745 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
1746 New.
1747 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New.
1748
1749 2013-08-30 François Dumont <fdumont@gcc.gnu.org>
1750
1751 PR libstdc++/58148
1752 * include/debug/functions.h (__foreign_iterator_aux4): Use
1753 sequence const_pointer as common type to compare pointers. Add a
1754 fallback overload in case pointers cannot be cast to sequence
1755 const_pointer.
1756 * testsuite/23_containers/vector/modifiers/insert/58148.cc: New.
1757
1758 2013-08-30 François Dumont <fdumont@gcc.gnu.org>
1759
1760 PR libstdc++/58191
1761 * include/debug/macros.h (__glibcxx_check_partitioned_lower): Add
1762 __gnu_debug::__base calls on iterators passed to internal debug
1763 check.
1764 (__glibcxx_check_partitioned_lower_pred): Likewise.
1765 (__glibcxx_check_partitioned_upper): Likewise.
1766 (__glibcxx_check_partitioned_upper_pred): Likewise.
1767 (__glibcxx_check_sorted): Likewise.
1768 (__glibcxx_check_sorted_pred): Likewise.
1769 (__glibcxx_check_sorted_set): Likewise.
1770 (__glibcxx_check_sorted_set_pred): Likewise.
1771 * include/debug/functions.h (__check_partitioned_lower):
1772 Remove code to detect safe iterators.
1773 (__check_partitioned_upper): Likewise.
1774 (__check_sorted): Likewise.
1775
1776 2013-08-29 Tim Shen <timshen91@gmail.com>
1777
1778 * include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits.
1779 (regex_iterator<>::regex_iterator): Return nullptr when regex_search
1780 failed.
1781 (regex_token_iterator<>::_M_end_of_seq): Should be defined true when
1782 _M_result is(not isn't) nullptr.
1783 * include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference
1784 instead of by value.
1785 * include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add
1786 _M_traits to _DFSExecutor.
1787 * include/bits/regex_executor.tcc (__get_executor<>): Pass traits to
1788 _DFSExecutor too.
1789 * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
1790 New.
1791 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
1792 wstring_02.cc: New.
1793
1794 2013-08-26 Tim Shen <timshen91@gmail.com>
1795
1796 * include/Makefile.am: Add regex_scanner.{h,tcc}.
1797 * include/Makefile.in: Regenerate.
1798 * include/bits/regex.h (match_search): Handle the `__first == __last`
1799 situation correctly.
1800 * include/bits/regex_compiler.h: Move _Scanner...
1801 * include/bits/regex_scanner.h: ...to here. New.
1802 * include/bits/regex_compiler.tcc: Move _Scanner...
1803 * include/bits/regex_scanner.tcc: ...to here, too. New.
1804 * include/bits/regex_executor.tcc: Use value instead of reference for
1805 submatch.
1806 * include/std/regex: Add regex_scanner.h
1807 * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New.
1808 * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New.
1809 * testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New.
1810 * testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New.
1811 * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New.
1812
1813 2013-08-22 Tim Shen <timshen91@gmail.com>
1814
1815 * include/bits/regex.h: Replace 8 spaces in indentation with a tab.
1816 * include/bits/regex_automaton.h: Same.
1817 * include/bits/regex_automaton.tcc: Same.
1818 * include/bits/regex_compiler.h: Same.
1819 * include/bits/regex_compiler.tcc: Same.
1820 * include/bits/regex_constants.h: Same.
1821 * include/bits/regex_executor.h: Same.
1822 * include/bits/regex_executor.tcc: Same.
1823
1824 2013-08-22 Tim Shen <timshen91@gmail.com>
1825
1826 * include/bits/regex.h: Executor caller.
1827 * include/bits/regex_executor.h: Fix empty grouping problem.
1828 * include/bits/regex_executor.tcc: Same.
1829 * testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc:
1830 New.
1831
1832 2013-08-20 Phil Muldoon <pmuldoon@redhat.com>
1833
1834 PR libstdc++/53477
1835 http://sourceware.org/bugzilla/show_bug.cgi?id=15195
1836
1837 * python/libstdcxx/v6/printers.py (Printer.__call__): If a value
1838 is a reference, fetch referenced value.
1839 (RxPrinter.invoke): Ditto.
1840 * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add -O0
1841 flag. Add referenced value tests.
1842
1843 2013-08-20 Tim Shen <timshen91@gmail.com>
1844
1845 * include/bits/regex_constants.h: Add underlying `unsigned int` for
1846 enum syntax_option_type.
1847
1848 2013-08-18 Tim Shen <timshen91@gmail.com>
1849
1850 * include/bits/regex_automaton.h: _S_opcode_backref.
1851 * include/bits/regex_automaton.tcc: Backref automaton support.
1852 * include/bits/regex_compiler.tcc: Parsing support.
1853 * include/bits/regex_executor.h: Add _M_traits for _DFSExecutor.
1854 * include/bits/regex_executor.tcc: Add _S_opcode_backref support.
1855 * testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc: New.
1856
1857 2013-08-16 Tim Shen <timshen91@gmail.com>
1858
1859 * include/bits/regex.h (regex_traits<>::transform_primary):
1860 Avoid past-the-end dereferences.
1861
1862 2013-08-14 Paolo Carlini <paolo.carlini@oracle.com>
1863
1864 PR libstdc++/58163
1865 * include/bits/basic_string.h (basic_string<>::operator[]): Fix
1866 _GLIBCXX_DEBUG_PEDASSERT check vs C++11.
1867 * include/ext/vstring.h: Likewise.
1868 * testsuite/21_strings/basic_string/element_access/char/58163.cc:
1869 New.
1870 * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
1871 Likewise.
1872 * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
1873 * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
1874
1875 2013-08-14 Uros Bizjak <ubizjak@gmail.com>
1876
1877 * src/c++98/compatibility.cc (_ZTIe): Use
1878 reinterpret_cast<const cast *> to avoid -Wcast-qual warnings.
1879 (_ZTIPe): Ditto.
1880 (ZTIPKe): Ditto.
1881
1882 2013-08-09 Tim Shen <timshen91@gmail.com>
1883
1884 * include/bits/regex_constants.h: Change syntax_option_type to enum
1885 type.
1886
1887 2013-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1888
1889 * include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp, _Cp, _Rp.
1890
1891 2013-08-08 François Dumont <fdumont@gcc.gnu.org>
1892
1893 * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
1894 (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
1895 _Hashtable.
1896 (_Before_begin<>): Remove.
1897 * include/bits/hashtable.h (_Hashtable): Inherit from
1898 _Hashtable_alloc and adapt. Restore _M_before_begin field.
1899 * src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include.
1900 * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
1901 access to hashtable before begin.
1902 * testsuite/23_containers/unordered_set/
1903 not_default_constructible_hash_neg.cc: Adapt dg-error line number.
1904 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1905 Likewise.
1906
1907 2013-08-07 Tim Shen <timshen91@gmail.com>
1908
1909 * include/Makefile.am: Adjust to new files.
1910 * include/Makefile.in: Regenerate.
1911 * include/bits/regex.h: Adjust to new interfaces.
1912 * include/bits/regex_automaton.h: New.
1913 * include/bits/regex_automaton.tcc: New.
1914 * include/bits/regex_compiler.h: Adjust to new files.
1915 * include/bits/regex_compiler.tcc: New.
1916 * include/bits/regex_constants.h: Tail spaces.
1917 * include/bits/regex_error.h: Likewise.
1918 * include/bits/regex_executor.h: New.
1919 * include/bits/regex_executor.tcc: New.
1920 * include/std/regex: Adjust to new files.
1921 * testsuite/28_regex/algorithms/regex_match/extended/
1922 string_dispatch_01.cc: Adjust to new interfaces.
1923
1924 2013-08-07 Paolo Carlini <paolo.carlini@oracle.com>
1925
1926 * include/ext/atomicity.h: Add #pragma GCC system_header.
1927
1928 2013-08-07 Paolo Carlini <paolo.carlini@oracle.com>
1929
1930 PR libstdc++/58098
1931 * include/bits/random.h (cauchy_distribution<>::min,
1932 extreme_value_distribution<>::min, normal_distribution<>::min,
1933 student_t_distribution<>::min): Fix.
1934 * include/ext/random (normal_mv_distribution<>::min): Likewise.
1935 * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
1936 Adjust.
1937 testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
1938 Likewise.
1939 * testsuite/26_numerics/random/extreme_value_distribution/cons/
1940 parms.cc: Likewise.
1941 testsuite/26_numerics/random/extreme_value_distribution/cons/
1942 default.cc: Likewise.
1943 * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
1944 Likewise.
1945 * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
1946 Likewise.
1947 * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
1948 Likewise.
1949 * testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
1950 Likewise.
1951 * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
1952 * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
1953
1954 * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
1955 Minor tweak.
1956 * testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
1957 Likewise.
1958
1959 * testsuite/ext/von_mises_distribution/*: Move to...
1960 * testsuite/ext/random/von_mises_distribution/*: ... here.
1961 * testsuite/ext/triangular_distribution/*: Move to...
1962 * testsuite/ext/random/triangular_distribution/*: ... here.
1963
1964 2013-08-06 Caroline Tice <cmtice@google.com>
1965
1966 * fragment.am: Add XTEMPLATE_FLAGS.
1967 * configure.ac: Add definitions for --enable-vtable-verify.
1968 * acinclude.m4: Add --enable-vtable-verify and
1969 --disable-vtable-verify; define --enable-vtable-verify; define
1970 VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
1971 * config/abi/pre/gnu.ver: Export symbols for vtable verification.
1972 * libsupc++/Makefile.am: Define vtv_sources and add it to
1973 libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
1974 * libsupc++/vtv_stubs.cc: New file.
1975 * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
1976 * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
1977 VTV_CXXLINKFLAGS to CXXLINK.
1978 * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
1979 to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
1980 * src/C++11/Makefile.am: Ditto.
1981 * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
1982 * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
1983 cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
1984 * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
1985 libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
1986 cxxvtvflags to cxx_final.
1987 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
1988 -fvtable-verify=none to compiler flags.
1989 * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
1990 to compiler flags.
1991 * configure: Regenerated.
1992 * Makefile.in: Regenerated.
1993 * python/Makefile.in: Regenerated.
1994 * include/Makefile.in: Regenerated.
1995 * libsupc++/Makefile.in: Regenerated.
1996 * config.h.in: Regenerated.
1997 * po/Makefile.in: Regenerated.
1998 * src/Makefile.in: Regenerated.
1999 * src/c++98/Makefile.in: Regenerated.
2000 * src/c++11/Makefile.in: Regenerated.
2001 * doc/Makefile.in: Regenerated.
2002 * testsuite/Makefile.in: Regenerated.
2003
2004 2013-08-06 Paolo Carlini <paolo.carlini@oracle.com>
2005
2006 Revert the last commit.
2007
2008 2013-08-06 François Dumont <fdumont@gcc.gnu.org>
2009
2010 * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
2011 (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
2012 _Hashtable.
2013 (_Before_begin<>): Remove.
2014 * include/bits/hashtable.h (_Hashtable): Inherit from
2015 _Hashtable_alloc and adapt. Restore _M_before_begin field.
2016 * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
2017 access to hashtable before begin.
2018 * testsuite/23_containers/unordered_set/
2019 not_default_constructible_hash_neg.cc: Adapt dg-error line number.
2020 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2021 Likewise.
2022
2023 2013-08-03 Tim Shen <timshen91@gmail.com>
2024
2025 Implement bracket expression.
2026 * include/bits/regex.h: Remove constexpr from "|=", etc.
2027 * include/bits/regex_compiler.h: Parse bracket expression.
2028 * include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old
2029 _RangeMatcher).
2030 * include/bits/regex_nfa.tcc: Implement them.
2031 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
2032 from regex_search to regex_match.
2033 * testsuite/28_regex/algorithms/regex_match/extended/
2034 cstring_bracket_01.cc: New.
2035
2036 2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
2037
2038 * include/debug/functions.h (__foreign_iterator_aux4):
2039 Initialize __l and __ge.
2040
2041 2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
2042
2043 PR libstdc++/58049
2044 * include/debug/functions.h: Include <bits/move.h>; minor formatting
2045 changes.
2046 (__foreign_iterator_aux4): Declare __l and __ge constexpr.
2047 * include/debug/safe_iterator.h (_Safe_iterator<>::operator->):
2048 Use __addressof.
2049 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
2050 operator->): Likewise.
2051
2052 2013-08-01 François Dumont <fdumont@gcc.gnu.org>
2053
2054 PR libstdc++/57779
2055 * include/debug/formatter.h (_Debug_msg_id): Add
2056 __msg_insert_itself_range entry.
2057 * include/debug/functions.h (_Insert_range_from_self_is_safe<>):
2058 New, indicate container types supporting self range insertion in
2059 GNU implementation.
2060 (__foreign_iterator): New, check if an iterator points to a given
2061 sequence.
2062 * include/debug/macros.h (__glibcxx_check_insert_range): Add check
2063 using __foreign_iterator.
2064 (__gibcxx_check_insert_range_after): Likewise.
2065 * include/debug/string (_Insert_range_from_self_is_safe<>):
2066 Partially specialized to mark __gnu_debug::basic_string<> as
2067 supporting self range insert.
2068 * include/debug/list (_Insert_range_from_self_is_safe<>):
2069 Partially specialized to mark std::list as supporting self range
2070 insert if _GLIBCXX_DEBUG_PEDANTIC is not defined.
2071 * include/debug/forward_list (_Insert_range_from_self_is_safe<>):
2072 Likewise.
2073 * src/c++11/debug.cc (_S_debug_messages): Add
2074 __msg_insert_itself_range_entry message.
2075 (_Error_formatter::_Parameter::_M_print_description): Display
2076 iterator sequence address rather than sequence address when the
2077 parameter type is an iterator.
2078 (_Error_formatter::_M_print_word): Enhance behavior when
2079 displaying a word with an appended '\n'.
2080 * testsuite/util/debug/checks.h (check_insert4<>): New.
2081 * testsuite/23_containers/deque/debug/insert5_neg.cc: New.
2082 * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
2083 * testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise.
2084 * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
2085 * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
2086 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
2087 Likewise.
2088
2089 2013-08-01 Fabien Chêne <fabien@gcc.gnu.org>
2090
2091 PR c++/54537
2092 * include/tr1/cmath: Remove pow(double,double) overload, remove a
2093 duplicated comment about DR 550. Add a comment to explain the
2094 issue.
2095 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New.
2096
2097 2013-07-31 Tim Shen <timshen91@gmail.com>
2098
2099 Thompson matcher refactored. Fix grouping problem.
2100 * include/bits/regex.h: Use a dispatcher _M_get_matcher().
2101 * include/bits/regex_compiler.h: Tweak for auto switching.
2102 * include/bits/regex_grep_matcher.h: Class structure.
2103 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
2104 matcher) refactoring.
2105 * include/bits/regex_nfa.h: Change _Results's interfaces.
2106 * include/std/regex: Includes <map> and <queue>.
2107 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
2108 For both matchers.
2109 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
2110 For both matchers.
2111 * testsuite/28_regex/algorithms/regex_match/extended/
2112 string_dispatch_01.cc: New.
2113
2114 2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
2115
2116 PR libstdc++/56627
2117 * include/bits/stl_bvector.h: Use friend struct hash intead of
2118 friend class hash to work around useless warnings produced by
2119 some compilers.
2120 * include/std/bitset: Likewise.
2121
2122 2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
2123
2124 * src/c++11/functexcept.cc: Do not include the whole <regex>.
2125 * src/c++11/regex.cc: Likewise.
2126
2127 2013-07-31 Tim Shen <timshen91@gmail.com>
2128
2129 Revert last commit.
2130
2131 2013-07-31 Tim Shen <timshen91@gmail.com>
2132
2133 Thompson matcher refactored. Fix grouping problem.
2134 * include/bits/regex.h: Use a dispatcher _M_get_matcher().
2135 * include/bits/regex_compiler.h: Tweak for auto switching.
2136 * include/bits/regex_grep_matcher.h: Class structure.
2137 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
2138 matcher) refactoring.
2139 * include/bits/regex_nfa.h: Change _Results's interfaces.
2140 * include/std/regex: Includes <map> and <queue>.
2141 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
2142 For both matchers.
2143 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
2144 For both matchers.
2145 * testsuite/28_regex/algorithms/regex_match/extended/
2146 string_dispatch_01.cc: New.
2147
2148 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
2149
2150 Revert last commit.
2151
2152 2013-07-30 Tim Shen <timshen91@gmail.com>
2153
2154 Thompson matcher refactored. Fix grouping problem.
2155 * include/bits/regex.h: Use a dispatcher _M_get_matcher().
2156 * include/bits/regex_compiler.h: Tweak for auto switching.
2157 * include/bits/regex_grep_matcher.h: Class structure.
2158 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
2159 matcher) refactoring.
2160 * include/bits/regex_nfa.h: Change _Results's interfaces.
2161 * include/std/regex: Includes <map> and <queue>.
2162 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
2163 For both matchers.
2164 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
2165 For both matchers.
2166 * testsuite/28_regex/algorithms/regex_match/extended/
2167 string_dispatch_01.cc: New.
2168
2169 2013-07-29 Nathan Froyd <froydnj@gcc.gnu.org>
2170
2171 * include/std/atomic (compare_exchange_weak, compare_exchange_strong):
2172 Add call to __cmpexch_failure_order.
2173 * testsuite/util/testsuite_common_types.h
2174 (compare_exchange_order_lowering): New generator.
2175 * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
2176 New test.
2177
2178 2013-07-25 Paolo Carlini <paolo.carlini@oracle.com>
2179
2180 * include/std/complex (pow(const complex<>&, int)): Enable in
2181 C++11 mode too.
2182 * testsuite/26_numerics/complex/dr844.cc: Adjust.
2183 * doc/xml/manual/intro.xml: Update.
2184
2185 2013-07-25 Tim Shen <timshen91@gmail.com>
2186
2187 Add documents and comments.
2188 * include/bits/regex.h: Documents and comments.
2189 * include/bits/regex_grep_matcher.h: Likewise.
2190 * include/bits/regex_grep_matcher.tcc: Likewise.
2191 * testsuite/28_regex/iterators/regex_iterator/char/
2192 string_position_01.cc: New.
2193
2194 2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
2195
2196 PR libstdc++/57976
2197 * doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
2198 time_get::do_get.
2199
2200 2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
2201
2202 * include/bits/random.h (random_device): Avoid using the FILE type.
2203 * include/std/random: Do not include <cstdio>.
2204 * src/c++11/random.cc: ... include it here.
2205 (random_device::_M_init, random_device::_M_fini,
2206 random_device::_M_getval): Cast back and forth void* and FILE*.
2207
2208 2013-07-24 Tim Shen <timshen91@gmail.com>
2209
2210 Reimplment matcher using Depth-first search(backtracking).
2211 PR libstdc++/53622
2212 PR libstdc++/57173
2213 * include/bits/regex.h: regex_match() and regex_search().
2214 * include/bits/regex_cursor.h: Fix _M_set_pos().
2215 * include/bits/regex_grep_matcher.h: add _M_dfs_match().
2216 * include/bits/regex_grep_matcher.tcc: Implement it.
2217 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: New.
2218 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: New.
2219 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
2220 Remove xfail.
2221
2222 2013-07-23 Tim Shen <timshen91@gmail.com>
2223
2224 Implement regex_iterator and regex_token_iterator.
2225 * include/bits/regex.h: regex_iterator and regex_token_iterator.
2226 * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
2227 New.
2228 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
2229 New.
2230 * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
2231 New.
2232 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
2233 string_01.cc: New.
2234
2235 2013-07-23 Paolo Carlini <paolo.carlini@oracle.com>
2236
2237 * include/std/random: Add back <cstdio> include.
2238 * src/c++11/random.cc: Don't include <cstdio> here.
2239
2240 2013-07-22 Jason Merrill <jason@redhat.com>
2241
2242 PR libstdc++/57914
2243 * libsupc++/atexit_thread.cc (run): Delete cleanup elts.
2244
2245 2013-07-22 Paolo Carlini <paolo.carlini@oracle.com>
2246
2247 PR c++/57920
2248 * src/c++11/random.cc (random_device::_M_getval): If possible, use
2249 read instead of std::fread.
2250 * include/std/random: Do not include <cstdio> unnecessarily.
2251
2252 2013-07-21 Tim Shen <timshen91@gmail.com>
2253
2254 Partially implement regex_search.
2255 * include/bits/regex.h: regex_search.
2256 * include/bits/regex_grep_matcher.h: _M_search_from_first.
2257 * include/bits/regex_grep_matcher.tcc: Implement it.
2258 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New.
2259
2260 2013-07-21 Jonathan Wakely <jwakely.gcc@gmail.com>
2261
2262 PR libstdc++/54352
2263 * include/std/condition_variable (condition_variable_any): Move into
2264 inline namespace _V2 and replace mutex member with shared_ptr<mutex>.
2265 * src/c++11/condition_variable.cc (condition_variable_any): Move
2266 definitions to ...
2267 * src/c++11/compatibility-condvar.cc (condition_variable_any): Here.
2268 * src/Makefile.am: Add new source file.
2269 * src/Makefile.in: Regenerate.
2270
2271 2013-07-09 Tim Shen <timshen91@gmail.com>
2272
2273 Implement class regex_traits.
2274 * include/bits/regex.h: Implement lookup_classname and
2275 lookup_collatename; modify isctype; partially implement
2276 transform_primary.
2277 * testsuite/28_regex/traits/char/isctype.cc: Add more test cases.
2278 * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
2279 * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
2280 * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
2281 * testsuite/28_regex/traits/wchar_t/isctype.cc: New.
2282 * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New.
2283 * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New.
2284 * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New.
2285
2286 2013-07-07 Ed Smith-Rowland <3dw4rd@verizon.net>
2287
2288 * doc/xml/manual/status_cxx2014.xml: Add links for papers.
2289
2290 2013-07-05 François Dumont <fdumont@gcc.gnu.org>
2291
2292 * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
2293 pattern.
2294 (_MoveReuseOrAllocNode): Remove.
2295 (_Insert_base): Take a functor defining how the node is generated.
2296 * include/bits/hashtable.h: Adapt.
2297 (operator=(initializer_list<value_type>)): Reuse node if any.
2298 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2299 Adjust dg-error line number.
2300 * testsuite/23_containers/unordered_set/
2301 not_default_constructible_hash_neg.cc: Likewise.
2302
2303 2013-07-05 Paolo Carlini <paolo.carlini@oracle.com>
2304
2305 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
2306 Tweak, avoid potential undefined behavior.
2307 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
2308 Likewise.
2309 * testsuite/23_containers/vector/bool/modifiers/insert/
2310 const_iterator.cc: Likewise.
2311 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
2312 Likewise.
2313
2314 2013-07-04 Veres Lajos <vlajos@gmail.com>
2315 Jonathan Wakely <jwakely.gcc@gmail.com>
2316
2317 * config/locale/generic/codecvt_members.cc: Fix typo.
2318 * configure.host: Likewise.
2319 * doc/html/manual/policy_data_structures_design.html: Likewise.
2320 * doc/xml/manual/policy_data_structures.xml: Likewise.
2321 * include/bits/hashtable.h: Likewise.
2322 * include/bits/random.h: Likewise.
2323 * include/profile/impl/profiler_trace.h: Likewise.
2324 * testsuite/23_containers/deque/cons/2.cc: Likewise.
2325 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
2326 * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
2327 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
2328
2329 2013-07-04 Ray Chason <chasonr@newsguy.com>
2330 Paolo Carlini <paolo.carlini@oracle.com>
2331
2332 PR libstdc++/57808
2333 * include/bits/regex.h (regex_token_iterator<>::operator==,
2334 regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
2335 regex_token_iterator<>::operator->): Declare const.
2336
2337 2013-07-01 Paolo Carlini <paolo.carlini@oracle.com>
2338
2339 * include/bits/stl_list.h (list<>::insert(iterator,
2340 size_type, const value_type&), list<>::insert(iterator,
2341 initializer_list<>), list<>::insert(iterator, _InputIterator,
2342 _InputIterator), list<>::splice(iterator, list&&),
2343 list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
2344 iterator), list<>::splice(iterator, list&, iterator),
2345 list<>::splice(iterator, list&&, iterator, iterator),
2346 list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
2347 signatures to take const_iterator(s).
2348 * include/bits/list.tcc (list<>::insert(const_iterator, size_type,
2349 const value_type&), list<>::insert(const_iterator, _InputIterator,
2350 _InputIterator)): Define.
2351 * include/ext/vstring.h (__versa_string<>::insert(iterator,
2352 size_type, _CharT), __versa_string<>::insert(iterator,
2353 _InputIterator, _InputIterator), __versa_string<>::insert(iterator,
2354 std::initializer_list<>), __versa_string<>::replace(iterator,
2355 iterator, _InputIterator, _InputIterator), __versa_string<>::
2356 replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
2357 signatures to take const_iterator(s).
2358 (__versa_string<>::_M_replace_dispatch): Take const_iterators.
2359 * include/ext/vstring.tcc: Likewise.
2360 * include/debug/list: Adjust.
2361 * include/profile/list: Likewise.
2362 * testsuite/23_containers/list/operations/splice/const_iterator.cc:
2363 New.
2364 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
2365 Extend.
2366 * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
2367 Likewise.
2368 * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
2369 Likewise.
2370 * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
2371 Likewise.
2372 * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
2373 Likewise.
2374
2375 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2376 Adjust dg-error line number.
2377 * testsuite/23_containers/list/requirements/dr438/
2378 constructor_1_neg.cc: Likewise.
2379 * testsuite/23_containers/list/requirements/dr438/
2380 constructor_2_neg.cc: Likewise.
2381 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2382 Likewise.
2383
2384 2013-06-30 Paolo Carlini <paolo.carlini@oracle.com>
2385
2386 * include/bits/stl_deque.h (deque<>::insert(iterator,
2387 size_type, const value_type&), deque<>::insert(iterator,
2388 initializer_list<>), deque<>::insert(iterator, _InputIterator,
2389 _InputIterator)): Adjust C++11 signatures to take a const_iterator.
2390 * include/bits/stl_vector.h: Likewise.
2391 * include/bits/stl_bvector.h: Likewise.
2392 * include/debug/deque: Adjust.
2393 * include/debug/vector: Likewise.
2394 * include/profile/deque: Likewise.
2395 * include/profile/vector: Likewise.
2396 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
2397 Extend.
2398 * testsuite/23_containers/vector/bool/modifiers/insert/
2399 const_iterator.cc: Likewise.
2400 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
2401 Likewise.
2402
2403 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2404 Adjust dg-error line number.
2405 * testsuite/23_containers/deque/requirements/dr438/
2406 constructor_1_neg.cc: Likewise.
2407 * testsuite/23_containers/deque/requirements/dr438/
2408 constructor_2_neg.cc: Likewise.
2409 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2410 Likewise.
2411 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2412 Likewise.
2413 * testsuite/23_containers/vector/requirements/dr438/
2414 constructor_1_neg.cc: Likewise.
2415 * testsuite/23_containers/vector/requirements/dr438/
2416 constructor_2_neg.cc: Likewise.
2417 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2418 Likewise.
2419
2420 2013-06-29 François Dumont <fdumont@gcc.gnu.org>
2421
2422 * include/bits/hashtable_policy.h (_Insert_base): Consider hint in
2423 insert methods.
2424 * include/bits/hashtable.h: Likewise.
2425 * testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
2426 * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
2427 New.
2428 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2429 Adjust dg-error line number.
2430 * testsuite/23_containers/unordered_set/
2431 not_default_constructible_hash_neg.cc: Likewise.
2432 * doc/xml/manual/containers.xml: Document hinting in unordered
2433 containers.
2434
2435 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
2436
2437 * testsuite/21_strings/basic_string/operations/*: Move inside
2438 testsuite/21_strings/basic_string/operations/data/.
2439 * testsuite/21_strings/basic_string/compare/*: Move inside
2440 testsuite/21_strings/basic_string/operations/.
2441 * testsuite/21_strings/basic_string/find/*: Likewise.
2442 * testsuite/21_strings/basic_string/rfind/*: Likewise.
2443 * testsuite/21_strings/basic_string/substr/*: Likewise.
2444
2445 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
2446
2447 * testsuite/21_strings/basic_string/append/*: Move inside
2448 testsuite/21_strings/basic_string/modifiers/.
2449 * testsuite/21_strings/basic_string/assign/*: Likewise.
2450 * testsuite/21_strings/basic_string/insert/*: Likewise.
2451 * testsuite/21_strings/basic_string/replace/*: Likewise.
2452 * testsuite/21_strings/basic_string/modifiers/pop_back/char/
2453 pop_back.cc: Rename to 1.cc.
2454 * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
2455 pop_back.cc: Likewise.
2456 * testsuite/ext/vstring/assign/*: Move inside
2457 testsuite/ext/vstring/modifiers/.
2458
2459 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
2460
2461 * include/bits/stl_deque.h (deque<>::insert(iterator,
2462 const value_type&), deque<>::insert(iterator, value_type&&),
2463 deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
2464 take a const_iterator.
2465 (deque<>::erase): Simplify.
2466 * include/bits/stl_list.h: Likewise.
2467 (_List_iterator<>::_M_const_cast): Add.
2468 * include/bits/stl_vector.h: Likewise.
2469 * include/bits/stl_bvector.h: Likewise.
2470 (_Bit_iterator::_M_const_cast): Add.
2471 * include/bits/deque.tcc: Adjust definitions.
2472 * include/bits/list.tcc: Likewise.
2473 * include/bits/vector.tcc: Likewise.
2474 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
2475 Define trivial version in C++98 mode.
2476 * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
2477 __versa_string<>::replace(iterator, iterator, const __versa_string&),
2478 __versa_string<>::replace(iterator, iterator, const _CharT*,
2479 size_type), __versa_string<>::replace(iterator, iterator,
2480 const _CharT*), __versa_string<>::replace(iterator, iterator,
2481 size_type, _CharT)): Adjust C++11 signatures to take a pair of
2482 const_iterators.
2483 * include/debug/deque: Adjust.
2484 * include/debug/list: Likewise.
2485 * include/debug/vector: Likewise.
2486 * include/profile/deque: Likewise.
2487 * include/profile/list: Likewise.
2488 * include/profile/vector: Likewise.
2489 (vector<>::emplace): Add.
2490 * testsuite/util/exception/safety.h: Update.
2491 * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
2492 New.
2493 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
2494 Likewise.
2495 * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
2496 Likewise.
2497 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
2498 Likewise.
2499 * testsuite/23_containers/vector/bool/modifiers/insert/
2500 const_iterator.cc: Likewise.
2501 * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
2502 Likewise.
2503 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
2504 Likewise.
2505 * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
2506 Likewise.
2507 * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
2508 Likewise.
2509 * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
2510 Likewise.
2511 * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
2512 Likewise.
2513
2514 * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
2515 ext/vstring/modifiers/erase/char/.
2516 * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
2517 ext/vstring/modifiers/wchar_t/.
2518 * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
2519 ext/vstring/modifiers/pop_back/char/.
2520 * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
2521 testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
2522
2523 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2524 Adjust dg-error line number.
2525 * testsuite/23_containers/deque/requirements/dr438/
2526 constructor_1_neg.cc: Likewise.
2527 * testsuite/23_containers/deque/requirements/dr438/
2528 constructor_2_neg.cc: Likewise.
2529 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2530 Likewise.
2531 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2532 Likewise.
2533 * testsuite/23_containers/list/requirements/dr438/
2534 constructor_1_neg.cc: Likewise.
2535 * testsuite/23_containers/list/requirements/dr438/
2536 constructor_2_neg.cc: Likewise.
2537 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2538 Likewise.
2539 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2540 Likewise.
2541 * testsuite/23_containers/vector/requirements/dr438/
2542 constructor_1_neg.cc: Likewise.
2543 * testsuite/23_containers/vector/requirements/dr438/
2544 constructor_2_neg.cc: Likewise.
2545 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2546 Likewise.
2547
2548 2013-06-25 Ed Smith-Rowland <3dw4rd@verizon.net>
2549
2550 Status page for C++2014 library features
2551 * doc/xml/faq.xml: Add link to new C++14 status page.
2552 * doc/xml/manual/intro.xml: Ditto.
2553 * doc/xml/manual/status_cxx2014.xml: New.
2554
2555 2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
2556
2557 * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
2558 spurious fails with check-debug.
2559 * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
2560 Likewise.
2561 * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
2562 * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
2563 Likewise.
2564
2565 2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
2566
2567 PR libstdc++/57704
2568 * include/bits/char_traits.h (char_traits<char>::lt): Implement
2569 LWG 467.
2570 * testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
2571
2572 2013-06-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
2573
2574 PR libstdc++/57691
2575 * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
2576 declare per the letter of the C++ standard in terms of void.
2577 * include/c_std/cstdlib: Likewise.
2578
2579 2013-06-22 Paolo Carlini <paolo.carlini@oracle.com>
2580
2581 PR libstdc++/57674
2582 * include/bits/random.h (binomial_distribution<>::_M_waiting):
2583 Add double parameter.
2584 * include/bits/random.tcc (binomial_distribution<>::operator()
2585 (_UniformRandomNumberGenerator&, const param_type&)): Pass
2586 __param._M_q to _M_waiting.
2587 (_M_waiting): Adjust.
2588 * testsuite/26_numerics/random/binomial_distribution/
2589 operators/values.cc: Add tests.
2590
2591 2013-06-21 Paolo Carlini <paolo.carlini@oracle.com>
2592
2593 PR libstdc++/57666
2594 * include/std/valarray (valarray<>::operator=(const _Expr<>&)):
2595 Implement correctly C++11 26.6.2.3/1.
2596 * testsuite/26_numerics/valarray/dr630-3.C: New.
2597
2598 2013-06-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2599
2600 PR libstdc++/57641
2601 * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
2602 functionality to new __timed_mutex_impl mixin. Overload try_lock_until
2603 to handle conversion between different clocks. Replace constrained
2604 __try_lock_for_impl overloads with conditional increment.
2605 * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
2606 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
2607
2608 2013-06-17 Jonathan Wakely <jwakely.gcc@gmail.com>
2609 Chris Jefferson <chris@bubblescope.net>
2610
2611 * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
2612 dispatch to traditional std::equal for random-access iterators.
2613 (__equal2_aux, __equal2): Remove.
2614 (__equal::equal): Remove unused overloads.
2615 * include/bits/stl_algo.h (is_permutation): Fix typos.
2616
2617 2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
2618
2619 * include/std/shared_mutex (shared_lock::operator=): Add missing
2620 return statement.
2621
2622 2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
2623
2624 PR libstdc++/57263
2625 * include/bits/forward_list.h (_Fwd_list_base): Convert to/from
2626 allocator's pointer type.
2627 * include/bits/hashtable.h (_Hashtable): Likewise.
2628 * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
2629 * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
2630 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
2631 * testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
2632
2633 2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
2634
2635 * include/std/shared_mutex: Implement N3659.
2636 * include/bits/c++14_warning.h: New.
2637 * include/Makefile.am: Add new headers.
2638 * include/Makefile.in: Regenerate.
2639 * testsuite/30_threads/shared_lock/cons/1.cc: New.
2640 * testsuite/30_threads/shared_lock/locking/2.cc: New.
2641 * testsuite/30_threads/shared_lock/cons/2.cc: New.
2642 * testsuite/30_threads/shared_lock/locking/3.cc: New.
2643 * testsuite/30_threads/shared_lock/cons/3.cc: New.
2644 * testsuite/30_threads/shared_lock/locking/4.cc: New.
2645 * testsuite/30_threads/shared_lock/cons/4.cc: New.
2646 * testsuite/30_threads/shared_lock/modifiers/1.cc: New.
2647 * testsuite/30_threads/shared_lock/cons/5.cc: New.
2648 * testsuite/30_threads/shared_lock/modifiers/2.cc: New.
2649 * testsuite/30_threads/shared_lock/cons/6.cc: New.
2650 * testsuite/30_threads/shared_lock/requirements/
2651 explicit_instantiation.cc: New.
2652 * testsuite/30_threads/shared_lock/locking/1.cc: New.
2653 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
2654 * testsuite/30_threads/shared_mutex/cons/1.cc: New.
2655 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
2656 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
2657 * testsuite/30_threads/shared_mutex/requirements/
2658 standard_layout.cc: New.
2659 * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
2660 * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
2661
2662 2013-06-15 Paolo Carlini <paolo.carlini@oracle.com>
2663
2664 PR libstdc++/57619
2665 * include/bits/unordered_map.h (unordered_map<>::insert,
2666 unordered_multimap<>::insert): Use std::forward, not std::move.
2667 * testsuite/23_containers/unordered_map/insert/57619.C: New.
2668 * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
2669
2670 2013-06-14 Alan Modra <amodra@gmail.com>
2671
2672 * configure.host (abi_baseline_pair): Match powerpc64*.
2673
2674 2013-06-13 Daniel Krugler <daniel.kruegler@gmail.com>
2675
2676 * include/std/type_traits (is_function): Support ref-qualified
2677 functions.
2678 (is_copy_constructible, is_move_constructible, is_copy_assignable,
2679 is_move_assignable, is_nothrow_copy_constructible,
2680 is_nothrow_move_constructible, is_nothrow_copy_assignable,
2681 is_nothrow_move_assignable): Implement LWG 2196.
2682 (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
2683 LWG 2101.
2684 (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
2685 unused.
2686 * testsuite/20_util/add_lvalue_reference/value.cc: Extend.
2687 * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
2688 * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
2689 * testsuite/20_util/is_assignable/value.cc: Likewise.
2690 * testsuite/20_util/is_constructible/value-2.cc: Likewise.
2691 * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
2692 * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
2693 * testsuite/20_util/is_function/value.cc: Likewise.
2694 * testsuite/20_util/is_move_assignable/value.cc: Likewise.
2695 * testsuite/20_util/is_move_constructible/value.cc: Likewise.
2696 * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
2697 * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
2698 * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
2699 * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
2700
2701 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2702 line number.
2703 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2704 Likewise.
2705 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2706 Likewise.
2707
2708 2013-06-13 Paolo Carlini <paolo.carlini@oracle.com>
2709
2710 * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
2711 __gnu_cxx::__airy_bi()): Remove.
2712 * testsuite/tr1/5_numerical_facilities/special_functions/
2713 10_cyl_bessel_k/airy.cc: Fix.
2714
2715 2013-06-12 Ed Smith-Rowland <3dw4rd@verizon.net>
2716
2717 PR libstdc++/56430
2718 * include/tr1/modified_bessel_func.tcc (__airy): Remove return
2719 from void function.
2720 (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
2721 * testsuite/tr1/5_numerical_facilities/special_functions/
2722 10_cyl_bessel_k/airy.cc: New.
2723
2724 2013-06-11 Ed Smith-Rowland <3dw4rd@verizon.net>
2725
2726 Fix library literals error involving namespace __detail.
2727 * include/std/chrono: Rename __detail to __select_type. Reformat.
2728 * include/bits/basic_string.h: Reformat.
2729 * testsuite/20_util/duration/literals/ns_detail.cc: New.
2730
2731 2013-06-11 Paolo Carlini <paolo.carlini@oracle.com>
2732
2733 PR libstdc++/56019
2734 * include/c_global/cstddef (max_align_t): Add to namespace std.
2735 * include/c_std/cstddef: Likewise.
2736 * testsuite/18_support/max_align_t/requirements/1.cc: New.
2737 * testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
2738
2739 2013-06-10 Benjamin Kosnik <bkoz@redhat.com>
2740
2741 * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
2742 * include/bits/stl_map.h (erase): Use abi_tag when C++11.
2743 * include/bits/stl_multimap.h: Same.
2744 * include/bits/stl_multiset.h: Same.
2745 * include/bits/stl_set.h: Same.
2746 * include/bits/stl_tree.h: Same.
2747 * include/std/complex (real, imag): Use macro for abi_tag.
2748
2749 * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
2750 * testsuite/util/testsuite_containers.h (erase_external): New
2751 declarations.
2752 (erase_external_iterators): Same.
2753 (linkage_check_cxx98_cxx11_erase): Same.
2754 (linkage_check_cxx98_cxx11_erase_iterators): Same.
2755 * testsuite/util/testsuite_shared.cc: Define.
2756 * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
2757 * testsuite/23_containers/map/modifiers/erase/
2758 dr130-linkage-check.cc: New.
2759 * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
2760 * testsuite/23_containers/multimap/modifiers/erase/
2761 dr130-linkage-check.cc: New.
2762 * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
2763 * testsuite/23_containers/multiset/modifiers/erase/
2764 dr130-linkage-check.cc: New.
2765 * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
2766 * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
2767 New.
2768 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
2769
2770 * testsuite/23_containers/map/dr130.cc: Move...
2771 * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
2772 * testsuite/23_containers/multimap/dr130.cc: Move ...
2773 * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
2774 * testsuite/23_containers/multiset/dr130.cc: Move...
2775 * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
2776 * testsuite/23_containers/set/dr130.cc: Move...
2777 * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
2778
2779 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
2780
2781 * testsuite/17_intro/headers/c++1998/49745.cc: Extend current
2782 handling of Linux-based x86 systems to cover all GNU systems.
2783 * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
2784 * testsuite/18_support/pthread_guard.cc: Likewise.
2785 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
2786 Likewise.
2787 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
2788 Likewise.
2789 * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
2790 * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
2791 * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
2792 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
2793 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
2794 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
2795 * testsuite/23_containers/list/pthread1.cc: Likewise.
2796 * testsuite/23_containers/list/pthread5.cc: Likewise.
2797 * testsuite/23_containers/map/pthread6.cc: Likewise.
2798 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
2799 Likewise.
2800 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
2801 Likewise.
2802 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
2803 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
2804 * testsuite/30_threads/async/42819.cc: Likewise.
2805 * testsuite/30_threads/async/49668.cc: Likewise.
2806 * testsuite/30_threads/async/54297.cc: Likewise.
2807 * testsuite/30_threads/async/any.cc: Likewise.
2808 * testsuite/30_threads/async/async.cc: Likewise.
2809 * testsuite/30_threads/async/launch.cc: Likewise.
2810 * testsuite/30_threads/async/sync.cc: Likewise.
2811 * testsuite/30_threads/call_once/39909.cc: Likewise.
2812 * testsuite/30_threads/call_once/49668.cc: Likewise.
2813 * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2814 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
2815 * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2816 * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
2817 * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
2818 * testsuite/30_threads/condition_variable/members/53841.cc:
2819 Likewise.
2820 * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
2821 Likewise.
2822 * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
2823 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
2824 * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2825 * testsuite/30_threads/condition_variable_any/members/1.cc:
2826 Likewise.
2827 * testsuite/30_threads/condition_variable_any/members/2.cc:
2828 Likewise.
2829 * testsuite/30_threads/future/cons/move.cc: Likewise.
2830 * testsuite/30_threads/future/members/45133.cc: Likewise.
2831 * testsuite/30_threads/future/members/get.cc: Likewise.
2832 * testsuite/30_threads/future/members/get2.cc: Likewise.
2833 * testsuite/30_threads/future/members/share.cc: Likewise.
2834 * testsuite/30_threads/future/members/valid.cc: Likewise.
2835 * testsuite/30_threads/future/members/wait.cc: Likewise.
2836 * testsuite/30_threads/future/members/wait_for.cc: Likewise.
2837 * testsuite/30_threads/future/members/wait_until.cc: Likewise.
2838 * testsuite/30_threads/lock/1.cc: Likewise.
2839 * testsuite/30_threads/lock/2.cc: Likewise.
2840 * testsuite/30_threads/lock/3.cc: Likewise.
2841 * testsuite/30_threads/lock/4.cc: Likewise.
2842 * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2843 * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2844 * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2845 * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2846 * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
2847 * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2848 * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2849 * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2850 * testsuite/30_threads/packaged_task/49668.cc: Likewise.
2851 * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
2852 * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
2853 * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
2854 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
2855 * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
2856 * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
2857 * testsuite/30_threads/packaged_task/cons/move_assign.cc:
2858 Likewise.
2859 * testsuite/30_threads/packaged_task/members/get_future.cc:
2860 Likewise.
2861 * testsuite/30_threads/packaged_task/members/get_future2.cc:
2862 Likewise.
2863 * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
2864 * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
2865 * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
2866 * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
2867 * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
2868 * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
2869 * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
2870 * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
2871 * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
2872 * testsuite/30_threads/promise/cons/1.cc: Likewise.
2873 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
2874 * testsuite/30_threads/promise/cons/move.cc: Likewise.
2875 * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
2876 * testsuite/30_threads/promise/members/get_future.cc: Likewise.
2877 * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
2878 * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
2879 * testsuite/30_threads/promise/members/set_exception2.cc:
2880 Likewise.
2881 * testsuite/30_threads/promise/members/set_value.cc: Likewise.
2882 * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
2883 * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
2884 * testsuite/30_threads/promise/members/swap.cc: Likewise.
2885 * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
2886 * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
2887 Likewise.
2888 * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2889 * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
2890 Likewise.
2891 * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
2892 Likewise.
2893 * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
2894 * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
2895 * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
2896 * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
2897 * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
2898 Likewise.
2899 * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
2900 * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
2901 * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
2902 Likewise.
2903 * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
2904 Likewise.
2905 * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
2906 Likewise.
2907 * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
2908 Likewise.
2909 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2910 Likewise.
2911 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
2912 Likewise.
2913 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
2914 Likewise.
2915 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
2916 Likewise.
2917 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
2918 Likewise.
2919 * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
2920 Likewise.
2921 * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
2922 * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
2923 * testsuite/30_threads/shared_future/members/get.cc: Likewise.
2924 * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2925 * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
2926 * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
2927 * testsuite/30_threads/shared_future/members/wait_for.cc:
2928 Likewise.
2929 * testsuite/30_threads/shared_future/members/wait_until.cc:
2930 Likewise.
2931 * testsuite/30_threads/this_thread/1.cc: Likewise.
2932 * testsuite/30_threads/this_thread/2.cc: Likewise.
2933 * testsuite/30_threads/this_thread/3.cc: Likewise.
2934 * testsuite/30_threads/this_thread/4.cc: Likewise.
2935 * testsuite/30_threads/thread/cons/1.cc: Likewise.
2936 * testsuite/30_threads/thread/cons/2.cc: Likewise.
2937 * testsuite/30_threads/thread/cons/3.cc: Likewise.
2938 * testsuite/30_threads/thread/cons/4.cc: Likewise.
2939 * testsuite/30_threads/thread/cons/49668.cc: Likewise.
2940 * testsuite/30_threads/thread/cons/5.cc: Likewise.
2941 * testsuite/30_threads/thread/cons/6.cc: Likewise.
2942 * testsuite/30_threads/thread/cons/7.cc: Likewise.
2943 * testsuite/30_threads/thread/cons/8.cc: Likewise.
2944 * testsuite/30_threads/thread/cons/9.cc: Likewise.
2945 * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
2946 * testsuite/30_threads/thread/members/1.cc: Likewise.
2947 * testsuite/30_threads/thread/members/2.cc: Likewise.
2948 * testsuite/30_threads/thread/members/3.cc: Likewise.
2949 * testsuite/30_threads/thread/members/4.cc: Likewise.
2950 * testsuite/30_threads/thread/members/5.cc: Likewise.
2951 * testsuite/30_threads/thread/members/hardware_concurrency.cc:
2952 Likewise.
2953 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
2954 * testsuite/30_threads/thread/native_handle/typesizes.cc:
2955 Likewise.
2956 * testsuite/30_threads/thread/swap/1.cc: Likewise.
2957 * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
2958 * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
2959 Likewise.
2960 * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
2961 * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
2962 * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
2963 Likewise.
2964 * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
2965 * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
2966 * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
2967 * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
2968 * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
2969 * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
2970 * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
2971 * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
2972 * testsuite/30_threads/try_lock/1.cc: Likewise.
2973 * testsuite/30_threads/try_lock/2.cc: Likewise.
2974 * testsuite/30_threads/try_lock/3.cc: Likewise.
2975 * testsuite/30_threads/try_lock/4.cc: Likewise.
2976 * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2977 * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2978 * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2979 * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2980 * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2981 * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2982 * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2983 * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2984 * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2985 * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2986 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2987 * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
2988 * testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
2989 * testsuite/ext/profile/mh.cc: Likewise.
2990 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
2991 * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
2992 * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
2993 Likewise.
2994 * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
2995 Likewise.
2996 * testsuite/util/testsuite_performance.h: Extend current handling
2997 of Linux-based systems to cover all glibc-based systems.
2998
2999 2013-06-09 Jonathan Wakely <jwakely.gcc@gmail.com>
3000
3001 * include/std/mutex (call_once): Remove parentheses to fix error in
3002 c++1y and gnu++1y mode.
3003 * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
3004 thread to avoid undefined behaviour.
3005
3006 2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net>
3007
3008 Simplify and clean up library literals.
3009 * include/std/chrono: Simplify namespace and versioning management.
3010 * include/bits/basic_string.h: Ditto.
3011 * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
3012 * testsuite/20_util/duration/literals/values.cc: Ditto.
3013 * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
3014 * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
3015
3016 2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net>
3017
3018 Implement N3654 - Quoted Strings Library Proposal
3019 * include/std/iomanip: Add quoted(String, Char delim, Char escape)
3020 manipulators and supporting machinery in c++1y mode.
3021 * testsuite/27_io/manipulators/standard/char/quoted.cc: New.
3022 * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
3023
3024 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
3025
3026 * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
3027 2162: Add noexcept.
3028
3029 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
3030
3031 * include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
3032 * include/bits/stl_algobase.h (equal, mismatch): Likewise.
3033 * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
3034 * testsuite/25_algorithms/equal/2.cc: New.
3035 * testsuite/25_algorithms/equal/check_type2.cc: New.
3036 * testsuite/25_algorithms/is_permutationqual/2.cc: New.
3037 * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
3038 * testsuite/25_algorithms/mismatch/2.cc: New.
3039 * testsuite/25_algorithms/mismatch/check_type2.cc: New.
3040 * testsuite/util/testsuite_iterators.h: Fix spelling.
3041
3042 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
3043
3044 * include/std/type-traits (integral_constant::operator()): Implement
3045 N3545.
3046 * testsuite/20_util/integral_constant/call_operator.cc: New.
3047 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
3048 line numbers.
3049 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3050 Likewise.
3051 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3052 Likewise.
3053
3054 2013-06-07 Uros Bizjak <ubizjak@gmail.com>
3055
3056 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
3057
3058 2013-06-05 Tom Tromey <tromey@redhat.com>
3059
3060 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
3061
3062 2013-06-03 Paolo Carlini <paolo.carlini@oracle.com>
3063
3064 PR c++/57419
3065 * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
3066
3067 2013-06-01 Ed Smith-Rowland <3dw4rd@verizon.net>
3068
3069 * include/std/chrono: Collapse redundant 'inline' from 'inline
3070 constexpr'.
3071 * include/std/tuple: Ditto.
3072 * include/bits/move.h: Ditto.
3073
3074 2013-05-30 Ed Smith-Rowland <3dw4rd@verizon.net>
3075
3076 Implement N3642 - User-defined Literals for Standard Library Types
3077 * include/bits/parse_numbers.h: New.
3078 * include/std/chrono: Add duration literal operators.
3079 * include/bits/basic_string.h: Add string literal operators.
3080 * include/Makefile.in: Add parse_numbers.h.
3081 * include/Makefile.am: Ditto.
3082 * testsuite/20_util/duration/literals/values.cc: New.
3083 * testsuite/20_util/duration/literals/types.cc: New.
3084 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
3085 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
3086 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
3087 * testsuite/21_strings/basic_string/literals/values.cc: New.
3088 * testsuite/21_strings/basic_string/literals/types.cc: New.
3089
3090 2013-05-28 Jonathan Wakely <jwakely.gcc@gmail.com>
3091
3092 * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
3093 !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
3094 calling non-existent from_time_t.
3095
3096 2013-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3097
3098 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
3099 Regenerate.
3100
3101 2013-05-24 Benjamin Kosnik <bkoz@redhat.com>
3102
3103 * include/std/chrono: Wrap clocks in inline namespace _V2.
3104 * src/c++11/chrono.cc: Same.
3105 * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
3106 file, with default configure macros selected.
3107
3108 * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
3109 namespace.
3110 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
3111
3112 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
3113 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
3114 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
3115 Regenerated.
3116 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3117 Regenerated.
3118 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
3119 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
3120 Regenerated.
3121 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
3122 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
3123 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
3124 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
3125 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
3126 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
3127 Regenerated.
3128 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
3129 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
3130
3131 2013-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3132
3133 * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
3134 (CLOCK_MONOTONIC): Define.
3135
3136 2013-05-24 Paolo Carlini <paolo.carlini@oracle.com>
3137
3138 * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
3139 overload.
3140
3141 * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
3142
3143 2013-05-24 Jakub Jelinek <jakub@redhat.com>
3144
3145 * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
3146 include unistd.h and sys/syscall.h. If _GLIBCXX_COMPATIBILITY_CXX0X,
3147 don't define system_clock::is_steady, system_clock::now() and
3148 steady_clock::is_steady.
3149 (std::chrono::system_clock::now()): If
3150 _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
3151 syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
3152 (std::chrono::system_clock::now()): Likewise. Add weak attribute
3153 if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
3154 be non-empty.
3155 * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
3156 (compatibility-chrono.lo, compatibility-chrono.o): New goals.
3157 * src/c++11/compatibility-chrono.cc: New file.
3158 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
3159 syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
3160 * testsuite/util/testsuite_abi.cc (check_version): Add
3161 GLIBCXX_3.4.20 version and make it the latest.
3162 * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
3163 also @@GLIBCXX_3.4.19. Move all symbols so far added for GCC 4.9 to
3164 @@GLIBCXX_3.4.20 instead.
3165 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
3166 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
3167 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
3168 Regenerated.
3169 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3170 Regenerated.
3171 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
3172 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
3173 Regenerated.
3174 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
3175 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
3176 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
3177 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
3178 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
3179 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
3180 Regenerated.
3181 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
3182 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
3183 * config.h.in: Regenerated.
3184 * src/Makefile.in: Regenerated.
3185 * configure: Regenerated.
3186
3187 2013-05-23 Matthias Klose <doko@ubuntu.com>
3188
3189 * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
3190 (ext_headers): Remove ${ext_host_headers}.
3191 (stamp-${host_alias}): Create ${host_builddir}/../ext.
3192 (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
3193 (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
3194 * include/Makefile.in: Regenerate.
3195 * include/ext/random: Include ext/opt_random.h.
3196
3197 2013-05-22 Jonathan Wakely <jwakely.gcc@gmail.com>
3198
3199 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
3200 enable features if target OS is known to support them.
3201 * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
3202 * configure: Regenerate.
3203
3204 2013-05-21 Jonathan Wakely <jwakely.gcc@gmail.com>
3205
3206 PR libstdc++/57336
3207 * include/std/functional (__invoke): Do not form function types with
3208 abstract return type.
3209 * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
3210
3211 2013-05-19 Jonathan Wakely <jwakely.gcc@gmail.com>
3212
3213 * include/std/tuple (get): Implement N3670.
3214 * include/std/utility (get): Likewise.
3215 * testsuite/20_util/pair/get.cc: Move to ...
3216 * testsuite/20_util/pair/astuple/get.cc: Here.
3217 * testsuite/20_util/pair/astuple/astuple.cc: New.
3218 * testsuite/20_util/pair/astuple/constexpr_get.cc: New.
3219 * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
3220 * testsuite/20_util/pair/astuple/get_by_type.cc: New.
3221 * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
3222 * testsuite/20_util/pair/astuple/get_neg.cc: New.
3223 * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
3224 * testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
3225 * testsuite/20_util/tuple/element_access/get_by_type.cc: New.
3226
3227 2013-05-19 Paolo Carlini <paolo.carlini@oracle.com>
3228
3229 * Revert last commit.
3230
3231 2013-05-19 Matthias Klose <doko@ubuntu.com>
3232
3233 * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
3234 (ext_headers): Remove ${ext_host_headers}.
3235 (stamp-${host_alias}): Create ${host_builddir}/../ext.
3236 (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
3237 (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
3238 * include/Makefile.in: Regenerate.
3239
3240 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
3241
3242 * include/std/system_error (error_category::error_category()): LWG
3243 2145: Declare public and constexpr.
3244 * src/c++11/system_error.cc (error_category::error_category()): Move
3245 definition to ...
3246 * src/c++11/compatibility-c++0x.cc: Here.
3247
3248 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
3249
3250 * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
3251
3252 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
3253
3254 * include/bits/unique_ptr.h (make_unique): Declare inline.
3255 (unique_ptr<T[],D>::reset()): Combine two overloads into one.
3256 (default_delete, unique_ptr): Add doxygen comments.
3257 * include/bits/shared_ptr_base.h: Improve doxygen comments.
3258 * include/bits/shared_ptr.h: Likewise.
3259 * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
3260 number.
3261 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
3262
3263 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
3264
3265 * doc/xml/manual/status_cxx2011.xml: Fix markup error.
3266
3267 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
3268
3269 * doc/xml/manual/status_cxx2011.xml: Fix markup error.
3270
3271 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
3272
3273 * include/std/utility (exchange): Define.
3274 * testsuite/20_util/exchange/1.cc: New.
3275
3276 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
3277
3278 * include/bits/unique_ptr.h (make_unique): Define.
3279 * testsuite/20_util/unique_ptr/creation/single.cc: New.
3280 * testsuite/20_util/unique_ptr/creation/array.cc: New.
3281 * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
3282
3283 2013-05-15 François Dumont <fdumont@gcc.gnu.org>
3284
3285 * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
3286 rendering of std::tr1 unordered containers iterator.
3287 (StdHashtableIterator): New, render std unordered containers iterator.
3288 * testsuite/libstdc++-prettyprinters/tr1.cc: New.
3289
3290 2013-05-15 Jonathan Wakely <jwakely.gcc@gmail.com>
3291
3292 * include/bits/basic_string.h (getline): Fix doxygen comments.
3293
3294 2013-05-14 Paolo Carlini <paolo.carlini@oracle.com>
3295
3296 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
3297 Use std::pointer_traits.
3298
3299 2013-05-13 Benjamin Kosnik <bkoz@redhat.com>
3300
3301 * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
3302 bad_array_new.cc.
3303 * libsupc++/Makefile.in: Regenerate.
3304 * libsupc++/bad_array_length.cc: Tweak.
3305 * libsupc++/bad_array_new.cc: Tweak.
3306
3307 2013-05-10 Paolo Carlini <paolo.carlini@oracle.com>
3308
3309 PR libstdc++/54577
3310 * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
3311 (_Deque_iterator<>::_M_const_cast): Add.
3312 (deque<>::_M_erase): Declare.
3313 * include/bits/deque.tcc: ... and define.
3314 * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
3315 (_List_const_iterator<>::_M_const_cast): Add.
3316 * include/bits/list.tcc (erase (iterator)): Fix.
3317 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
3318 Add; include <ext/cast.h>.
3319 * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
3320 (vector<>::_M_erase): Declare.
3321 * include/bits/stl_bvector.h: Likewise.
3322 * include/bits/vector.tcc (vector<>::_M_erase): Define.
3323 * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
3324 * include/debug/deque: Adjust.
3325 * include/debug/list: Likewise.
3326 * include/debug/vector: Likewise.
3327 * include/profile/deque: Likewise.
3328 * include/profile/list: Likewise.
3329 * include/profile/vector: Likewise.
3330 * testsuite/util/exception/safety.h (erase_base<deque>,
3331 erase_base<deque>, erase_base<vector>): Remove.
3332 (erase_base<__versa_string>): Update.
3333 * testsuite/ext/vstring/modifiers/char/54577.cc: New.
3334 * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
3335 * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
3336 * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
3337 * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
3338 Likewise.
3339 * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
3340 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
3341 Adjust dg-error line numbers.
3342 * testsuite/23_containers/deque/requirements/dr438/
3343 constructor_1_neg.cc: Likewise.
3344 * testsuite/23_containers/deque/requirements/dr438/
3345 constructor_2_neg.cc: Likewise.
3346 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
3347 Likewise.
3348 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3349 Likewise.
3350 * testsuite/23_containers/list/requirements/dr438/
3351 constructor_1_neg.cc: Likewise.
3352 * testsuite/23_containers/list/requirements/dr438/
3353 constructor_2_neg.cc: Likewise.
3354 * testsuite/23_containers/list/requirements/dr438/
3355 insert_neg.cc: Likewise.
3356 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3357 Likewise.
3358 * testsuite/23_containers/vector/requirements/dr438/
3359 constructor_1_neg.cc: Likewise.
3360 * testsuite/23_containers/vector/requirements/dr438/
3361 constructor_2_neg.cc: Likewise.
3362 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
3363 Likewise.
3364
3365 2013-05-09 Uros Bizjak <ubizjak@gmail.com>
3366
3367 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
3368
3369 2013-05-08 Jason Merrill <jason@redhat.com>
3370
3371 Add std::bad_array_length (N3639)
3372 * libsupc++/new: Add std::bad_array_length.
3373 * libsupc++/bad_array_length.cc: New.
3374 * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
3375 * libsupc++/Makefile.in: Build them.
3376 * config/abi/pre/gnu.ver: Add new symbols.
3377 * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
3378
3379 2013-05-08 Andi Kleen <ak@linux.intel.com>
3380
3381 PR target/55947
3382 * libstdc++-v3/include/bits/atomic_base.h
3383 (_GLIBCXX_ALWAYS_INLINE): Add new macro.
3384 (atomic_thread_fence, atomic_signal_fence, test_and_set,
3385 clear, store, load, exchange, compare_exchange_weak)
3386 compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
3387 fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
3388
3389 2013-05-08 Jason Merrill <jason@redhat.com>
3390
3391 Add std::bad_array_new_length (N2932)
3392 * libsupc++/new: Add std::bad_array_new_length.
3393 * libsupc++/bad_array_new.cc: New.
3394 * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
3395 * libsupc++/Makefile.in: Build them.
3396 * config/abi/pre/gnu.ver: Add new symbols.
3397 * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
3398
3399 2013-05-08 Andoni Morales Alastruey <ylatuya@gmail.com>
3400
3401 PR libstdc++/57212
3402 * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
3403 to __MINGW32__.
3404 * include/Makefile.in: Regenerated.
3405
3406 2013-05-07 François Dumont <fdumont@gcc.gnu.org>
3407
3408 * include/profile/unordered_base.h: New.
3409 * include/Makefile.am: Add new profile header.
3410 * include/Makefile.in: Regenerate.
3411 * include/profile/impl/profiler.h
3412 (__profcxx_inefficient_hash_is_on): New macro.
3413 * include/profile/unordered_map (std::profile::unordered_map<>):
3414 Use new _Unordered_profile base class. Use default implementations
3415 for special functions.
3416 (std::profile::unordered_multimap<>): Likewise.
3417 * include/profile/unordered_set (std::profile::unordered_set<>):
3418 Likewise.
3419 (std::profile::unordered_multiset<>): Likewise.
3420 * testsuite/23_containers/unordered_multiset/55043.cc: Fix
3421 MoveOnly equality operator signature.
3422
3423 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
3424
3425 * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
3426 constexpr_data.cc: Move...
3427 * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
3428 ... here.
3429 * testsuite/20_util/integral_constant/requirements/
3430 explicit_instantiation.cc: New.
3431 * testsuite/20_util/integral_constant/requirements/typedefs.cc:
3432 Likewise.
3433 * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
3434 * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
3435 Likewise.
3436 * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
3437 * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
3438
3439 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
3440
3441 * include/std/type_traits (is_null_pointer): Add.
3442 (__is_nullptr_t): Implement in terms of the latter.
3443 (is_fundamental, is_scalar): Adjust.
3444 * testsuite/20_util/is_null_pointer/requirements/
3445 explicit_instantiation.cc: New.
3446 * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
3447 Likewise.
3448 * testsuite/20_util/is_null_pointer/value.cc: Likewise.
3449 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
3450 line number.
3451 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3452 Likewise.
3453 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3454 Likewise.
3455
3456 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
3457
3458 * include/c_global/cstdio: Add comment about LWG 2249.
3459 * include/c_std/cstdio: Likewise.
3460
3461 2013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com>
3462
3463 * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
3464 comment.
3465 * include/std/mutex (__recursive_mutex_base): Likewise.
3466
3467 2013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com>
3468
3469 PR libstdc++/51365
3470 * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
3471 implement EBO safely.
3472 (_Sp_counted_base::_M_get_deleter): Add noexcept.
3473 (_Sp_counter_ptr): Use noexcept instead of comments.
3474 (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
3475 (_Sp_counted_ptr_inplace): Likewise.
3476 * testsuite/20_util/shared_ptr/cons/51365.cc: New.
3477 * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
3478 custom allocator and test construction with custom allocator.
3479 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
3480 line number.
3481
3482 2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
3483
3484 * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
3485 dialect to -std=gnu++11.
3486
3487 2013-04-26 François Dumont <fdumont@gcc.gnu.org>
3488
3489 * include/bits/hashtable_policy.h
3490 (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
3491 * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
3492
3493 2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
3494
3495 * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
3496 * include/c_std/cstdio (gets): Likewise.
3497 * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
3498
3499 2013-04-25 Paolo Carlini <paolo.carlini@oracle.com>
3500
3501 PR libstdc++/57065
3502 * include/debug/unordered_map (unordered_map, unordered_multimap):
3503 Fix default allocator type.
3504 * include/profile/unordered_map (unordered_map, unordered_multimap):
3505 Likewise.
3506 * include/bits/unordered_map.h: Fix comments.
3507
3508 2013-04-24 Jonathan Wakely <jwakely.gcc@gmail.com>
3509
3510 PR libstdc++/56905
3511 * libsupc++/exception_ptr.h (copy_exception): Deprecate and
3512 move implementation to make_exception_ptr.
3513 * include/std/future (_State_base::_M_break_promise): Replace
3514 copy_exception with make_exception_ptr.
3515 * testsuite/18_support/exception_ptr/move.cc: Likewise.
3516 * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
3517 * testsuite/30_threads/future/members/get2.cc: Likewise.
3518 * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
3519 * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
3520 * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
3521 * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
3522
3523 2013-04-22 Jason Merrill <jason@redhat.com>
3524
3525 * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
3526
3527 * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
3528 substitution" lines.
3529
3530 * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
3531 function-cv-quals.
3532 * testsuite/20_util/is_constructible/value-2.cc: Likewise.
3533 * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
3534 * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
3535
3536 2013-04-22 François Dumont <fdumont@gcc.gnu.org>
3537
3538 * include/bits/hashtable_policy.h: Add C++11 allocator support.
3539 * include/bits/hashtable.h: Likewise.
3540 * include/bits/unordered_set.h: Likewise.
3541 * include/bits/unordered_map.h: Likewise.
3542 * include/debug/unordered_set: Likewise.
3543 * include/debug/unordered_map: Likewise.
3544 * include/std/unordered_set: Remove bits/algobase.h
3545 include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
3546 * include/std/unordered_map: Likewise.
3547 * include/ext/throw_allocator.h: Add checks on calls to allocator
3548 construct/destroy.
3549 (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
3550 (std::hash<__gnu_cxx::throw_value_random>): Likewise.
3551 * testsuite/util/regression/rand/priority_queue
3552 /container_rand_regression_test.tcc: Adapt.
3553 * testsuite/util/regression/rand/assoc
3554 /container_rand_regression_test.tcc: Likewise.
3555 * testsuite/util/testsuite_counter_type.h: Add count of destructors.
3556 * testsuite/23_containers/unordered_set
3557 /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
3558 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
3559 * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
3560 * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
3561 * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
3562 * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
3563 * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
3564 * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
3565 * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
3566 * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
3567 New.
3568 * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
3569 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
3570 New.
3571 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
3572 * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
3573 * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
3574 * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
3575 * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
3576 * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
3577 * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
3578 New.
3579 * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
3580 * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
3581 * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
3582 New.
3583 * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
3584 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
3585 New.
3586 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
3587 * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
3588
3589 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
3590
3591 * include/std/type_traits (is_signed): Simplify.
3592 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3593 Adjust dg-error line numbers.
3594 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3595 Likewise.
3596 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
3597
3598 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
3599
3600 N3669
3601 * include/std/complex (complex<float>::real, complex<float>::imag,
3602 complex<double>::real, complex<double>::imag,
3603 complex<long double>::real, complex<long double>::imag): Declare
3604 as const member functions.
3605 * include/std/type_traits (integral_constant<>::operator value_type):
3606 Likewise.
3607
3608 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
3609
3610 PR libstdc++/57010
3611 * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
3612 * testsuite/25_algorithms/pop_heap/57010.cc: New.
3613
3614 2013-04-21 Evgeniy Stepanov <eugenis@google.com>
3615
3616 * src/c++11/system_error.cc (generic_category_instance): Add
3617 initializer.
3618 (system_category_instance): Likewise.
3619 * src/c++11/future.cc (__fec): Likewise.
3620
3621 2013-04-20 Jonathan Wakely <jwakely.gcc@gmail.com>
3622
3623 * doc/xml/manual/extensions.xml: Fix anachronism.
3624
3625 2013-04-09 Tom Tromey <tromey@redhat.com>
3626
3627 * configure, config.h.in: Rebuild.
3628 * configure.ac: Use GLIBCXX_CHECK_SDT_H. Don't check for
3629 sys/sdt.h.
3630 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
3631
3632 2013-04-09 Uros Bizjak <ubizjak@gmail.com>
3633
3634 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
3635
3636 2013-04-08 Paolo Carlini <paolo.carlini@oracle.com>
3637
3638 * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
3639
3640 2013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com>
3641
3642 * include/Makefile.am: Add ext/aligned_buffer.h
3643 * include/Makefile.in: Regenerate.
3644 * include/ext/aligned_buffer.h: New.
3645 * include/std/future (_Result): Use __aligned_buffer.
3646 * include/bits/forward_list.h (_Fwd_list_node): Likewise.
3647 * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
3648 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
3649 number.
3650
3651 2013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com>
3652
3653 * include/bits/forward_list.h: Only include required headers.
3654 (forward_list::reference): Define directly, not using __alloc_traits.
3655 (forward_list::const_reference): Likewise.
3656
3657 2013-04-07 François Dumont <fdumont@gcc.gnu.org>
3658
3659 * include/std/functional (_Derives_from_unary_function): Remove.
3660 (_Derives_from_binary_function): Remove.
3661 * include/std/type_traits (__sfinae_types): Remove.
3662 (__is_assignable_helper): Adapt.
3663 (__is_convertible_helper): Adapt.
3664 (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
3665 Remove several explicit instantiations of integral_constant.
3666 * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
3667 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3668 Adapt dg-error line number.
3669 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3670 Likewise.
3671 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
3672 * testsuite/20_util/bind/ref_neg.cc: Likewise.
3673
3674 2013-04-05 Jonathan Wakely <jwakely.gcc@gmail.com>
3675
3676 PR libstdc++/56841
3677 * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
3678 get_terminate() accessors.
3679 * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
3680 * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
3681 available.
3682 * libsupc++/new_handler.cc: Likewise.
3683
3684 2013-04-04 Jonathan Wakely <jwakely.gcc@gmail.com>
3685
3686 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
3687
3688 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
3689
3690 PR libstdc++/56834
3691 * include/debug/array (tuple_size, tuple_element): Do not declare.
3692 * include/profile/array: Likewise.
3693 * testsuite/23_containers/array/tuple_interface/
3694 tuple_element_debug_neg.cc: Adjust dg-error line number.
3695
3696 2013-04-03 Jonathan Wakely <jwakely.gcc@gmail.com>
3697
3698 * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
3699 * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
3700 Define.
3701 (set_terminate(terminate_handler)): Set atomically.
3702 (set_unexpected(terminate_handler)): Likewise.
3703 * libsupc++/new (get_new_handler()): Declare.
3704 * libsupc++/new_handler.cc (get_new_handler()): Define.
3705 (set_new_handler(new_handler)): Set atomically.
3706 (__new_handler): Use internal linkage.
3707 * libsupc++/new_op.cc (operator new): Use get_new_handler().
3708 * libsupc++/new_opnt.cc (operator new): Likewise.
3709 * acinclude.m4: Bump libtool_VERSION to 6:19:0.
3710 * configure: Regenerate.
3711 * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
3712 * libsupc++/Makefile.in: Regenerate.
3713 * config/abi/pre/gnu.ver: Add new exports.
3714 * doc/xml/manual/status_cxx2011.xml: Update.
3715 * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
3716 for handlers.
3717 * testsuite/18_support/headers/new/synopsis.cc: Likewise.
3718 * testsuite/18_support/new_handler.cc: New.
3719 * testsuite/18_support/terminate_handler.cc: New.
3720 * testsuite/18_support/unexpected_handler.cc: New.
3721
3722 2013-04-02 Jonathan Wakely <jwakely.gcc@gmail.com>
3723
3724 * doc/xml/manual/appendix_contributing.xml: Remove broken link and
3725 defer to general documentation on contributing to GCC.
3726 * doc/html/*: Regenerate.
3727
3728 2013-03-30 Gerald Pfeifer <gerald@pfeifer.com>
3729
3730 * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
3731
3732 * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
3733 Coding Standards.
3734
3735 * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
3736
3737 * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
3738
3739 * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
3740
3741 * doc/xml/manual/messages.xml: Adjust link to Java API specs.
3742
3743 * doc/xml/manual/policy_data_structures: Remove direct link to
3744 IBM Haifa Research Labs.
3745
3746 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
3747 for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
3748
3749 * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
3750 papers.
3751
3752 * doc/xml/manual/shared_ptr.xml: Use canonical address for
3753 www.boost.org.
3754
3755 2013-03-27 Kai Tietz <ktietz@redhat.com>
3756
3757 * crossconfig.m4: Add support for cygwin x64 target.
3758 * configure: Regenerated.
3759
3760 2013-03-25 Kai Tietz <ktietz@redhat.com>
3761
3762 * testsuite/18_support/50594.cc: For mingw-targets use only static
3763 libstdc++-version.
3764 * testsuite/19_diagnostics/error_category/operators/equal.cc
3765 * testsuite/19_diagnostics/error_code/cons/1.cc
3766 * testsuite/19_diagnostics/error_code/operators/bool.cc
3767 * testsuite/19_diagnostics/error_code/operators/equal.cc
3768 * testsuite/19_diagnostics/error_code/operators/not_equal.cc
3769 * testsuite/19_diagnostics/error_condition/cons/1.cc
3770 * testsuite/19_diagnostics/error_condition/operators/bool.cc
3771 * testsuite/19_diagnostics/error_condition/operators/equal.cc
3772 * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
3773 * testsuite/23_containers/set/requirements/exception/basic.cc
3774 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
3775 * testsuite/lib/dg-options.exp (dg-additional-options): New option.
3776
3777 2013-03-24 Jonathan Wakely <jwakely.gcc@gmail.com>
3778
3779 PR libstdc++/56170
3780 * include/ext/debug_allocator.h (debug_allocator): Add missing members
3781 to meet allocator requirements.
3782 * testsuite/ext/debug_allocator/56170.cc: New.
3783
3784 2013-03-22 Paolo Carlini <paolo.carlini@oracle.com>
3785
3786 PR libstdc++/56678
3787 * include/std/chrono (__is_ratio): Uglify T.
3788
3789 2013-03-18 Paolo Carlini <paolo.carlini@oracle.com>
3790
3791 PR libstdc++/55977 (partial, std::vector and std::deque bits)
3792 * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
3793 _InputIterator, std::input_iterator_tag)): Use emplace_back.
3794 * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
3795 _InputIterator, std::input_iterator_tag)): Likewise.
3796 * testsuite/23_containers/vector/cons/55977.cc: New.
3797 * testsuite/23_containers/deque/cons/55977.cc: Likewise.
3798 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3799 Adjust dg-error line number.
3800 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
3801 Likewise.
3802
3803 2013-03-17 Paolo Carlini <paolo.carlini@oracle.com>
3804
3805 PR libstdc++/55979
3806 * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
3807 _InputIterator, __false_type)): Use emplace_back.
3808 * testsuite/23_containers/list/cons/55979.cc: New.
3809 * testsuite/23_containers/list/modifiers/1.h: Adjust.
3810 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3811 Adjust dg-error line number.
3812
3813 2013-03-16 Jason Merrill <jason@redhat.com>
3814
3815 PR c++/55017
3816 * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
3817
3818 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
3819
3820 PR libstdc++/56468
3821 * libsupc++/exception_ptr.h (type_info): Declare.
3822
3823 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
3824
3825 PR libstdc++/56002
3826 * include/std/mutex (lock_guard, unique_lock, lock): Define without
3827 depending on _GLIBCXX_HAS_GTHREADS.
3828 * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
3829
3830 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
3831
3832 PR libstdc++/56492
3833 * include/std/future (__future_base::_Result): Add result_type
3834 typedef.
3835 (__future_base::_S_allocate_result): Overload for std::allocator.
3836 (__future_base::_Task_setter): Use _Result::result_type instead of
3837 deducing the type from the task.
3838 (__future_base::_Task_state): Store allocator to allow shared state
3839 to be reset. Replace std::function with member of target object type
3840 accessed via ...
3841 (__future_base::_Task_state_base): New abstract base class.
3842 (__future_base::_Task_state_base::_M_run): New virtual function to
3843 invoke type-erased target object.
3844 (__future_base::_Task_state_base::_M_reset): New virtual function to
3845 create new shared_state using same target object and allocator.
3846 (__future_base::__create_task_state): Allocate a new _Task_state.
3847 (packaged_task::packaged_task): Use __create_task_state.
3848 (packaged_task::reset): Use _Task_state_base::_M_reset.
3849 * testsuite/30_threads/packaged_task/cons/56492.cc: New.
3850
3851 2013-03-15 Tom Tromey <tromey@redhat.com>
3852
3853 * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
3854 (PROBE2): New macro.
3855 * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
3856 * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
3857 * configure.ac: Check for sys/sdt.h.
3858 * configure, config.h.in: Rebuild.
3859
3860 2013-03-14 Jonathan Wakely <jwakely.gcc@gmail.com>
3861
3862 PR libstdc++/56613
3863 * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
3864 allocator_traits instead of calling construct directly.
3865 * testsuite/23_containers/map/56613.cc: New.
3866
3867 2013-03-13 Benjamin Kosnik <bkoz@redhat.com>
3868
3869 * doc/html/*: Regenerate.
3870
3871 2013-03-13 Paolo Carlini <paolo.carlini@oracle.com>
3872
3873 PR libstdc++/56609
3874 * include/std/type_traits (is_fundamental): Add std::nullptr_t.
3875 * testsuite/20_util/is_fundamental/value.cc: Extend.
3876 * testsuite/20_util/is_compound/value.cc: Likewise.
3877
3878 2013-03-09 Paolo Carlini <paolo.carlini@oracle.com>
3879
3880 * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
3881 -Wunused warnings.
3882
3883 2013-03-08 Benjamin Kosnik <bkoz@redhat.com>
3884
3885 * include/bits/memoryfwd.h: New. Centralize forward declarations.
3886 * include/bits/algorithmfwd.h: Consistent comments.
3887 * include/bits/localefwd.h: Same.
3888 * include/ext/vstring_fwd.h: Same.
3889 * include/parallel/algorithmfwd.h: Same.
3890 * include/parallel/numericfwd.h: Same.
3891 * include/std/iosfwd: Same.
3892
3893 * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
3894 forward decl.
3895 * include/ext/alloc_traits.h: Remove allocator forward decl.
3896 * include/bits/stl_construct.h: Same.
3897 * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
3898 forward decl. Consistent comments.
3899
3900 * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
3901
3902 * include/Makefile.am (bits_headers): Add memoryfwd.h.
3903 * include/Makefile.in: Regenerate.
3904 * configure: Same.
3905
3906 2013-03-08 François Dumont <fdumont@gcc.gnu.org>
3907
3908 * include/bits/vector.tcc (vector<>operator=(const vector<>&):
3909 Reset pointers after deallocation when memory can be reused.
3910 * testsuite/23_containers/vector/allocator/minimal.cc: Insert
3911 elements to really challenge C++11 allocator integration.
3912 * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
3913 * testsuite/23_containers/vector/allocator/copy_assign.cc:
3914 Likewise.
3915 * testsuite/23_containers/vector/allocator/move_assign.cc:
3916 Likewise.
3917 * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
3918 swap vector back before checks on memory/personality mapping are
3919 performed.
3920 * testsuite/23_containers/forward_list/allocator/minimal.cc:
3921 Insert element to really challenge C++11 allocator integration.
3922 * testsuite/23_containers/forward_list/allocator/copy.cc:
3923 Likewise.
3924 * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
3925 Likewise.
3926 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
3927 Likewise.
3928 * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
3929 and swap forward_list back before checks on memory/personality
3930 mapping are performed.
3931
3932 2013-03-07 Jakub Jelinek <jakub@redhat.com>
3933
3934 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
3935 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
3936 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3937 Likewise.
3938 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
3939 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
3940 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
3941 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
3942 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
3943 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
3944
3945 2013-03-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3946
3947 * scripts/extract_symvers.pl: Omit symbols bound to base
3948 versions.
3949 * scripts/extract_symvers.in: Likewise.
3950 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
3951 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
3952 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
3953 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3954 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3955
3956 2013-03-04 Ulrich Drepper <drepper@gmail.com>
3957
3958 * include/ext/random (__gnu_cxx::von_mises_distribution<>):
3959 Optimize generation function by pulling computation of __r into the
3960 constructor for param_type. Also compare _M_mu in operator==.
3961 Fix comment.
3962
3963 2013-03-02 Ulrich Drepper <drepper@gmail.com>
3964
3965 Add triangular and von Mises distributions.
3966 * include/ext/random: Include <ext/cmath>.
3967 Add __gnu_cxx::triangular_distribution<> and
3968 __gnu_cxx::von_mises_distribution<> classes.
3969 * include/ext/random.tcc: Add out-of-line functions for
3970 __gnu_cxx::triangular_distribution<> and
3971 __gnu_cxx::von_mises_distribution<>.
3972 * testsuite/ext/triangular_distribution/cons/default.cc: New file.
3973 * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
3974 * testsuite/ext/triangular_distribution/operators/serialize.cc:
3975 New file.
3976 * testsuite/ext/triangular_distribution/operators/equal.cc:
3977 New file.
3978 * testsuite/ext/triangular_distribution/operators/inequal.cc:
3979 New file.
3980 * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
3981 New file.
3982 * testsuite/ext/triangular_distribution/requirements/
3983 explicit_instantiation/1.cc: New file.
3984 * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
3985 * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
3986 * testsuite/ext/von_mises_distribution/operators/serialize.cc:
3987 New file.
3988 * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
3989 * testsuite/ext/von_mises_distribution/operators/inequal.cc:
3990 New file.
3991 * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
3992 New file.
3993 * testsuite/ext/von_mises_distribution/requirements/
3994 explicit_instantiation/1.cc: New file.
3995
3996 Add math constants.
3997 * include/Makefile.am (ext_headers): Add cmath.
3998 * include/Makefile.in: Regenerated.
3999 * include/ext/cmath: New file.
4000
4001 2013-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4002
4003 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
4004 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
4005 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
4006 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
4007 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
4008
4009 2013-02-26 Jonathan Wakely <jwakely.gcc@gmail.com>
4010
4011 PR libstdc++/56012
4012 * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
4013 * testsuite/29_atomics/atomic/operators/56012.cc: New.
4014
4015 PR libstdc++/56011
4016 * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
4017 missing overload.
4018 * testsuite/29_atomics/atomic/operators/56011.cc: New.
4019
4020 2013-02-25 Jason Merrill <jason@redhat.com>
4021
4022 * configure.ac: Check for __cxa_thread_atexit_impl.
4023 * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
4024 to it if available.
4025 * config.h.in, configure: Regenerate.
4026
4027 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
4028
4029 * include/std/streambuf (basic_streambuf): Use injected class name
4030 instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
4031 group.
4032
4033 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
4034
4035 * doc/html/faq.html: Fix spelling.
4036 * doc/xml/faq.xml: Likewise.
4037 * include/bits/basic_ios.h: Likewise.
4038 * include/bits/regex.h: Likewise.
4039 * include/std/istream: Likewise.
4040 * include/std/streambuf: Likewise.
4041
4042 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
4043
4044 * testsuite/23_containers/unordered_set/55043.cc: Add missing
4045 namespace qualification.
4046 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
4047
4048 2013-02-19 Benjamin Kosnik <bkoz@redhat.com>
4049
4050 * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
4051 _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
4052 AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
4053 * include/bits/stl_pair.h: Add to utilities group.
4054 * include/std/tuple: Same.
4055 * include/std/typeindex: Same.
4056
4057 * include/bits/stringfwd.h: Fix markup.
4058 * include/std/limits: Same.
4059 * include/std/type_traits: Same.
4060 * include/tr1/memory: Same.
4061 * include/tr1/regex: Same.
4062 * scripts/run_doxygen: Comment.
4063 * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
4064
4065 2013-02-14 Jason Merrill <jason@redhat.com>
4066
4067 * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
4068 test if unsupported.
4069
4070 2013-02-13 Marc Glisse <marc.glisse@inria.fr>
4071
4072 PR libstdc++/56111
4073 * include/std/complex (complex): Undefine.
4074 * include/c_compatibility/complex.h (complex): Only undefine if
4075 <complex> has been included.
4076 * testsuite/26_numerics/complex/56111.cc: New testcase.
4077
4078 2013-02-13 François Dumont <fdumont@gcc.gnu.org>
4079
4080 * include/bits/hashtable_policy.h (_Hash_code_base): Restore
4081 default constructor protected.
4082 * include/bits/hashtable.h: static assert that _Hash_code_base has
4083 a default constructor available through inheritance.
4084
4085 2013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
4086
4087 * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
4088 C++11 mode.
4089
4090 2013-02-12 Julian Brown <julian@codesourcery.com>
4091
4092 * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
4093 Don't expect dots after abbreviated weekday names for ru_RU for
4094 glibc versions >= 2.17.
4095 * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
4096 Likewise.
4097
4098 2013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
4099
4100 * include/bits/random.tcc (__transform): Remove.
4101 (__normalize): Add.
4102 (discrete_distribution<>::param_type::_M_initialize): Adjust.
4103 (piecewise_constant_distribution<>::param_type::_M_initialize):
4104 Likewise.
4105 (piecewise_linear_distribution<>::param_type::_M_initialize):
4106 Likewise.
4107
4108 2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
4109
4110 * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
4111 Use -fimplicit-templates.
4112 * src/c++11/Makefile.in: Regenerate.
4113 * src/c++11/hashtable_c++0x.cc: Remove instantiation for
4114 std::lower_bound template.
4115
4116 2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
4117
4118 * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
4119 * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
4120 in C++11 mode and if available in the underlying C library.
4121 * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
4122 -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
4123 _GLIBCXX_HAVE_QUICK_EXIT.
4124
4125 2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
4126
4127 * doc/html/*: Regenerate.
4128
4129 2013-02-11 Jason Merrill <jason@redhat.com>
4130
4131 * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
4132 (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
4133 * config.h.in, configure: Regenerate.
4134 * include/c_std/cstdlib: Add atexit and at_quick_exit.
4135 * include/c_global/cstdlib: Add atexit and at_quick_exit.
4136 * testsuite/18_support/quick_exit/quick_exit.cc: New.
4137
4138 2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
4139
4140 PR libstdc++/56282
4141 Revert:
4142 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net>
4143
4144 PR libstdc++/56193
4145 * include/bits/basic_ios.h: Replace operator void*() const
4146 with explicit operator bool() const in C++11 and greater.
4147 * testsuite/27_io/basic_ios/pr56193.cc: New file.
4148
4149 2013-02-10 François Dumont <fdumont@gcc.gnu.org>
4150 Jonathan Wakely <jwakely.gcc@gmail.com>
4151
4152 * doc/xml/manual/containers.xml: Add section on unordered containers.
4153 * doc/xml/manual/using.xml: Fix incomplete sentence.
4154
4155 2013-02-10 Jonathan Wakely <jwakely.gcc@gmail.com>
4156
4157 PR libstdc++/56267
4158 * include/bits/hashtable.h (__cache_default): Check if hash function
4159 is copy assignable.
4160 * testsuite/23_containers/unordered_set/56267.cc: New.
4161 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
4162 dg-error line number.
4163 * testsuite/23_containers/unordered_set/
4164 not_default_constructible_hash_neg.cc: Likewise.
4165
4166 PR libstdc++/56278
4167 * include/bits/hashtable_policy.h (_Hash_code_base): Make default
4168 constructor public.
4169 * testsuite/23_containers/unordered_set/56278.cc: New.
4170
4171 2013-02-09 François Dumont <fdumont@gcc.gnu.org>
4172
4173 * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
4174 simplification.
4175
4176 2013-02-08 Edward Smith-Rowland <3dw4rd@verizon.net>
4177
4178 PR libstdc++/56216
4179 * include/tr1/special_function_util.h: Remove spurious const
4180 from numeric arguments.
4181 * include/tr1/riemann_zeta.tcc: Likewise.
4182 * include/tr1/exp_integral.tcc: Likewise.
4183 * include/tr1/bessel_function.tcc: Likewise.
4184 * include/tr1/hypergeometric.tcc: Likewise.
4185 * include/tr1/modified_bessel_func.tcc: Likewise.
4186 * include/tr1/poly_laguerre.tcc: Likewise.
4187 * include/tr1/gamma.tcc: Likewise.
4188 * include/tr1/legendre_function.tcc: Likewise.
4189 * include/tr1/poly_hermite.tcc: Likewise.
4190 * include/tr1/ell_integral.tcc: Likewise.
4191 * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
4192 If argument is zero return function value.
4193 * testsuite/tr1/5_numerical_facilities/special_functions/
4194 08_cyl_bessel_i/pr56216.cc: New.
4195
4196 2013-02-07 Paolo Carlini <paolo.carlini@oracle.com>
4197
4198 * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
4199
4200 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net>
4201
4202 PR libstdc++/56193
4203 * include/bits/basic_ios.h: Replace operator void*() const
4204 with explicit operator bool() const in C++11 and greater.
4205 * testsuite/27_io/basic_ios/pr56193.cc: New file.
4206
4207 2013-02-04 Dodji Seketeli <dodji@redhat.com>
4208
4209 Add missing explicit instantiation for std::lower_bound template
4210 * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
4211 missing instantiation for std::lower_bound template.
4212
4213 2013-02-04 François Dumont <fdumont@gcc.gnu.org>
4214
4215 * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
4216 * include/bits/basic_string.h: Specialize previous to mark
4217 std::hash for string types as slow.
4218 * include/bits/hashtable.h (__cache_default): Replace is_integral
4219 with __is_fast_hash.
4220 * src/c++11/hash_c++0x.cc: Add type_traits include.
4221 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
4222 Adapt dg-error line number.
4223 * testsuite/23_containers/unordered_set/
4224 not_default_constructible_hash_neg.cc: Likewise.
4225
4226 2013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
4227 Paolo Carlini <paolo.carlini@oracle.com>
4228
4229 PR libstdc++/56202 (again)
4230 * include/bits/random.tcc (binomial_distribution<>::
4231 _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
4232 in previous commit.
4233
4234 * include/bits/random.h: Fix comment typo.
4235
4236 2013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
4237 Paolo Carlini <paolo.carlini@oracle.com>
4238
4239 PR libstdc++/56202
4240 * include/bits/random.tcc (binomial_distribution<>::
4241 _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
4242 division by zero.
4243
4244 2013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
4245
4246 Update copyright years.
4247 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
4248 testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
4249 testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
4250 testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
4251 testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
4252 testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
4253 testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
4254 testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
4255 testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
4256 testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
4257 testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
4258 testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
4259 testsuite/29_atomics/atomic/cons/assign_neg.cc,
4260 testsuite/29_atomics/atomic/cons/copy_neg.cc,
4261 testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
4262 testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
4263 testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
4264 testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
4265 testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
4266 Update lines in dg error matches.
4267
4268 2013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
4269
4270 * config/os/mingw32/ctype_inline.h: Fix copyright typo.
4271
4272 2013-02-01 François Dumont <fdumont@gcc.gnu.org>
4273
4274 * include/bits/hashtable_policy.h
4275 (_Prime_rehash_policy::_M_next_bkt)
4276 (_Prime_rehash_policy::_M_need_rehash): Move definition...
4277 * src/c++11/hashtable_c++0x.cc: ... here.
4278 * src/shared/hashtable-aux.cc: Remove c++config.h include.
4279 * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
4280 symbols.
4281
4282 2013-01-29 Jason Merrill <jason@redhat.com>
4283
4284 PR libstdc++/54314
4285 * config/abi/pre/gnu.ver: Don't export construction vtables.
4286 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
4287
4288 2013-01-28 Jonathan Wakely <jwakely.gcc@gmail.com>
4289
4290 PR libstdc++/56112
4291 * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
4292 to construct value_type explicitly before trying to extract the key.
4293 * testsuite/23_containers/unordered_map/cons/56112.cc: New.
4294
4295 2013-01-28 François Dumont <fdumont@gcc.gnu.org>
4296
4297 * include/bits/hashtable_policy.h (_Local_iterator_base): Use
4298 _Hashtable_ebo_helper to embed functors into the local_iterator
4299 when necessary. Pass information about functors involved in hash
4300 code by copy.
4301 * include/bits/hashtable.h (__cache_default): Do not cache for
4302 builtin integral types unless the hash functor is not noexcept
4303 qualified or is not default constructible. Adapt static assertions
4304 and local iterator instantiations.
4305 * include/debug/unordered_set
4306 (std::__debug::unordered_set<>::erase): Detect local iterators to
4307 invalidate using contained node rather than generating a dummy
4308 local_iterator instance.
4309 (std::__debug::unordered_multiset<>::erase): Likewise.
4310 * include/debug/unordered_map
4311 (std::__debug::unordered_map<>::erase): Likewise.
4312 (std::__debug::unordered_multimap<>::erase): Likewise.
4313 * testsuite/performance/23_containers/insert_erase/41975.cc: Test
4314 std::tr1 and std versions of unordered_set regardless of any
4315 macro. Add test on default cache behavior.
4316 * testsuite/performance/23_containers/insert/54075.cc: Likewise.
4317 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
4318 Adapt line number.
4319 * testsuite/23_containers/unordered_set/
4320 not_default_constructible_hash_neg.cc: New.
4321 * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
4322
4323 2013-01-24 Paolo Carlini <paolo.carlini@oracle.com>
4324
4325 PR libstdc++/56085
4326 * include/std/complex (pow(const complex<>&, int)): Avoid __n
4327 signed overflow.
4328
4329 2013-01-22 Jakub Jelinek <jakub@redhat.com>
4330
4331 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
4332 Tightten scan-assembler-times regexps, add dg-additional-options for
4333 ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
4334 dg-options.
4335
4336 2013-01-12 Andi Kleen <ak@linux.intel.com>
4337 Jonathan Wakely <jwakely.gcc@gmail.com>
4338
4339 PR libstdc++/55233
4340 * include/bits/atomic_base.h (__memory_order_modifier): Add
4341 __memory_order_mask, __memory_order_modifier_mask,
4342 __memory_order_hle_acquire, __memory_order_hle_release.
4343 (operator|,operator&): Add.
4344 (__cmpexch_failure_order): Rename to __cmpexch_failure_order2.
4345 (__cmpexch_failure_order): Add.
4346 (clear, store, load, compare_exchange_weak, compare_exchange_strong):
4347 Handle flags.
4348 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
4349 Add.
4350
4351 2013-01-19 Jonathan Wakely <jwakely.gcc@gmail.com>
4352
4353 PR libstdc++/55861
4354 * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
4355 Fix return type.
4356 (__basic_future::_M_get_result()): Const qualify.
4357 (shared_future::get()): Likewise.
4358 * testsuite/30_threads/shared_future/members/get.cc: Use const
4359 objects.
4360
4361 2013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com>
4362
4363 PR libstdc++/55043 (again)
4364 * include/bits/alloc_traits.h (allocator_traits::construct): Disable
4365 unless construction would be well-formed.
4366 (__allow_copy_cons, __check_copy_constructible): Define.
4367 * include/bits/unordered_map.h (__check_copy_constructible): Use as
4368 base class so copy constructor will be deleted if appropriate.
4369 (is_copy_constructible): Remove specialization.
4370 * include/bits/unordered_set.h: Likewise.
4371 * include/debug/unordered_map.h: Undo previous commit. Default copy
4372 and move constructors.
4373 * include/debug/unordered_set.h: Likewise.
4374 * include/profile/unordered_map.h: Undo previous commit.
4375 * include/profile/unordered_set.h: Likewise.
4376 * testsuite/23_containers/unordered_map/55043.cc: Fix test.
4377 * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
4378 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
4379 * testsuite/23_containers/unordered_set/55043.cc: Likewise.
4380 * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
4381 cannot support incomplete types.
4382 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
4383 Likewise.
4384
4385 2013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com>
4386
4387 PR libstdc++/55043
4388 * include/std/unordered_map: Include alloc_traits.h
4389 * include/std/unordered_set: Likewise.
4390 * include/bits/alloc_traits.h: Define __is_copy_insertable.
4391 * include/bits/unordered_map.h: Use it.
4392 * include/bits/unordered_set.h: Likewise.
4393 * include/debug/unordered_map.h: Likewise.
4394 * include/debug/unordered_set.h: Likewise.
4395 * include/profile/unordered_map.h: Likewise.
4396 * include/profile/unordered_set.h: Likewise.
4397 * include/bits/hashtable.h: Fix comment typos.
4398 * testsuite/23_containers/unordered_map/55043.cc: New.
4399 * testsuite/23_containers/unordered_multimap/55043.cc: New.
4400 * testsuite/23_containers/unordered_multiset/55043.cc: New.
4401 * testsuite/23_containers/unordered_set/55043.cc: New.
4402
4403 2013-01-03 Janis Johnson <janisjo@codesourcery.com>
4404
4405 * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
4406 gdb command.
4407
4408 2013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
4409
4410 * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
4411
4412 2013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
4413
4414 PR libstdc++/55908
4415 * include/std/functional (_Mem_fn::operator()): Fix constraints to
4416 avoid ambiguity.
4417 * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
4418 * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
4419
4420 2013-01-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4421
4422 PR libstdc++/55594
4423 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
4424 Solaris targets.
4425 * configure: Regenerate.
4426
4427 2013-01-07 Jonathan Wakely <jwakely.gcc@gmail.com>
4428
4429 PR libstdc++/55847
4430 * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
4431 * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
4432 string.
4433
4434 PR libstdc++/55728
4435 * include/std/functional (bad_function_call::what()): Declare.
4436 * src/c++11/functional.cc (bad_function_call::what()): Define.
4437 * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
4438 * testsuite/20_util/bad_function_call/what.cc: New.
4439
4440 2013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
4441
4442 * include/bits/unordered_map.h: Fix typo in comments.
4443 * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
4444 counts for unordered associative containers.
4445
4446 2013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
4447
4448 * doc/xml/manual/abi.xml: Update library and symbol versions.
4449
4450 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
4451
4452 * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
4453 in copyright years.
4454 * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
4455
4456 \f
4457 Copyright (C) 2013 Free Software Foundation, Inc.
4458
4459 Copying and distribution of this file, with or without modification,
4460 are permitted in any medium without royalty provided the copyright
4461 notice and this notice are preserved.