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