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