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