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