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