]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
Avoid #include <functional> in other headers
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
3e0c9334
JW
12016-10-13 Jonathan Wakely <jwakely@redhat.com>
2
d67dd0be
JW
3 * include/bits/shared_ptr_base.h: Include <functional>.
4 [!__cpp_rtti]: Do not include <typeinfo>.
5 * include/experimental/array: Do not include <functional>.
6 * include/experimental/memory: Include <bits/functional_hash.h>
7 instead of <functional>.
8 * include/experimental/propagate_const: Include <bits/stl_function.h>,
9 <bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
10 * include/experimental/tuple: Do not include <functional>.
11 * include/std/future: Include <functional>.
12 * include/std/memory: Do not include <functional>.
13 * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
14 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
15 missing includes.
16 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
17 * testsuite/20_util/specialized_algorithms/memory_management_tools/
18 1.cc: Likewise.
19 * testsuite/30_threads/call_once/60497.cc: Likewise.
20 * testsuite/30_threads/lock/2.cc: Likewise.
21 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
22 * testsuite/experimental/algorithm/sample.cc: Likewise.
23 * testsuite/experimental/array/make_array.cc: Likewise.
24 * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
25 * testsuite/experimental/propagate_const/assignment/move_neg.cc:
26 Adjust dg-error lines.
27 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
28 * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
29 * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
30 * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
31 * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
32
40799fe5
JW
33 * testsuite/experimental/algorithm/sample.cc: Add missing header.
34
10482a65
JW
35 * include/experimental/propagate_const (element_type): Qualify
36 declval.
37
f49adbb8
JW
38 * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
39 instead of assert.
40
5117a23e
JW
41 * include/experiumental/functional (boyer_moore_searcher)
42 (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
43 with _GLIBCXX_STD_C.
44 * include/std/functional: Likewise.
45
0c0d2a4c
JW
46 * include/std/chrono (floor): Replace non-constexpr operation.
47 * testsuite/20_util/duration_cast/rounding.cc: Test conversion to
48 durations with floating pointer representations.
49
3396fcc0
JW
50 * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
51 (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
52
5579170b
JW
53 * include/std/functional (_Bind_simple, _Bind_simple_helper)
54 (__bind_simple): Remove.
55 * include/std/future: Include <bits/invoke.h> instead of <functional>.
56 (__future_base::_Task_state::_M_run)
57 (__future_base::_Task_state::_M_run_delayed): Use lambda expressions
58 instead of __bind_simple.
59 (__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
60 (async): Use thread::__make_invoker instead of __bind_simple.
61 * include/std/thread: Include <tuple> and <bits/invoke.h> instead of
62 <functional>.
63 (thread::_Invoker, thread::__make_invoker): Define helpers to do
64 INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
65
cc06c7f6
JW
66 * include/std/functional (_Not_fn): Make exception specifications
67 depend on whether negating the result can throw.
68 * testsuite/20_util/not_fn/1.cc: Move to ...
69 * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
70 for types that can throw when negated and that cannot be negated.
71
3e0c9334
JW
72 * include/bits/invoke.h (__invoke): Fix exception-specification.
73 * include/std/functional (invoke): Likewise.
74 * testsuite/20_util/function_objects/invoke/1.cc: New test.
75
7daade99
PC
762016-10-12 Paolo Carlini <paolo.carlini@oracle.com>
77
78 * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
79 __builtin_printf and __builtin_abort.
80 * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
81 * scripts/testsuite_flags.in: Likewise.
82 * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
83 * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
84 * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
85 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
86 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
87 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
88 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
89 * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
90 * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
91 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
92 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
93 Likewise.
94 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
95 Likewise.
96 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
97 Likewise.
98 * testsuite/27_io/objects/char/7.cc: Likewise.
99 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
100 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
101 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
102 * testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
103 * testsuite/18_support/bad_alloc/what.cc: Likewise.
104 * testsuite/18_support/bad_cast/what.cc: Likewise.
105 * testsuite/18_support/bad_exception/what.cc: Likewise.
106 * testsuite/18_support/bad_typeid/what.cc: Likewise.
107 * testsuite/18_support/exception/38732.cc: Likewise.
108 * testsuite/18_support/exception/what.cc: Likewise.
109 * testsuite/18_support/exception_ptr/64241.cc: Likewise.
110 * testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
111 * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
112 * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
113 * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
114 * testsuite/18_support/nested_exception/cons.cc: Likewise.
115 * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
116 * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
117 * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
118 * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
119 * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
120 * testsuite/18_support/numeric_limits/digits10.cc: Likewise.
121 * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
122 * testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
123 * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
124 * testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
125 * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
126 * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
127 * testsuite/18_support/numeric_limits/min_max.cc: Likewise.
128 * testsuite/18_support/numeric_limits/specialization_default_values.cc:
129 Likewise.
130 * testsuite/18_support/type_info/hash_code.cc: Likewise.
131 * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
132 * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
133 * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
134 * testsuite/19_diagnostics/error_category/operators/
135 not_equal.cc: Likewise.
136 * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
137 * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
138 * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
139 * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
140 * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
141 * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
142 * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
143 * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
144 * testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
145 Likewise.
146 * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
147 * testsuite/19_diagnostics/error_condition/operators/equal.cc:
148 Likewise.
149 * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
150 Likewise.
151 * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
152 * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
153 * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
154 * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
155 * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
156 * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
157 * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
158 * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
159 * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
160 * testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
161 * testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
162 * testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
163 * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
164 * testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
165 * testsuite/20_util/addressof/1.cc: Likewise.
166 * testsuite/20_util/align/1.cc: Likewise.
167 * testsuite/20_util/align/2.cc: Likewise.
168 * testsuite/20_util/allocator/1.cc: Likewise.
169 * testsuite/20_util/allocator/10378.cc: Likewise.
170 * testsuite/20_util/allocator/8230.cc: Likewise.
171 * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
172 Likewise.
173 * testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
174 * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
175 * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
176 * testsuite/20_util/any/assign/exception.cc: Likewise.
177 * testsuite/20_util/auto_ptr/1.cc: Likewise.
178 * testsuite/20_util/auto_ptr/2.cc: Likewise.
179 * testsuite/20_util/auto_ptr/3.cc: Likewise.
180 * testsuite/20_util/auto_ptr/4.cc: Likewise.
181 * testsuite/20_util/auto_ptr/5.cc: Likewise.
182 * testsuite/20_util/auto_ptr/6.cc: Likewise.
183 * testsuite/20_util/auto_ptr/7.cc: Likewise.
184 * testsuite/20_util/bind/all_bound.cc: Likewise.
185 * testsuite/20_util/bind/conv_result.cc: Likewise.
186 * testsuite/20_util/bind/cv_quals.cc: Likewise.
187 * testsuite/20_util/bind/cv_quals_2.cc
188 * testsuite/20_util/bind/nested.cc: Likewise.
189 * testsuite/20_util/bind/placeholders.cc: Likewise.
190 * testsuite/20_util/bind/ref.cc: Likewise.
191 * testsuite/20_util/bind/ref2.cc: Likewise.
192 * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
193 * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
194 * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
195 * testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
196 * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
197 * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
198 * testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
199 * testsuite/20_util/duration/cons/1.cc: Likewise.
200 * testsuite/20_util/duration/cons/2.cc: Likewise.
201 * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
202 * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
203 * testsuite/20_util/enable_shared_from_this/members/assign.cc:
204 Likewise.
205 * testsuite/20_util/exchange/1.cc: Likewise.
206 * testsuite/20_util/forward/a.cc: Likewise.
207 * testsuite/20_util/forward/b.cc: Likewise.
208 * testsuite/20_util/forward/d.cc: Likewise.
209 * testsuite/20_util/function/1.cc: Likewise.
210 * testsuite/20_util/function/2.cc: Likewise.
211 * testsuite/20_util/function/3.cc: Likewise.
212 * testsuite/20_util/function/4.cc: Likewise.
213 * testsuite/20_util/function/43397.cc: Likewise.
214 * testsuite/20_util/function/5.cc: Likewise.
215 * testsuite/20_util/function/6.cc: Likewise.
216 * testsuite/20_util/function/7.cc: Likewise.
217 * testsuite/20_util/function/8.cc: Likewise.
218 * testsuite/20_util/function/9.cc: Likewise.
219 * testsuite/20_util/function/assign/move.cc: Likewise.
220 * testsuite/20_util/function/cons/move.cc: Likewise.
221 * testsuite/20_util/function_objects/dr660.cc: Likewise.
222 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
223 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
224 * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
225 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
226 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
227 * testsuite/20_util/hash/operators/size_t.cc: Likewise.
228 * testsuite/20_util/hash/quality.cc: Likewise.
229 * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
230 * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
231 * testsuite/20_util/is_function/24808.cc: Likewise.
232 * testsuite/20_util/is_object/24808.cc: Likewise.
233 * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
234 * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
235 * testsuite/20_util/owner_less/cmp.cc: Likewise.
236 * testsuite/20_util/pair/1.cc: Likewise.
237 * testsuite/20_util/pair/2.cc: Likewise.
238 * testsuite/20_util/pair/3.cc: Likewise.
239 * testsuite/20_util/pair/4.cc: Likewise.
240 * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
241 * testsuite/20_util/pair/moveable.cc: Likewise.
242 * testsuite/20_util/pair/piecewise.cc: Likewise.
243 * testsuite/20_util/pair/swap.cc: Likewise.
244 * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
245 * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
246 * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
247 * testsuite/20_util/ratio/cons/cons1.cc: Likewise.
248 * testsuite/20_util/ratio/operations/45866.cc: Likewise.
249 * testsuite/20_util/ratio/operations/47913.cc: Likewise.
250 * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
251 * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
252 * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
253 * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
254 * testsuite/20_util/scoped_allocator/1.cc: Likewise.
255 * testsuite/20_util/scoped_allocator/2.cc: Likewise.
256 * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
257 * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
258 * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
259 * testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
260 * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
261 * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
262 Likewise.
263 * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
264 * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
265 * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
266 * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
267 * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
268 * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
269 * testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
270 * testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
271 * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
272 * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
273 * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
274 * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
275 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
276 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
277 Likewise.
278 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
279 Likewise.
280 * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
281 * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
282 * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
283 * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
284 * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
285 * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
286 * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
287 * testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
288 * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
289 * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
290 * testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
291 * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
292 * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
293 * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
294 * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
295 * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
296 * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
297 * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
298 * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
299 * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
300 * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
301 * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
302 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
303 Likewise.
304 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
305 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
306 move_iterators/1.cc: Likewise.
307 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
308 move_iterators/1.cc: Likewise.
309 * testsuite/20_util/temporary_buffer.cc: Likewise.
310 * testsuite/20_util/time_point/1.cc: Likewise.
311 * testsuite/20_util/time_point/2.cc: Likewise.
312 * testsuite/20_util/time_point/3.cc: Likewise.
313 * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
314 * testsuite/20_util/tuple/48476.cc: Likewise.
315 * testsuite/20_util/tuple/comparison_operators/comparisons.cc:
316 Likewise.
317 * testsuite/20_util/tuple/cons/allocators.cc: Likewise.
318 * testsuite/20_util/tuple/cons/assignment.cc: Likewise.
319 * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
320 * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
321 * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
322 * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
323 * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
324 * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
325 Likewise.
326 * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
327 * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
328 * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
329 * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
330 * testsuite/20_util/tuple/element_access/get.cc: Likewise.
331 * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
332 * testsuite/20_util/tuple/moveable.cc: Likewise.
333 * testsuite/20_util/tuple/swap.cc: Likewise.
334 * testsuite/20_util/tuple/tuple_size.cc: Likewise.
335 * testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
336 * testsuite/20_util/typeindex/hash.cc: Likewise.
337 * testsuite/20_util/typeindex/hash_code.cc: Likewise.
338 * testsuite/20_util/typeindex/name.cc: Likewise.
339 * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
340 * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
341 * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
342 * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
343 * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
344 * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
345 * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
346 * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
347 * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
348 * testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
349 * testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
350 * testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
351 * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
352 * testsuite/20_util/unique_ptr/specialized_algorithms/
353 comparisons.cc: Likewise.
354 * testsuite/20_util/unique_ptr/specialized_algorithms/
355 comparisons_array.cc: Likewise.
356 * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
357 Likewise.
358 * testsuite/20_util/uses_allocator/construction.cc: Likewise.
359 * testsuite/20_util/uses_allocator/value.cc: Likewise.
360 * testsuite/20_util/variant/run.cc: Likewise.
361 * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
362 * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
363 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
364 Likewise.
365 * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
366 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
367 Likewise.
368 * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
369 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
370 Likewise.
371 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
372 Likewise.
373 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
374 Likewise.
375 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
376 Likewise.
377 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
378 Likewise.
379 * testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
380 * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
381 * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
382 * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
383 * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
384 Likewise.
385 * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
386 * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
387 Likewise.
388 * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
389 * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
390 Likewise.
391 * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
392 * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
393 * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
394 * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
395 * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
396 * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
397 * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
398 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
399 * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
400 * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
401 * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
402 * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
403 * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
404 * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
405 * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
406 * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
407 * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
408 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
409 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
410 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
411 * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
412 * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
413 Likewise.
414 * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
415 * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
416 * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
417 * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
418 * testsuite/21_strings/basic_string/element_access/char/58163.cc:
419 Likewise.
420 * testsuite/21_strings/basic_string/element_access/char/empty.cc:
421 Likewise.
422 * testsuite/21_strings/basic_string/element_access/char/front_back.cc:
423 Likewise.
424 * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
425 Likewise.
426 * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
427 Likewise.
428 * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
429 Likewise.
430 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
431 Likewise.
432 * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
433 Likewise.
434 * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
435 Likewise.
436 * testsuite/21_strings/basic_string/element_access/wchar_t/
437 front_back.cc: Likewise.
438 * testsuite/21_strings/basic_string/init-list.cc: Likewise.
439 * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
440 Likewise.
441 * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
442 Likewise.
443 * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
444 Likewise.
445 * testsuite/21_strings/basic_string/inserters_extractors/char/
446 28277.cc: Likewise.
447 * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
448 Likewise.
449 * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
450 Likewise.
451 * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
452 Likewise.
453 * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
454 Likewise.
455 * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
456 Likewise.
457 * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
458 Likewise.
459 * testsuite/21_strings/basic_string/inserters_extractors/pod/
460 10081-in.cc: Likewise.
461 * testsuite/21_strings/basic_string/inserters_extractors/pod/
462 10081-out.cc: Likewise.
463 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
464 Likewise.
465 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
466 10.cc: Likewise.
467 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
468 11.cc: Likewise.
469 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
470 28277.cc: Likewise.
471 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
472 Likewise.
473 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
474 Likewise.
475 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
476 Likewise.
477 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
478 Likewise.
479 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
480 Likewise.
481 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
482 Likewise.
483 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
484 Likewise.
485 * testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
486 Likewise.
487 * testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
488 Likewise.
489 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
490 Likewise.
491 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
492 Likewise.
493 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
494 Likewise.
495 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
496 Likewise.
497 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
498 Likewise.
499 * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
500 Likewise.
501 * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
502 Likewise.
503 * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
504 Likewise.
505 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
506 Likewise.
507 * testsuite/21_strings/basic_string/modifiers/assign/char/
508 move_assign.cc: Likewise.
509 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
510 Likewise.
511 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
512 Likewise.
513 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
514 Likewise.
515 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
516 Likewise.
517 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
518 move_assign.cc: Likewise.
519 * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
520 Likewise.
521 * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
522 Likewise.
523 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
524 Likewise.
525 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
526 Likewise.
527 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
528 Likewise.
529 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
530 Likewise.
531 * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
532 Likewise.
533 * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
534 Likewise.
535 * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
536 Likewise.
537 * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
538 Likewise.
539 * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
540 Likewise.
541 * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
542 Likewise.
543 * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
544 Likewise.
545 * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
546 Likewise.
547 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
548 Likewise.
549 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
550 Likewise.
551 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
552 Likewise.
553 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
554 Likewise.
555 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
556 Likewise.
557 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
558 Likewise.
559 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
560 Likewise.
561 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
562 Likewise.
563 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
564 Likewise.
565 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
566 Likewise.
567 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
568 Likewise.
569 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
570 Likewise.
571 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
572 Likewise.
573 * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
574 Likewise.
575 * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
576 Likewise.
577 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
578 Likewise.
579 * testsuite/21_strings/basic_string/numeric_conversions/char/
580 stoull.cc: Likewise.
581 * testsuite/21_strings/basic_string/numeric_conversions/char/
582 to_string.cc: Likewise.
583 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
584 dr1261.cc: Likewise.
585 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
586 stod.cc: Likewise.
587 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
588 stof.cc: Likewise.
589 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
590 stoi.cc: Likewise.
591 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
592 stol.cc: Likewise.
593 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
594 stold.cc: Likewise.
595 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
596 stoll.cc: Likewise.
597 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
598 stoul.cc: Likewise.
599 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
600 stoull.cc: Likewise.
601 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
602 to_wstring.cc: Likewise.
603 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
604 Likewise.
605 * testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
606 Likewise.
607 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
608 Likewise.
609 * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
610 Likewise.
611 * testsuite/21_strings/basic_string/operations/compare/wchar_t/
612 13650.cc: Likewise.
613 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
614 Likewise.
615 * testsuite/21_strings/basic_string/operations/data/char/1.cc:
616 Likewise.
617 * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
618 Likewise.
619 * testsuite/21_strings/basic_string/operations/find/char/1.cc:
620 Likewise.
621 * testsuite/21_strings/basic_string/operations/find/char/2.cc:
622 Likewise.
623 * testsuite/21_strings/basic_string/operations/find/char/3.cc:
624 Likewise.
625 * testsuite/21_strings/basic_string/operations/find/char/4.cc:
626 Likewise.
627 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
628 Likewise.
629 * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
630 Likewise.
631 * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
632 Likewise.
633 * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
634 Likewise.
635 * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
636 Likewise.
637 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
638 Likewise.
639 * testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
640 Likewise.
641 * testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
642 Likewise.
643 * testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
644 Likewise.
645 * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
646 Likewise.
647 * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
648 Likewise.
649 * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
650 Likewise.
651 * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
652 Likewise.
653 * testsuite/21_strings/basic_string/operations/substr/wchar_t/
654 1.cc: Likewise.
655 * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
656 * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
657 * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
658 * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
659 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
660 * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
661 * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
662 * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
663 * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
664 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
665 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
666 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
667 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
668 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
669 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
670 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
671 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
672 * testsuite/21_strings/basic_string_view/element_access/char/
673 1.cc: Likewise.
674 * testsuite/21_strings/basic_string_view/element_access/char/
675 empty.cc: Likewise.
676 * testsuite/21_strings/basic_string_view/element_access/char/
677 front_back.cc: Likewise.
678 * testsuite/21_strings/basic_string_view/element_access/wchar_t/
679 1.cc: Likewise.
680 * testsuite/21_strings/basic_string_view/element_access/wchar_t/
681 empty.cc: Likewise.
682 * testsuite/21_strings/basic_string_view/element_access/wchar_t/
683 front_back.cc: Likewise.
684 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
685 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
686 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
687 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
688 Likewise.
689 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
690 Likewise.
691 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
692 Likewise.
693 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
694 Likewise.
695 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
696 char/1.cc: Likewise.
697 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
698 wchar_t/1.cc: Likewise.
699 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
700 char/1.cc: Likewise.
701 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
702 wchar_t/1.cc: Likewise.
703 * testsuite/21_strings/basic_string_view/operations/compare/char/
704 1.cc: Likewise.
705 * testsuite/21_strings/basic_string_view/operations/compare/char/
706 13650.cc: Likewise.
707 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
708 1.cc: Likewise.
709 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
710 13650.cc: Likewise.
711 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
712 Likewise.
713 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
714 Likewise.
715 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
716 Likewise.
717 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
718 Likewise.
719 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
720 Likewise.
721 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
722 Likewise.
723 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
724 Likewise.
725 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
726 Likewise.
727 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
728 1.cc: Likewise.
729 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
730 2.cc: Likewise.
731 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
732 3.cc: Likewise.
733 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
734 4.cc: Likewise.
735 * testsuite/21_strings/basic_string_view/operations/rfind/char/
736 1.cc: Likewise.
737 * testsuite/21_strings/basic_string_view/operations/rfind/char/
738 2.cc: Likewise.
739 * testsuite/21_strings/basic_string_view/operations/rfind/char/
740 3.cc: Likewise.
741 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
742 1.cc: Likewise.
743 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
744 2.cc: Likewise.
745 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
746 3.cc: Likewise.
747 * testsuite/21_strings/basic_string_view/operations/string_conversion/
748 1.cc: Likewise.
749 * testsuite/21_strings/basic_string_view/operations/substr/char/
750 1.cc: Likewise.
751 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
752 1.cc: Likewise.
753 * testsuite/21_strings/basic_string_view/operators/char/2.cc:
754 Likewise.
755 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
756 Likewise.
757 * testsuite/21_strings/c_strings/char/1.cc: Likewise.
758 * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
759 * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
760 * testsuite/21_strings/char_traits/requirements/char/57704.cc:
761 Likewise.
762 * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
763 * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
764
765 * doc/xml/manual/test.xml: Fix typo.
766
164b41eb
JW
7672016-10-12 Jonathan Wakely <jwakely@redhat.com>
768
e7722f11
JW
769 * doc/xml/manual/status_cxx2017.xml: Add std::sample status.
770 * doc/html/*: Regenerate.
771 * include/experimental/algorithm (__sample): Move to bits/stl_algo.h
772 and into namespace std.
773 * include/bits/stl_algo.h (__sample): Define here. Fix invalid use
774 of input iterator. Defend against overloaded comma operator.
775 (sample): Define for C++17.
776 * testsuite/25_algorithms/sample/1.cc: New test.
777
432b6d95
JW
778 * testsuite/util/testsuite_common_types.h
779 (bitwise_assignment_operators): Use direct-initialization for C++11
780 and later, to avoid CopyConstructible requirement.
781 * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
782 line numbers.
783 * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
784 * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
785 * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
786 * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
787 Adjust expected errors and line numbers.
788
cfbdc34f
JW
789 * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
790 (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
791
08a53a2e
JW
792 * include/bits/stl_uninitialized.h
793 (__uninitialized_default_novalue_n_1<true>): Add missing return.
794 * testsuite/20_util/specialized_algorithms/memory_management_tools/
795 1.cc: Check return values of uninitialized_xxx_n algorithms.
796
40571365
JW
797 * libsupc++/nested_exception.h (throw_with_nested): Remove return.
798
164b41eb
JW
799 * doc/xml/manual/intro.xml: Document LWG 2442 status.
800 * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
801 [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
802 partial specialization to unpack args and forward to std::invoke.
803 (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
804 instead of __bind_simple and __once_call_impl.
805 (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
806 __bind_simple.
807 * testsuite/30_threads/call_once/dr2442.cc: New test.
808
2c15eace
JW
8092016-10-11 Jonathan Wakely <jwakely@redhat.com>
810
4bb4acee
JW
811 * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
812 _M_assign_dispatch directly with correct tag.
813
0470fad0
JW
814 * doc/xml/manual/intro.xml: Document LWG 2484 status.
815 * libsupc++/nested_exception.h (_Throw_with_nested_impl)
816 (_Throw_with_nested_helper): Remove.
817 (__throw_with_nested_impl): New overloaded functions to implement
818 throw_with_nested logic.
819 (throw_with_nested): Call __throw_with_nested_impl.
820 (_Rethrow_if_nested_impl): Remove
821 (__rethrow_if_nested_impl): New overloaded functions to implement
822 rethrow_if_nested logic.
823 (rethrow_if_nested): Call __rethrow_if_nested_impl.
824 * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
825 problem cases from LWG 2484.
826
bf1de1ac
JW
827 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
828 Register printer for std::__cxx11::list.
829 * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
830 std::__cxx11::list as well as std::list.
831
7571121f
JW
832 * include/experimental/string_view (basic_string_view::_S_compare):
833 Remove redundant const from return type.
834 * include/std/string_view (basic_string_view:_S_compare): Likewise.
835
2c15eace
JW
836 * include/bits/std_mutex.h (mutex::native_handle)
837 (lock_guard(mutex_type&, adopt_lock_t)
838 (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
839 * include/std/mutex (recursive_mutex, timed_mutex)
840 (recursive_timed_mutex): Likewise.
841
5c248975
JW
8422016-10-10 Jonathan Wakely <jwakely@redhat.com>
843
844 * doc/xml/manual/appendix_contributing.xml (contrib.organization):
845 Replace <literallayout> with nested <variablelist> elements. Update
846 some more outdated text.
847 * doc/html/*: Regenerate.
848
1725d05d
VV
8492016-10-10 Ville Voutilainen <ville.voutilainen@gmail.com>
850
851 Make any's copy assignment operator exception-safe,
852 don't copy the underlying value when any is moved,
853 make in_place constructors explicit.
854 * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
855 Make explicit.
856 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
857 Likewise.
858 (operator=(const any&)): Make strongly exception-safe.
859 (operator=(any&&)): reset() unconditionally in the case where
860 rhs has a value.
861 (operator=(_ValueType&&)): Indent the return type.
862 (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
863 * testsuite/20_util/any/assign/2.cc: Adjust.
864 * testsuite/20_util/any/assign/exception.cc: New.
865 * testsuite/20_util/any/cons/2.cc: Adjust.
866 * testsuite/20_util/any/cons/explicit.cc: New.
867 * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
868
208b8b69
JW
8692016-10-10 Jonathan Wakely <jwakely@redhat.com>
870
db625934
JW
871 * doc/xml/manual/appendix_contributing.xml (contrib.organization):
872 Describe other subdirectories and add markup. Remove outdated
873 reference to check-script target.
874 * doc/html/*: Regenerate.
875
e2be4477
JW
876 * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
877
a3dbb635
JW
878 * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
879 with noexcept.
880
40962ac0
JW
881 * include/std/functional (_Bind_result::__enable_if_void): Use alias
882 template instead of class template.
883 (_Bind_result::__disable_if_void): Likewise.
884 (_Bind_result::__call): Adjust uses of __enable_if_void and
885 __disable_if_void.
886
9e023e33
JW
887 * doc/xml/manual/intro.xml: Document DR 2296 status.
888 * doc/xml/manual/status_cxx2017.xml: Update status.
889 * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
890 call __builtin_addressof.
891 (addressof): Add _GLIBCXX17_CONSTEXPR.
892 * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
893 * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
894 * testsuite/20_util/forward/f_neg.cc: Likewise.
895
46942c81
JW
896 * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
897 * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
898 is_always_equal.
899 * testsuite/util/testsuite_allocator.h
900 (uneq_allocator::is_always_equal): Define as false_type.
901
f2e79496
JW
902 * include/experimental/numeric (gcd, lcm): Make bool arguments
903 ill-formed.
904 * include/std/numeric (gcd, lcm): Likewise.
905 * testsuite/26_numerics/gcd/gcd_neg.cc: New test.
906 * testsuite/26_numerics/lcm/lcm_neg.cc: New test.
907
208b8b69
JW
908 * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
909 Add noexcept.
910 * include/bits/shared_ptr_base.h
911 (__enable_shared_from_this::weak_from_this): Likewise.
912 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
913 Test exception-specification of weak_from_this.
914
873c7d5a
JW
9152016-10-07 Jonathan Wakely <jwakely@redhat.com>
916
296002c6
JW
917 * doc/xml/manual/status_cxx1998.xml: Improve documentation of
918 implementation-defined properties.
919 * doc/xml/manual/status_cxx2011.xml: Likewise.
920 * doc/xml/manual/status_cxx2017.xml: Likewise.
921
873c7d5a
JW
922 * doc/xml/manual/status_cxx2017.xml: Update status.
923 * include/std/type_traits (has_unique_object_representations): Define.
924 * testsuite/20_util/has_unique_object_representations/value.cc: New.
925 * testsuite/20_util/has_unique_object_representations/requirements/
926 explicit_instantiation.cc: New.
927 * testsuite/20_util/has_unique_object_representations/requirements/
928 typedefs.cc: New.
929
937ec71a
JW
9302016-10-06 Jonathan Wakely <jwakely@redhat.com>
931
932 * doc/xml/manual/status_cxx2011.xml: Update status.
933 * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
934 New helpers for recursive OUTERMOST.
935 (__outermost): Use __outermost_type::_S_outermost.
936 (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
937 (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
938 __outermost_type helper.
939 (scoped_allocator_adaptor::_Constructible): New alias template.
940 (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
941 Constrain template constructors.
942 * testsuite/20_util/scoped_allocator/3.cc: New test.
943 * testsuite/20_util/scoped_allocator/outermost.cc: New test.
944
78ec9c15
JW
9452016-10-05 Jonathan Wakely <jwakely@redhat.com>
946
aaae096a
JW
947 PR libstdc++/70564
948 * testsuite/20_util/not_fn/1.cc: Fix test.
949 * testsuite/experimental/functional/not_fn.cc: Likewise.
950
92805612
JW
951 PR libstdc++/70101
952 * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
953 constructors.
954 * testsuite/23_containers/priority_queue/allocator.cc: New test.
955
a2a64b49
JW
956 PR libstdc++/77864
957 * include/bits/stl_map.h (map::map()): Use nothrow constructibility
958 of comparison function in conditional noexcept.
959 * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
960 * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
961 * include/bits/stl_set.h (set::set()): Likewise.
962 * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
963 New test.
964 * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
965 Likewise.
966 * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
967 Likewise.
968 * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
969 Likewise.
970
d72d690a
JW
971 * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
972 alias declaration.
973
78ec9c15
JW
974 PR libstdc++/70564
975 * include/experimental/functional (_Not_fn): Remove.
976 (not_fn): Use std::_Not_fn.
977 * include/std/functional (_Not_fn): Add second parameter to
978 disambiguate copying from initialization by not_fn. Define for C++14.
979 (not_fn): Add second argument to initialization.
980 * testsuite/20_util/not_fn/1.cc: Copy call wrapper using
981 direct-initialization.
982
38aee22c
FD
9832016-10-03 François Dumont <fdumont@gcc.gnu.org>
984
985 * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
986 declaration...
987 * src/c++11/mutex_pool.h: ... here. New.
988 * src/c++11/debug.cc: Use latter.
989
6a0d23af
JW
9902016-10-03 Jonathan Wakely <jwakely@redhat.com>
991
606dda21
JW
992 * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
993 * doc/html/*: Regenerate.
994 * include/experimental/numeric (__abs): Move to <numeric>.
995 (gcd, lcm): Use __detail::gcd and __detail::lcm.
996 * include/std/numeric (__detail::__abs_integral)
997 (__detail::__gcd, __detail::__lcm): Define.
998 (gcd, lcm): Define for C++17.
999 * testsuite/26_numerics/gcd/1.cc: New test.
1000 * testsuite/26_numerics/lcm/1.cc: New test.
1001 * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
1002 * testsuite/experimental/numeric/lcd.cc: ... this.
1003
e347987d
JW
1004 PR libstdc++/68323
1005 PR libstdc++/77794
1006 * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
1007 __cxa_thread_atexit and __gnu_cxx::__freeres.
1008 * include/Makefile.am: Add <experimental/bits/lfts_config.h>
1009 * include/Makefile.in: Regenerate.
1010 * include.bits/basic_string.h: Fix nesting of versioned namespaces.
1011 * include/bits/c++config: Declare versioned namespaces for literals.
1012 * include/bits/regex.h (basic_regex, match_results): Add workarounds
1013 for PR c++/59256.
1014 * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
1015 * include/std/chrono: Likewise.
1016 * include/std/complex: Likewise.
1017 * include/std/string_view: Likewise.
1018 * include/std/variant: Likewise. Add workaround for PR c++/59256.
1019 * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
1020 * include/experimental/bits/lfts_config.h: Declare versioned
1021 namespaces.
1022 * include/experimental/algorithm: Include
1023 <experimental/bits/lfts_config.h>.
1024 * include/experimental/any: Likewise.
1025 * include/experimental/bits/erase_if.h: Likewise.
1026 * include/experimental/chrono: Likewise.
1027 * include/experimental/functional: Likewise.
1028 * include/experimental/memory_resource: Likewise.
1029 * include/experimental/optional: Likewise.
1030 * include/experimental/propagate_const: Likewise.
1031 * include/experimental/random: Likewise.
1032 * include/experimental/ratio: Likewise.
1033 * include/experimental/system_error: Likewise.
1034 * include/experimental/tuple: Likewise.
1035 * include/experimental/type_traits: Likewise.
1036 * include/experimental/utility: Likewise.
1037 * include/experimental/string_view: Likewise. Fix nesting of
1038 versioned namespaces.
1039 * include/experimental/bits/string_view.tcc: Reopen inline namespace
1040 for non-inline function definitions.
1041 * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
1042 * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
1043 * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
1044 * testsuite/experimental/propagate_const/assignment/move_neg.cc:
1045 Likewise.
1046 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
1047 * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
1048 * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
1049 * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
1050 * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
1051 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
1052
6a0d23af
JW
1053 PR libstdc++/77814
1054 * include/bits/std_abs.h: Use "C++" language linkage.
1055 * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
1056 the end. Add <stdalign.h>.
1057
3fe2ddae
VV
10582016-10-03 Ville Voutilainen <ville.voutilainen@gmail.com>
1059
1060 PR libstdc++/77802
1061 * testsuite/20_util/tuple/77802.cc: New.
1062
1063 Revert:
1064 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
1065 Implement LWG 2729 for tuple.
1066 * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
1067 Suppress conditionally.
1068 (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
1069 (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
1070 (_Tuple_impl(const _Head&)): Constrain.
1071 (_Tuple_impl(_UHead&&)): Likewise.
1072 (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
1073 (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
1074 (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
1075 (operator=(const tuple&)): Enable conditionally.
1076 (operator=(tuple&&)): Suppress conditionally.
1077 (operator=(const tuple<_UElements...>&)): Constrain.
1078 (operator=(tuple<_UElements...>&&)): Likewise.
1079 (operator=(const tuple&)): Enable conditionally (2-param tuple).
1080 (operator=(tuple&&)): Suppress conditionally (2-param tuple).
1081 (operator=(const tuple<_U1, _U2>&)): Constrain.
1082 (operator=(tuple<_U1, _U2>&&)): Likewise.
1083 (operator=(const pair<_U1, _U2>&)): Likewise.
1084 (operator=(pair<_U1, _U2>&&)): Likewise.
1085 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
1086 * testsuite/20_util/tuple/tuple_traits.cc: New.
1087
9e28a774
JW
10882016-09-30 Jonathan Wakely <jwakely@redhat.com>
1089
36105dbd
JW
1090 PR libstdc++/77795
1091 * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
1092 for gets.
1093 * config.h.in: Regenerate.
1094 * configure: Regenerate.
1095 * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
1096 for C++98 and C++11.
1097 * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
1098 * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
1099
37b204de
JW
1100 * doc/xml/manual/intro.xml: Document LWG 2192 changes.
1101 * doc/html/*: Regenerate.
1102 * include/Makefile.am: Add bits/std_abs.h.
1103 * include/Makefile.in: Regenerate.
1104 * include/bits/std_abs.h: New header defining all required overloads
1105 of std::abs in one place (LWG 2294).
1106 * include/c_global/cmath (abs(double), abs(float), abs(long double)):
1107 Move to bits/std_abs.h.
1108 (abs<_Tp>(_Tp)): Remove.
1109 * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
1110 Move to bits/std_abs.h.
1111 * testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
1112 * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
1113 * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
1114 * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.
1115
9e28a774
JW
1116 PR libstdc++/77801
1117 * include/experimental/numeric: Include <numeric>.
1118 (__abs): Define.
1119 (gcd, lcm): Use __abs instead of std::abs.
1120 * testsuite/experimental/numeric/77801.cc: New test.
1121 * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
1122 * testsuite/experimental/numeric/lcm.cc: Likewise.
1123
a181f672
VV
11242016-09-29 Ville Voutilainen <ville.voutilainen@gmail.com>
1125
1126 Make optional::reset noexcept, make optional::value
1127 work in constant expressions.
1128 * include/std/optional (_M_get): Make constexpr.
1129 (reset): Make noexcept.
1130 * testsuite/20_util/optional/assignment/7.cc: New.
1131 * testsuite/20_util/optional/observers/6.cc: New.
1132
998e01a6
JW
11332016-09-29 Jonathan Wakely <jwakely@redhat.com>
1134
1135 * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
1136 outside _GLIBCXX_USE_C99_MATH_TR1 condition.
1137
6d49b790
AM
11382016-09-29 Alan Modra <amodra@gmail.com>
1139
1140 * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
1141 * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
1142 Use LONG_DOUBLE_COMPAT_FLAGS.
1143 * Makefile.in: Regenerate.
1144 * configure: Regenerate.
1145 * doc/Makefile.in: Regenerate.
1146 * include/Makefile.in: Regenerate.
1147 * libsupc++/Makefile.in: Regenerate.
1148 * po/Makefile.in: Regenerate.
1149 * python/Makefile.in: Regenerate.
1150 * src/Makefile.in: Regenerate.
1151 * src/c++11/Makefile.in: Regenerate.
1152 * src/c++98/Makefile.in: Regenerate.
1153 * src/filesystem/Makefile.in: Regenerate.
1154 * testsuite/Makefile.in: Regenerate.
1155
1b4be62a
JW
11562016-09-28 Jonathan Wakely <jwakely@redhat.com>
1157
b236debd
JW
1158 * include/std/chrono (system_clock): Fix typo in comment.
1159
fd5effb1
JW
1160 * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
1161 definition.
1162 * src/filesystem/ops.cc (file_time): Take error_code parameter and
1163 check for overflow.
1164 (do_copy_file, last_write_time): Pass error_code in file_time calls.
1165 * testsuite/experimental/filesystem/operations/last_write_time.cc:
1166 New.
1167 * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
1168
1b4be62a
JW
1169 PR libstdc++/77686
1170 * include/std/functional (_Any_data): Add may_alias attribute.
1171
b658669d
JW
11722016-09-27 Jonathan Wakely <jwakely@redhat.com>
1173
4940de30
JW
1174 * doc/xml/manual/status_cxx2017.xml: Update status.
1175 * doc/html/*: Regenerate.
1176 * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
1177 * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
1178
b658669d
JW
1179 * doc/xml/manual/status_cxx2017.xml: Update status.
1180 * include/c_global/cmath (hypot): Add three-dimensional overloads.
1181 * testsuite/26_numerics/headers/cmath/hypot.cc: New.
1182
71ade764
VV
11832016-09-26 Ville Voutilainen <ville.voutilainen@gmail.com>
1184
1185 PR libstdc++/77727
1186 * include/std/optional (optional(const optional<_Up>&)):
1187 Default-initialize the base and use emplace.
1188 (optional(optional<_Up>&&)): Likewise.
1189 * testsuite/20_util/optional/cons/77727.cc: New.
1190
f2fe9e0a
FD
11912016-09-26 François Dumont <fdumont@gcc.gnu.org>
1192
1193 * include/debug/safe_base.h
1194 (_Safe_iterator_base::_M_detach_single): Make public.
1195
976160b9
JW
11962016-09-26 Jonathan Wakely <jwakely@redhat.com>
1197
1a08d2da
JW
1198 * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
1199 redefine macro defined in <bits/stl_iterator.h>.
1200
976160b9
JW
1201 * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
1202 iterator is not past-the-end.
1203 * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
1204 Likewise.
1205 * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
1206 Likewise.
1207 * include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
1208 * include/bits/unordered_map.h (unordered_map::extract(const_iterator))
1209 (unordered_multimap::extract(const_iterator)): Likewise.
1210 * include/bits/unordered_set.h (unordered_set::extract(const_iterator))
1211 (unordered_multiset::extract(const_iterator)): Likewise.
1212
a38814c0
VV
12132016-09-26 Ville Voutilainen <ville.voutilainen@gmail.com>
1214
1215 PR libstdc++/77717
1216 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
1217 Fix an out-of-bounds access.
1218
81fea426
MP
12192016-09-26 Marek Polacek <polacek@redhat.com>
1220
1221 PR c/7652
1222 * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
1223
edc69abb
FD
12242016-09-25 François Dumont <fdumont@gcc.gnu.org>
1225
d8bbd665
FD
1226 * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
1227 functional.
1228 (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
1229 * testsuite/23_containers/vector/debug/mutex_association.cc: New.
1230
5d045324
FD
1231 * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
1232 bitset*)): Remove __unused__ attribute.
1233 * include/debug/safe_base.h (_Safe_iterator_base): Make
1234 _Safe_sequence_base a friend.
1235 (_Safe_iterator_base::_M_attach): Make protected.
1236 (_Safe_iterator_base::_M_attach_single): Likewise.
1237 (_Safe_iterator_base::_M_detach): Likewise.
1238 (_Safe_iterator_base::_M_detach_single): Likewise.
1239 (_Safe_sequence_base): Make _Safe_iterator_base a friend.
1240 (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
1241 (_Safe_sequence_base::_M_swap): Make protected.
1242 (_Safe_sequence_base::_M_attach): Make private.
1243 (_Safe_sequence_base::_M_attach_single): Likewise.
1244 (_Safe_sequence_base::_M_detach): Likewise.
1245 (_Safe_sequence_base::_M_detach_single): Likewise.
1246 * include/debug/safe_container.h
1247 (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
1248 * include/debug/safe_iterator.h
1249 (_Safe_iterator::operator++()): Name __scoped_lock instance.
1250 * include/debug/safe_iterator.tcc: Remove trailing line.
1251 * include/debug/safe_unordered_base.h
1252 (_Safe_local_iterator_base::_M_attach): Make protected.
1253 (_Safe_local_iterator_base::_M_attach_single): Likewise.
1254 (_Safe_local_iterator_base::_M_detach): Likewise.
1255 (_Safe_local_iterator_base::_M_detach_single): Likewise.
1256 (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
1257 (_Safe_unordered_container_base::_M_attach_local): Make private.
1258 (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
1259 (_Safe_unordered_container_base::_M_detach_local): Likewise.
1260 (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
1261
edc69abb
FD
1262 * include/parallel/algo.h: Generalize usage of std::__iterator_category.
1263 Adjust whitespaces.
1264
a922c5ff
JW
12652016-09-23 Jonathan Wakely <jwakely@redhat.com>
1266
13190419
JW
1267 PR libstdc++/56166
1268 PR libstdc++/77582
1269 * include/bits/basic_string.h (basic_string::clear()): Drop reference
1270 and use empty rep.
1271 * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
1272 Likewise.
1273 * testsuite/21_strings/basic_string/56166.cc: New.
1274 * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
1275
a922c5ff
JW
1276 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1277 (basic_string::erase(size_type, size_type)): Add fast path for
1278 truncating the string, by calling _M_set_length directly.
1279 (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
1280 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
1281 (basic_string::resize(size_type, _CharT)): Likewise.
1282
7be8d663
JM
12832016-09-22 Jason Merrill <jason@redhat.com>
1284
1285 * configure.ac: Define HAVE_MEMALIGN for newlib.
1286
320c7be3
SH
12872015-09-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
1288
1289 * config/cpu/m68k/atomicity.h: Adjust comment.
1290 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
1291 explicit atomicity_dir setup via configure.host.
1292 * configure.host (rtems-*): Set atomicity_dir.
1293 * configure: Regenerate.
1294
2dbe56bd
JW
12952016-09-22 Jonathan Wakely <jwakely@redhat.com>
1296
1297 Implement C++17 node extraction and insertion (P0083R5)
1298 * doc/xml/manual/status_cxx2017.xml: Document status.
1299 * doc/html/*: Regenerate.
1300 * include/Makefile.am: Add bits/node_handle.h and reorder.
1301 * include/Makefile.in: Regenerate.
1302 * include/bits/hashtable.h (_Hashtable::node_type)
1303 (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
1304 (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
1305 (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
1306 (_Hash_merge_helper): Define primary template.
1307 * include/bits/node_handle.h: New header.
1308 * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
1309 friend.
1310 (map::node_type, map::insert_return_type, map::extract, map::merge)
1311 (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
1312 Define new members.
1313 (_Rb_tree_merge_helper): Specialize for map.
1314 * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
1315 as friend.
1316 (multimap::node_type, multimap::extract, multimap::merge)
1317 (multimap::insert(node_type&&))
1318 (multimap::insert(const_iterator, node_type&&)): Define.
1319 (_Rb_tree_merge_helper): Specialize for multimap.
1320 * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
1321 as friend.
1322 (multiset::node_type, multiset::extract, multiset::merge)
1323 (multiset::insert(node_type&&))
1324 (multiset::insert(const_iterator, node_type&&)): Define.
1325 * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
1326 friend.
1327 (set::node_type, set::insert_return_type, set::extract, set::merge)
1328 (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
1329 Define.
1330 (_Rb_tree_merge_helper): Specialize for set.
1331 * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
1332 (_Rb_tree::node_type, _Rb_tree::insert_return_type)
1333 (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
1334 (_Rb_tree::_M_reinsert_node_hint_unique)
1335 (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
1336 (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
1337 (_Rb_tree_merge_helper): Specialize for multiset.
1338 * include/bits/unordered_map.h (unordered_map): Declare
1339 unordered_map<> and unordered_multimap<> as friends.
1340 (unordered_map::node_type, unordered_map::insert_return_type)
1341 (unordered_map::extract, unordered_map::merge)
1342 (unordered_map::insert(node_type&&))
1343 (unordered_map::insert(const_iterator, node_type&&))
1344 (unordered_multimap): Declare _Hash_merge_helper as friend.
1345 (unordered_multimap::node_type, unordered_multimap::extract)
1346 (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
1347 (unordered_multimap::insert(const_iterator, node_type&&)): Define.
1348 (_Hash_merge_helper): Specialize for unordered maps and multimaps.
1349 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1350 Declare _Hash_merge_helper as friend.
1351 (unordered_set::node_type, unordered_set::insert_return_type)
1352 (unordered_set::extract, unordered_set::merge)
1353 (unordered_set::insert(node_type&&))
1354 (unordered_set::insert(const_iterator, node_type&&)): Define.
1355 (unordered_multiset::node_type, unordered_multiset::extract)
1356 (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
1357 (unordered_multiset::insert(const_iterator, node_type&&)): Define.
1358 (_Hash_merge_helper): Specialize for unordered sets and multisets.
1359 * include/debug/map.h (map): Add using declarations or forwarding
1360 functions for new members.
1361 * include/debug/map.h (multimap): Likewise.
1362 * include/debug/map.h (multiset): Likewise.
1363 * include/debug/map.h (set): Likewise.
1364 * include/debug/unordered_map (unordered_map, unordered_multimap):
1365 Likewise.
1366 * include/debug/unordered_set( unordered_set, unordered_multiset):
1367 Likewise.
1368 * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
1369 helper function.
1370 (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
1371 (StdNodeHandlePrinter): Define printer for node handles.
1372 (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
1373 * testsuite/23_containers/map/modifiers/extract.cc: New.
1374 * testsuite/23_containers/map/modifiers/merge.cc: New.
1375 * testsuite/23_containers/multimap/modifiers/extract.cc: New.
1376 * testsuite/23_containers/multimap/modifiers/merge.cc: New.
1377 * testsuite/23_containers/multiset/modifiers/extract.cc: New.
1378 * testsuite/23_containers/multiset/modifiers/merge.cc: New.
1379 * testsuite/23_containers/set/modifiers/extract.cc: New.
1380 * testsuite/23_containers/set/modifiers/merge.cc: New.
1381 * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
1382 * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
1383 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
1384 New.
1385 * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
1386 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
1387 New.
1388 * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
1389 * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
1390 * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
1391 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1392 dg-error lineno.
1393 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
1394
8a4c4f12
VV
13952016-09-22 Ville Voutilainen <ville.voutilainen@gmail.com>
1396
1397 Fix tests on old arm platforms for optional.
1398 * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
1399
64626fca
JW
14002016-09-22 Jonathan Wakely <jwakely@redhat.com>
1401
6fdc74c9
JW
1402 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
1403 recent change to _Variant_storage.
1404 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
1405 reference type.
1406
64626fca
JW
1407 * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
1408 std::forward and ::new. Cast pointer to void*.
1409 * include/std/variant (_Variant_storage, _Union, _Variant_base)
1410 (__access, __visit_invoke, variant, visit): Qualify std::forward.
1411 * testsuite/20_util/variant/compile.cc: Test for ADL problems.
1412
c42bc5d7
TS
14132016-09-22 Tim Shen <timshen@google.com>
1414
64626fca 1415 * include/std/variant (variant::operator=): Fix assignment
c42bc5d7 1416 on references.
64626fca 1417 * testsuite/20_util/variant/compile.cc: Add test.
c42bc5d7 1418
41501d1a
TS
14192016-09-22 Tim Shen <timshen@google.com>
1420
1421 PR libstdc++/77641
1422 * include/std/variant (_Variant_storage::_Variant_storage):
1423 Change _Variant_storage's union to be default constructible.
1424 * testsuite/20_util/variant/compile.cc: New test.
1425
b641f833
VV
14262016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
1427
1428 PR libstdc++/77288
1429 * include/std/optional (__is_optional_impl, __is_optional): Remove.
1430 (__converts_from_optional, __assigns_from_optional): New.
1431 (optional(_Up&&)): Use is_same instead of __is_optional.
1432 (optional(const optional<_Up>&)): Constrain with
1433 __converts_from_optional.
1434 (optional(optional<_Up>&&)): Likewise.
1435 (operator=(_Up&&)): Use is_same instead of __is_optional, check
1436 is_same and is_scalar.
1437 (operator=(const optional<_Up>&)): Constrain with
1438 __converts_from_optional and __assigns_from_optional.
1439 (operator=(optional<_Up>&&)): Likewise.
1440 * testsuite/20_util/optional/77288.cc: New.
1441 * testsuite/20_util/optional/cons/value.cc: Adjust.
1442
55786785
VV
14432016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
1444
1445 Implement LWG 2729 for tuple.
1446 * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
1447 Suppress conditionally.
1448 (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
1449 (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
1450 (_Tuple_impl(const _Head&)): Constrain.
1451 (_Tuple_impl(_UHead&&)): Likewise.
1452 (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
1453 (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
1454 (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
1455 (operator=(const tuple&)): Enable conditionally.
1456 (operator=(tuple&&)): Suppress conditionally.
1457 (operator=(const tuple<_UElements...>&)): Constrain.
1458 (operator=(tuple<_UElements...>&&)): Likewise.
1459 (operator=(const tuple&)): Enable conditionally (2-param tuple).
1460 (operator=(tuple&&)): Suppress conditionally (2-param tuple).
1461 (operator=(const tuple<_U1, _U2>&)): Constrain.
1462 (operator=(tuple<_U1, _U2>&&)): Likewise.
1463 (operator=(const pair<_U1, _U2>&)): Likewise.
1464 (operator=(pair<_U1, _U2>&&)): Likewise.
1465 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
1466 * testsuite/20_util/tuple/tuple_traits.cc: New.
1467
f524d5b3
VV
14682016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
1469
1470 PR libstdc++/77537
1471 Implement LWG 2729 for pair.
1472 * include/bits/stl_pair.h (_PCC): New.
1473 (_ConstructiblePair, _ImplicitlyConvertiblePair):
1474 Turn into static member functions of _PCC.
1475 (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
1476 (_PCCP): New.
1477 (pair(const _T1&, const _T2&)): Adjust.
1478 (_PCCFP): New.
1479 (pair(const pair<_U1, _U2>&)): Adjust.
1480 (pair(_U1&&, const _T2&)): Likewise.
1481 (pair(const _T1&, _U2&&)): Likewise.
1482 (pair(_U1&&, _U2&&)): Likewise.
1483 (pair(pair<_U1, _U2>&&)): Likewise.
1484 (operator=(const pair&)): Make conditionally deleted.
1485 (operator=(pair&&)): Make conditionally suppressed.
1486 (operator=(const pair<_U1, _U2>&)): Constrain.
1487 (operator=(pair<_U1, _U2>&&): Likewise.
1488 * include/std/type_traits (__nonesuch): New.
1489 * testsuite/20_util/pair/traits.cc: New.
1490
377f30c0
VV
14912016-09-20 Ville Voutilainen <ville.voutilainen@gmail.com>
1492
1493 PR libstdc++/77619
1494 * include/bits/stl_construct.h: (_Construct_novalue): New.
1495 (_Destroy_n_aux, _Destroy_n): New.
1496 * include/bits/stl_uninitialized.h: (type_traits):
1497 New include in C++11 mode.
1498 (__uninitialized_default_novalue_1): New.
1499 (__uninitialized_default_novalue_n_1): Likewise.
1500 (__uninitialized_default_novalue): Likewise.
1501 (__uninitialized_default_novalue_n): Likewise.
1502 (__uninitialized_copy_n_pair): Likewise.
1503 (uninitialized_default_construct):
1504 Use __uninitialized_default_novalue.
1505 (uninitialized_default_construct_n):
1506 Use __uninitialized_default_novalue_n.
1507 (uninitialized_value_construct): Use __uninitialized_default.
1508 (uninitialized_value_construct_n): Use __uninitialized_default_n.
1509 (uninitialized_move): Use uninitialized_copy.
1510 (uninitialized_move_n): Use __uninitialized_copy_n_pair.
1511 (destroy_at): Use _Destroy.
1512 (destroy): Likewise.
1513 (destroy_n): Likewise.
1514 * testsuite/20_util/specialized_algorithms/
1515 memory_management_tools/1.cc: Add tests for exceptions,
1516 add tests for trivial cases for construct and move.
1517
564beb5f
JW
15182016-09-20 Jonathan Wakely <jwakely@redhat.com>
1519
1520 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
1521 (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
1522
019270bc
JW
15232016-09-19 Jonathan Wakely <jwakely@redhat.com>
1524
d0f59435
JW
1525 PR libstdc++/77645
1526 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
1527 (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
1528 division to int to work with Python 3.
1529
ee1ab3e3
JW
1530 * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
1531
a0a1009a
JW
1532 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
1533 display_hint to be set by subclasses.
1534 (StdVariantPrinter): Use array for display_hint. Adjust output to be
1535 more similar to std::any and std::optional output.
1536 (register_type_printers): Add type printers for basic_string_view
1537 typedefs and experimental::any. Adjust type printers for
1538 fundamentals_v1 templates to match fundamentals_v2 and later.
1539 * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
1540
019270bc
JW
1541 PR libstdc++/77645
1542 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
1543 argument.
1544 (ListWorkerBase.get_value_from_node): Define new method.
1545 (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
1546
00895372
JW
15472016-09-17 Jonathan Wakely <jwakely@redhat.com>
1548
1549 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
1550 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
1551 Register for C++17 components in namespace std. Strip inline namespace
1552 from typename.
1553
6ee3fd97
JW
15542016-09-16 Jonathan Wakely <jwakely@redhat.com>
1555
1556 * doc/xml/manual/profile_mode.xml: Fix typo.
1557 * doc/html/manual/profile_mode_devel.html: Regenerate.
1558
84c08ec9
JW
15592016-09-16 Jonathan Wakely <jwakely@redhat.com>
1560 Marc Glisse <marc.glisse@inria.fr>
1561
1562 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
1563 (operator new(size_t, align_val_t)): Replace modulus operator with
1564 mask.
1565
426042f5
JW
15662016-09-16 Jonathan Wakely <jwakely@redhat.com>
1567
1568 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
1569 Increase alignment if less than sizeof(void*).
1570 [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
1571 Increase size if not a multiple of alignment.
1572
0273c10e
JW
15732016-09-15 Jonathan Wakely <jwakely@redhat.com>
1574
1b75c936
JW
1575 * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
1576 * doc/html/*: Regenerate.
700e2faa
JW
1577
1578 * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
1579 -Wno-deprecated.
1580 * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
0273c10e 1581
20a1e5b8
MP
15822016-09-14 Marek Polacek <polacek@redhat.com>
1583
1584 * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
1585 -Wno-deprecated.
1586
13cddbc1
CL
15872016-09-14 Christophe Lyon <christophe.lyon@linaro.org>
1588
1589 * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
1590 Move dg-do directive before dg-skip.
1591 * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
1592 Move dg-do directive before dg-require.
1593 * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
1594 * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
1595 * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
1596 * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
1597 * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
1598 * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
1599 * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
1600 * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
1601 * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
1602 * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
1603 * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
1604 * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
1605 * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
1606 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
1607 * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
1608 Likewise.
1609 * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
1610 * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
1611 * testsuite/27_io/objects/char/12048-5.cc: Likewise.
1612 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
1613 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
1614
8e14a10c
VV
16152016-09-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1616
1617 Implement P0040R3, Extending memory management tools.
1618 * include/bits/stl_uninitialized.h (utility): New include
1619 in C++17 mode.
1620 (uninitialized_default_construct): New.
1621 (uninitialized_default_construct_n): Likewise.
1622 (uninitialized_value_construct): Likewise.
1623 (uninitialized_value_construct_n): Likewise.
1624 (uninitialized_move): Likewise.
1625 (uninitialized_move_n): Likewise.
1626 (destroy_at, destroy, destroy_n): Likewise.
7a461e27
JW
1627 * testsuite/20_util/specialized_algorithms/memory_management_tools/
1628 1.cc: New.
8e14a10c 1629
a313485b
JM
16302016-09-12 Jason Merrill <jason@redhat.com>
1631
1632 * config/abi/pre/gnu.ver: Use [jmy] for size_t.
1633
5e8037ba
VV
16342016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
1635
1636 Implement P0253R1, Fixing a design mistake in the searchers
1637 interface in Library Fundamentals.
1638 * include/std/functional: (utility): New include in C++17 mode.
1639 (default_searcher): Use a pair as return type, adjust the definition.
1640 (boyer_moore_searcher): Likewise.
1641 (boyer_moore_horspool_searcher): Likewise.
1642 * testsuite/20_util/function_objects/searchers.cc: Adjust.
1643
f82dfb8d
VV
16442016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
1645
1646 Implement C++17 string searchers.
1647 * include/std/functional: (unordered_map, vector): New includes
1648 in C++17 mode.
1649 (array, bits/stl_algo.h): Likewise.
1650 (default_searcher, __boyer_moore_map_base): New.
1651 (__boyer_moore_array_base, __is_std_equal_to): Likewise.
1652 (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
1653 (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
1654 (make_boyer_moore_searcher): Likewise.
1655 (make_boyer_moore_horspool_searcher): Likewise.
1656 * testsuite/20_util/function_objects/searchers.cc: New.
1657
684211e1
MW
16582016-09-12 Matthew Wahab <matthew.wahab@arm.com>
1659
1660 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
1661 Move dg-do directive before dg-require.
1662 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
1663 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
1664 Likewise.
1665 * testsuite/22_locale/codecvt/utf8.cc: Likewise.
1666 * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
1667 * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
1668 * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
1669 * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
1670 * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
1671 * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
1672 * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
1673 * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
1674 * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
1675 * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
1676 * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
1677 * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
1678 Likewise.
7a461e27
JW
1679 * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
1680 Likewise.
684211e1
MW
1681 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
1682 * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
7a461e27
JW
1683 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1684 Likewise.
1685 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1686 Likewise.
1687 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1688 Likewise.
1689 * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
1690 Likewise.
1691 * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
1692 Likewise.
1693 * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
1694 Likewise.
1695 * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
1696 Likewise.
1697 * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
1698 Likewise.
1699 * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
1700 Likewise.
1701 * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
1702 Likewise.
1703 * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
1704 Likewise.
1705 * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
1706 Likewise.
1707 * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
684211e1 1708 Likewise.
7a461e27
JW
1709 * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
1710 Likewise.
1711 * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
1712 Likewise.
1713 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
1714 Likewise.
1715 * testsuite/23_containers/forward_list/debug/
1716 iterator_self_move_assign_neg.cc: Likewise.
684211e1
MW
1717 * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
1718 Likewise.
7a461e27
JW
1719 * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
1720 Likewise.
1721 * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
1722 Likewise.
1723 * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
1724 Likewise.
1725 * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
1726 Likewise.
1727 * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
1728 Likewise.
1729 * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
1730 Likewise.
1731 * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
1732 Likewise.
684211e1
MW
1733 * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
1734 * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
1735 * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
1736 * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
1737 * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
1738 * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
1739 * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
1740 * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
1741 * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
1742 * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
1743 * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
1744 Likewise.
1745 * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
1746 * testsuite/23_containers/map/debug/60499.cc: Likewise.
1747 * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
1748 * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
1749 * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
1750 * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
1751 * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
1752 * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
1753 * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
1754 Likewise.
1755 * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
1756 * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
1757 * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
1758 * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
1759 * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
1760 * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
1761 * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
1762 * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
7a461e27
JW
1763 * testsuite/23_containers/multimap/debug/
1764 iterator_self_move_assign_neg.cc: Likewise.
1765 * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
684211e1 1766 Likewise.
684211e1
MW
1767 * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
1768 * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
1769 * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
1770 * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
1771 * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
1772 * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
1773 * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
7a461e27
JW
1774 * testsuite/23_containers/multiset/debug/
1775 iterator_self_move_assign_neg.cc: Likewise.
1776 * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
684211e1 1777 Likewise.
684211e1
MW
1778 * testsuite/23_containers/set/debug/60499.cc: Likewise.
1779 * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
1780 * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
1781 * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
1782 * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
1783 * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
1784 * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
1785 * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
1786 Likewise.
1787 * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
1788 * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
1789 * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
1790 * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
7a461e27
JW
1791 * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
1792 Likewise.
684211e1
MW
1793 * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
1794 * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
7a461e27
JW
1795 * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
1796 Likewise.
1797 * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
1798 Likewise.
1799 * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
1800 Likewise.
684211e1
MW
1801 * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
1802 * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
1803 * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
1804 * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
1805 * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
7a461e27
JW
1806 * testsuite/23_containers/unordered_map/debug/
1807 invalid_local_iterator_compare_neg.cc: Likewise.
1808 * testsuite/23_containers/unordered_map/debug/
1809 invalid_local_iterator_range_neg.cc: Likewise.
1810 * testsuite/23_containers/unordered_map/debug/
1811 iterator_self_move_assign_neg.cc: Likewise.
684211e1
MW
1812 * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
1813 Likewise.
1814 * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
1815 Likewise.
7a461e27
JW
1816 * testsuite/23_containers/unordered_map/debug/
1817 use_erased_local_iterator_neg.cc: Likewise.
1818 * testsuite/23_containers/unordered_map/debug/
1819 use_invalid_iterator_neg.cc: Likewise.
1820 * testsuite/23_containers/unordered_map/debug/
1821 use_invalid_local_iterator_neg.cc: Likewise.
1822 * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
1823 * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
684211e1 1824 Likewise.
7a461e27 1825 * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
684211e1 1826 Likewise.
684211e1
MW
1827 * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
1828 Likewise.
7a461e27
JW
1829 * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
1830 Likewise.
1831 * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
1832 Likewise.
684211e1
MW
1833 * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
1834 Likewise.
1835 * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
1836 Likewise.
1837 * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
1838 Likewise.
7a461e27 1839 * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
684211e1 1840 Likewise.
7a461e27 1841 * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
684211e1 1842 Likewise.
7a461e27 1843 * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
684211e1 1844 Likewise.
7a461e27 1845 * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
684211e1 1846 Likewise.
7a461e27 1847 * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
684211e1 1848 Likewise.
7a461e27
JW
1849 * testsuite/23_containers/unordered_multimap/debug/
1850 invalid_local_iterator_compare_neg.cc: Likewise.
1851 * testsuite/23_containers/unordered_multimap/debug/
1852 invalid_local_iterator_range_neg.cc: Likewise.
1853 * testsuite/23_containers/unordered_multimap/debug/
1854 iterator_self_move_assign_neg.cc: Likewise.
1855 * testsuite/23_containers/unordered_multimap/debug/
1856 max_load_factor_neg.cc: Likewise.
1857 * testsuite/23_containers/unordered_multimap/debug/
1858 self_move_assign_neg.cc: Likewise.
1859 * testsuite/23_containers/unordered_multimap/debug/
1860 use_erased_local_iterator_neg.cc: Likewise.
1861 * testsuite/23_containers/unordered_multimap/debug/
1862 use_invalid_iterator_neg.cc: Likewise.
1863 * testsuite/23_containers/unordered_multimap/debug/
1864 use_invalid_local_iterator_neg.cc: Likewise.
684211e1
MW
1865 * testsuite/23_containers/unordered_multiset/debug/60499.cc:
1866 Likewise.
1867 * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
1868 Likewise.
1869 * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
1870 Likewise.
1871 * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
1872 Likewise.
1873 * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
1874 Likewise.
1875 * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
1876 Likewise.
1877 * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
1878 Likewise.
1879 * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
1880 Likewise.
1881 * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
1882 Likewise.
7a461e27 1883 * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
684211e1 1884 Likewise.
7a461e27 1885 * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
684211e1 1886 Likewise.
7a461e27 1887 * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
684211e1 1888 Likewise.
7a461e27 1889 * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
684211e1 1890 Likewise.
7a461e27 1891 * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
684211e1 1892 Likewise.
7a461e27
JW
1893 * testsuite/23_containers/unordered_multiset/debug/
1894 invalid_local_iterator_compare_neg.cc: Likewise.
1895 * testsuite/23_containers/unordered_multiset/debug/
1896 invalid_local_iterator_range_neg.cc: Likewise.
1897 * testsuite/23_containers/unordered_multiset/debug/
1898 iterator_self_move_assign_neg.cc: Likewise.
1899 * testsuite/23_containers/unordered_multiset/debug/
1900 max_load_factor_neg.cc: Likewise.
1901 * testsuite/23_containers/unordered_multiset/debug/
1902 self_move_assign_neg.cc: Likewise.
1903 * testsuite/23_containers/unordered_multiset/debug/
1904 use_erased_local_iterator_neg.cc: Likewise.
1905 * testsuite/23_containers/unordered_multiset/debug/
1906 use_invalid_iterator_neg.cc: Likewise.
1907 * testsuite/23_containers/unordered_multiset/debug/
1908 use_invalid_local_iterator_neg.cc: Likewise.
684211e1
MW
1909 * testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
1910 * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
1911 * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
7a461e27
JW
1912 * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
1913 Likewise.
684211e1
MW
1914 * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
1915 * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
7a461e27
JW
1916 * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
1917 Likewise.
1918 * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
1919 Likewise.
1920 * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
1921 Likewise.
684211e1
MW
1922 * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
1923 * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
1924 * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
1925 * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
1926 * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
7a461e27
JW
1927 * testsuite/23_containers/unordered_set/debug/
1928 invalid_local_iterator_compare_neg.cc: Likewise.
1929 * testsuite/23_containers/unordered_set/debug/
1930 invalid_local_iterator_range_neg.cc: Likewise.
1931 * testsuite/23_containers/unordered_set/debug/
1932 iterator_self_move_assign_neg.cc: Likewise.
1933 * testsuite/23_containers/unordered_set/debug/
1934 max_load_factor_neg.cc: Likewise.
1935 * testsuite/23_containers/unordered_set/debug/
1936 self_move_assign_neg.cc: Likewise.
1937 * testsuite/23_containers/unordered_set/debug/
1938 use_erased_local_iterator_neg.cc: Likewise.
1939 * testsuite/23_containers/unordered_set/debug/
1940 use_invalid_iterator_neg.cc: Likewise.
1941 * testsuite/23_containers/unordered_set/debug/
1942 use_invalid_local_iterator_neg.cc: Likewise.
684211e1
MW
1943 * testsuite/23_containers/vector/debug/52433.cc: Likewise.
1944 * testsuite/23_containers/vector/debug/60499.cc: Likewise.
1945 * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
7a461e27
JW
1946 * testsuite/23_containers/vector/debug/
1947 iterator_self_move_assign_neg.cc: Likewise.
1948 * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
684211e1 1949 Likewise.
684211e1
MW
1950 * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
1951 * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
1952 * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
1953 * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
1954 * testsuite/29_atomics/atomic/60658.cc: Likewise.
1955 * testsuite/29_atomics/atomic/60695.cc: Likewise.
1956 * testsuite/29_atomics/atomic/62259.cc: Likewise.
1957 * testsuite/29_atomics/atomic/64658.cc: Likewise.
1958 * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
1959 * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
7a461e27
JW
1960 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
1961 Likewise.
684211e1 1962
25011292
JW
19632016-09-11 Jonathan Wakely <jwakely@redhat.com>
1964
1965 * libsupc++/new_opant.cc: Include exception_defines.h.
1966 * libsupc++/new_opvant.cc: Likewise.
1967
af63ba4b
JM
19682016-09-09 Jason Merrill <jason@redhat.com>
1969
1970 Implement P0035R4, C++17 new of over-aligned types.
1971 * libsupc++/new: Declare aligned new/delete operators.
1972 * config/abi/pre/gnu.ver: Export them.
1973 * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
1974 _aligned_malloc.
1975 * libsupc++/new_opa.cc: New.
1976 * libsupc++/new_opant.cc: New.
1977 * libsupc++/new_opva.cc: New.
1978 * libsupc++/new_opva.cc: New.
1979 * libsupc++/del_opa.cc: New.
1980 * libsupc++/del_opant.cc: New.
1981 * libsupc++/del_opsa.cc: New.
1982 * libsupc++/del_opva.cc: New.
1983 * libsupc++/del_opvant.cc: New.
1984 * libsupc++/del_opvsa.cc: New.
1985 * libsupc++/Makefile.am: Build them.
1986
f75d5999
TS
19872016-09-05 Tim Shen <timshen@google.com>
1988
1989 * include/std/variant: include bits/move.h for std::addressof.
1990
eddca7bd
MS
19912016-09-05 Mikhail Strelnikov <mikhail.strelnikov@gmail.com>
1992
7a461e27
JW
1993 * include/std/variant (_Variant_storage::_M_storage()): Use
1994 std::addressof instead of operator& to take address.
eddca7bd 1995
5a810362
MK
19962016-09-02 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
1997
1998 * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
1999 setrlimit on both native and cross targets.
2000 * configure: Regenerate.
2001
3625264f
JW
20022016-08-31 Jonathan Wakely <jwakely@redhat.com>
2003
7663cae2
JW
2004 * include/bits/shared_ptr.h (_Assignable): New alias template.
2005 (shared_ptr::operator=(const shared_ptr<_Tp1>&))
2006 (shared_ptr::operator=(shared_ptr<_Tp1>&&))
2007 (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
2008 _Assignable.
2009 * include/bits/shared_ptr_base.h (_Assignable): New alias template.
2010 (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
2011 (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
2012 (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
2013 _Assignable.
2014 (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
2015 (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
2016 _Convertible.
2017 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
2018 match on any line.
2019 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2020 * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
2021 * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
2022 expected errors. Remove unnecessary code.
2023 * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
2024
e46d22a8
JW
2025 * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
2026 comparison object.
2027 * testsuite/23_containers/set/move_comparison.cc: New test.
2028
3625264f
JW
2029 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
2030 New test.
2031
7875b41f
VV
20322016-08-30 Ville Voutilainen <ville.voutilainen@gmail.com>
2033
2034 PR libstdc++/77395
2035 * include/std/type_traits (is_constructible): Forward-declare...
2036 (__is_base_to_derived_ref): ...and use here.
2037 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
2038 * testsuite/20_util/is_constructible/77395.cc: New.
2039 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
2040 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2041 Likewise.
2042 * testsuite/20_util/tuple/77395.cc: New.
2043
e1becf59
UB
20442016-08-30 Uros Bizjak <ubizjak@gmail.com>
2045
2046 * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
2047 directive above dg-require-namedlocale directive.
2048 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
2049 * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
2050 * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
2051 * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
2052 * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
2053
4aebb4e4
TS
20542016-08-27 Tim Shen <timshen@google.com>
2055
2056 PR libstdc++/77356
2057 * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
2058 _M_expression_term): Modify to support dash literal.
2059 * include/bits/regex_scanner.h: Add dash as a token type to make
2060 a different from the mandated dash literal by escaping.
2061 * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
2062 token in bracket expression parsing.
2063 * testsuite/28_regex/regression.cc: Add new testcases.
2064
52066eae
JW
20652016-08-26 Jonathan Wakely <jwakely@redhat.com>
2066
10491e4c
JW
2067 PR libstdc++/51960
2068 * doc/xml/manual/intro.xml: Document DR 2127 change.
2069 * doc/html/*: Regenerate.
2070 * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
2071 (operator++(), operator++(int)): Use injected class name.
2072 * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
2073
52066eae
JW
2074 * testsuite/*: Use { target c++11 } or { target c++14 } instead of
2075 using -std in dg-options.
2076
e8223484
JW
20772016-08-26 Jonathan Wakely <jwakely@redhat.com>
2078 Pedro Alves <palves@redhat.com>
2079
2080 * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
2081 and restore dg-interpreter-batch-mode.
2082 * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
2083 gdb-dg-runtest instead of dg-runtest.
2084 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
2085
86bbf15b
JW
20862016-08-26 Jonathan Wakely <jwakely@redhat.com>
2087
2088 * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
2089 precise patterns for basic_string constructors.
2090 (GLIBCXX_3.4.23): Export new constructors.
2091 * doc/xml/manual/intro.xml: Document LWG 2583 status.
2092 * doc/html/*: Regenerate.
2093 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
2094 (basic_string(const basic_string&, size_type, const Alloc&)): Add
2095 new constructor for LWG 2583.
2096 (basic_string(const basic_string&, size_type, size_type)): Remove
2097 default argument.
2098 [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
2099 * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
2100 * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
2101 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
2102
9a38acdf
AK
21032016-08-24 Aditya Kumar <hiraditya@msn.com>
2104
2105 * include/bits/algorithmfwd.h: Remove trailing whitespace.
2106 * include/bits/shared_ptr_base.h: Likewise.
2107
06db9920
JW
21082016-08-23 Jonathan Wakely <jwakely@redhat.com>
2109
e90a8010
JW
2110 * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
2111 * include/profile/array (array): Likewise.
2112 (array::swap): Fix exception specification for zero-sized arrays.
2113
5ea387db
JW
2114 PR libstdc++/77334
2115 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
2116 (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
2117 * testsuite/23_containers/map/77334.cc: New test.
2118
5d1c6b3e
JW
2119 * doc/xml/manual/using.xml: Remove reference to -pthreads option.
2120 * doc/html/*: Regenerate.
2121
457c4a3f
JW
2122 * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
2123 * testsuite/experimental/feat-lib-fund.cc: Likewise.
2124
b405d54f
JW
2125 PR libstdc++/71771
2126 * include/bits/stl_iterator.h
2127 (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
2128 define for C++98 mode.
2129 (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
2130 * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
2131 -std=gnu++98.
2132 * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
2133 * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
2134 * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
2135 * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
2136 difference operator.
2137 * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
2138 difference operator for C++98.
2139 * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
2140
06db9920
JW
2141 * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
2142 * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
2143 (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
2144 * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
2145 (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
2146 Likewise.
2147 * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
2148 _GLIBCXX14_CONSTEXPR.
2149 (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
2150 * include/std/array (array::begin, array::end, array::rbegin)
2151 (array::rend, array::cbegin, array:cend, array::crbegin)
2152 (array::crend, array::operator[], array::at, array::front)
2153 (array::back, array::data): Likewise.
2154 * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
2155 with separate tests for C++11, C++14, and C++17.
2156 * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
2157 * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
2158 * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
2159
d79d6252
TS
21602016-08-22 Tim Shen <timshen@google.com>
2161
2162 Split _M_dfs() into smaller functions.
2163 * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
2164 (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
2165 (_M_handle_line_end_assertion, _M_handle_word_boundary)
2166 (_M_handle_subexpr_lookahead, _M_handle_match)
2167 (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
2168 Add separate function declarations.
2169 * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
2170
27abac26
GN
21712016-08-22 Gleb Natapov <gleb@scylladb.com>
2172
2173 PR libstdc++/68297
2174 * config/abi/pre/gnu-versioned-namespace.ver: Export
2175 __cxa_init_primary_exception and std::exception_ptr(void*).
2176 * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
2177 export __cxa_init_primary_exception and std::exception_ptr(void*).
2178 * include/Makefile.am: Add new headers.
2179 * include/Makefile.in: Regenerate.
2180 * libsupc++/Makefile.am: Add new headers.
2181 * libsupc++/Makefile.in: Regenerate.
2182 * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
2183 * libsupc++/cxxabi_init_exception.h: New header.
2184 (__cxa_init_primary_exception): Declare.
2185 * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
2186 (__cxa_throw): Use __cxa_init_primary_exception.
2187 * libsupc++/exception (std::exception): Move to ...
2188 * libsupc++/exception.h: New header.
2189 * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
2190 friend declaration.
2191 (__exception_ptr::__dest_thunk): New function template.
2192 (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
2193 Use __cxa_allocate_exception and __cxa_init_primary_exception to
2194 create exception_ptr.
2195 * libsupc++/typeinfo: Include bits/exception.h instead of exception.
2196 * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
2197
94f54d47
JW
21982016-08-22 Jonathan Wakely <jwakely@redhat.com>
2199
4c86ffcc
JW
2200 * doc/xml/api.xml: Replace hardcoded links for specific versions with
2201 link to docs for all releases.
2202 * doc/html/*: Regenerate.
2203
94f54d47
JW
2204 PR libstdc++/77322
2205 * doc/xml/manual/intro.xml: Document DR 2062 change.
2206 * include/std/functional (function::swap): Add noexcept.
2207 (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
2208 * testsuite/20_util/function/77322.cc: New test.
2209
1f4ed04e
JW
22102016-08-19 Jonathan Wakely <jwakely@redhat.com>
2211
71c54f8e
JW
2212 * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
2213 *-*-solaris* instead of -pthreads.
2214 * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
2215 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
2216 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
2217 * testsuite/23_containers/list/pthread1.cc: Likewise.
2218 * testsuite/23_containers/list/pthread5.cc: Likewise.
2219 * testsuite/23_containers/map/pthread6.cc: Likewise.
2220 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
2221 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
2222 * testsuite/30_threads/shared_mutex/*: Likewise.
2223 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
2224 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2225 default_weaktoshared.cc: Likewise.
2226 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2227 mutex_weaktoshared.cc: Likewise.
2228 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
2229 dg-require-effective-target instead of using -std option.
2230 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
2231 Likewise.
2232 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
2233 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
2234 Likewise.
2235 * testsuite/30_threads/async/*: Likewise.
2236 * testsuite/30_threads/call_once/*: Likewise.
2237 * testsuite/30_threads/condition_variable/*: Likewise.
2238 * testsuite/30_threads/condition_variable_any/*: Likewise.
2239 * testsuite/30_threads/future/*: Likewise.
2240 * testsuite/30_threads/lock/*: Likewise.
2241 * testsuite/30_threads/mutex/*: Likewise.
2242 * testsuite/30_threads/packaged_task/*: Likewise.
2243 * testsuite/30_threads/promise/*: Likewise.
2244 * testsuite/30_threads/recursive_mutex/*: Likewise.
2245 * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
2246 * testsuite/30_threads/shared_future/*: Likewise.
2247 * testsuite/30_threads/shared_lock/*: Likewise.
2248 * testsuite/30_threads/shared_timed_mutex/*: Likewise.
2249 * testsuite/30_threads/this_thread/*: Likewise.
2250 * testsuite/30_threads/thread/*: Likewise.
2251 * testsuite/30_threads/timed_mutex/*: Likewise.
2252 * testsuite/30_threads/try_lock/*: Likewise.
2253 * testsuite/30_threads/unique_lock/*: Likewise.
2254
e6ee5bfd
JW
2255 * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
2256 * doc/html/*: Regenerate.
2257 * include/experimental/functional (_Not_fn, not_fn): Match C++17
2258 semantics.
2259 * include/std/functional (_Not_fn, not_fn): Define for C++17.
2260 * testsuite/20_util/not_fn/1.cc: New.
2261 * testsuite/experimental/functional/not_fn.cc: Test abstract class.
2262 Remove test for volatile-qualified wrapper.
2263
387edf83
JW
2264 * include/std/atomic (atomic::is_always_lock_free): Define.
2265 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
2266 * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
2267 * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
2268 * doc/xml/manual/status_cxx2017.xml: Update status.
2269 * doc/html/*: Regenerate.
2270
285ee2fb
JW
2271 * include/experimental/tuple (apply): Qualify call to __apply_impl.
2272 * include/std/tuple (apply): Likewise.
2273 * testsuite/experimental/system_error/value.cc: Fix ambiguities in
2274 C++17 mode.
2275 * testsuite/experimental/tuple/tuple_size.cc: Likewise.
2276 * testsuite/experimental/type_traits/value.cc: Likewise.
2277
1f4ed04e
JW
2278 * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
2279 and variant.
2280 * doc/html/*: Regenerate.
2281
a577f786
VV
22822016-08-18 Ville Voutilainen <ville.voutilainen@gmail.com>
2283
2284 Implement the latest proposed resolution of LWG 2756.
2285 * include/std/optional (Optional_base(const _Tp&))
2286 (Optional_base(_Tp&&), using _Base::_Base): Remove.
2287 (optional(nullopt_t)): New.
2288 (optional(_Up&&)): Invoke base directly with in_place
2289 rather than creating a temporary, add default template
2290 argument, change constraints.
2291 (optional(const optional<_Up>&)): Invoke base directly
2292 with in_place, remove unnecessary constraints.
2293 (optional(optional<_Up>&& __t)): Likewise.
2294 (optional(in_place_t, _Args&&...)): New.
2295 (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
2296 (operator=(_Up&&)): Add default template argument, change constraints.
2297 (operator=(const optional<_Up>&)): Put is_same first in the
2298 constraints.
2299 (operator=(optional<_Up>&&)): Likewise.
2300 * testsuite/20_util/optional/assignment/5.cc: Add a test to
2301 verify assignment from something that can't be perfect-forwarded.
2302 * testsuite/20_util/optional/cons/value.cc: Add tests to verify
2303 that a nested optional is disengaged when constructed
2304 from a disengaged element type, and to verify that assignments
2305 from an engaged element type engage the optional.
2306
197c757c
TS
23072016-08-18 Tim Shen <timshen@google.com>
2308
2309 Implement <variant>
2310
2311 * include/Makefile.am: Add new file std/variant.
2312 * include/Makefile.in: Generated from Makefile.am.
2313 * include/bits/enable_special_members.h: Add a tag type to allow
2314 the construction in non-default constructor.
2315 * include/bits/uses_allocator.h: Add convenience traits to
2316 detect constructibility.
2317 * include/std/variant: Implement <variant>.
2318 * testsuite/20_util/variant/compile.cc: Compile-time tests.
2319 * testsuite/20_util/variant/run.cc: Runtime tests.
2320
6cb98491
JW
23212016-08-18 Jonathan Wakely <jwakely@redhat.com>
2322
0b224dcf
JW
2323 * doc/xml/manual/test.xml (test.run.permutations): Expand section.
2324 (test.new_tests): Rewrite section.
2325 (tests.dg.directives): New section.
2326 * doc/html/*: Regenerate.
2327
b56d48ef
JW
2328 * doc/xml/manual/test.xml: Improve documentation of test targets.
2329 Document new-abi-baseline, check-debug, and check-parallel targets.
2330
409d5555
JW
2331 * doc/xml/manual/build_hacking.xml: New section on shared library
2332 versioning.
2333
a8107a98
JW
2334 * doc/xml/manual/build_hacking.xml: Improve markup.
2335 * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
2336 to "Testing".
2337 * doc/xml/faq.xml: Change link text to "Testing".
2338
6cb98491
JW
2339 * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
2340 dg-options directive.
2341
657213f7
JW
23422016-08-17 Jonathan Wakely <jwakely@redhat.com>
2343
6fbf26cc
JW
2344 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
2345 directive and use effective target instead of dg-options.
2346
18a20f3f
JW
2347 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
2348 instead of -std in dg-options.
2349 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
2350 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
2351 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
2352 * testsuite/20_util/hash/quality.cc: Likewise.
2353 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
2354 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
2355 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
2356 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
2357 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
2358 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
2359
f7717203
JW
2360 * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
2361 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
2362 * testsuite/27_io/rvalue_streams.cc: Likewise.
2363
e30c6e0c
JW
2364 * testsuite/26_numerics/complex/literals/types.cc: Add comment.
2365
e07f4b00
JW
2366 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
2367 Remove duplicate dg-options directive.
2368
37144e84
JW
2369 * testsuite/ext/profile/all.cc: Use effective target instead of
2370 -std=gnu++11. Use dg-additional-options instead of repeating options.
2371
8fe79e73
JW
2372 * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
2373 -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
2374 instead of dg-excess-errors.
2375
c4296692
JW
2376 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
2377 test for C++17.
2378 * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
2379 * testsuite/experimental/ratio/value.cc: Likewise.
2380 * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
2381 C++17.
2382 * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
2383 * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
2384 * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
2385 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
2386 * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
2387 * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
2388 * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
2389 * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
2390 * testsuite/tr1/5_numerical_facilities/special_functions/
2391 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
2392 C++17 compatibility.
2393
ba364478
JW
2394 * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
2395 expected signatures for C++14 compatibility.
2396
657213f7
JW
2397 PR libstdc++/77264
2398 * include/bits/basic_string.h (operator=(__sv_type)
2399 (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
2400 (replace(size_type, size_type, __sv_type))
2401 (replace(const_iterator, const_iterator, __sv_type))
2402 (find(__sv_type, size_type), rfind(__sv_type, size_type))
2403 (compare(size_type, size_type, __sv_type)): Reformat.
2404 (_If_sv): Define helper for SFINAE constaints.
2405 (append(const _Tp&, size_type, size_type))
2406 (assign(const _Tp&, size_type, size_type))
2407 (insert(size_type, const _Tp&, size_type, size_type))
2408 (replace(size_type, size_type, const _Tp&, size_type, size_type)):
2409 Use _If_sv.
2410 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
2411 SFINAE constraints.
2412 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
2413 Likewise.
2414 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
2415 Likewise.
2416 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
2417 Likewise.
2418 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
2419 Likewise.
2420 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
2421 Likewise.
2422 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
2423 Likewise.
2424 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
2425 Likewise.
2426 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
2427 Likewise.
2428 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
2429 Likewise.
2430 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
2431 Likewise.
2432
32917686
JW
24332016-08-16 Jonathan Wakely <jwakely@redhat.com>
2434
2435 PR libstdc++/72847
2436 * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
2437 pointers to start and end of storage.
2438 * testsuite/23_containers/vector/bool/72847.cc: New test.
2439 * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
2440 _M_finish after deallocating.
2441 (vector<bool>::_M_fill_insert): Likewise.
2442 (vector<bool>::_M_insert_range): Likewise.
2443 (vector<bool>::_M_insert_aux): Likewise.
2444
5c578ae4
VV
24452016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
2446
2447 Implement LWG 2744 and LWG 2754.
2448 * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
2449 (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
2450 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
2451 Likewise.
2452 (emplace(_Args&&...)): Likewise.
2453 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
2454 * include/std/utility: (__is_in_place_type_impl): New.
2455 (__is_in_place_type): Likewise.
2456 * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
2457 emplace.
2458 * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
2459 in_place constructor.
2460 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
2461 * testsuite/20_util/any/requirements.cc: Add a test for
2462 in_place-constructing a non-default-constructible type.
2463
24299f65
VV
24642016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
2465
2466 Add a feature macro for C++17 make_from_tuple.
2467 * include/std/tuple (__cpp_lib_make_from_tuple): New.
2468 (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
2469 Qualify the call to get<>().
2470 * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
2471
0657379e
UB
24722016-08-15 Uros Bizjak <ubizjak@gmail.com>
2473
2474 * src/filesystem/ops.cc: Always include ostream and
2475 ext/stdio_filebuf.h.
2476 (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
2477 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
2478 sendfile fails with ENOSYS or EINVAL.
2479
f9657322
TP
24802016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
2481
2482 PR libstdc++/72840
2483 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
2484 syntax.
2485
ca1ab6be
VV
24862016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
2487
2488 Implement C++17 make_from_tuple.
2489 * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
2490 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
2491
68a51b68
VV
24922016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
2493
2494 Implement LWG 2758.
2495 * include/bits/basic_string.h
2496 (append(__sv_type, size_type, size_type)): Turn into a template,
2497 change parameter type, constrain, add a conversion to __sv_type
2498 from the dependent parameter type.
2499 (assign(__sv_type, size_type, size_type)): Likewise.
2500 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
2501 (replace(size_type, size_type, __sv_type, size_type, size_type)):
2502 Likewise.
2503 (compare(size_type, size_type,__sv_type, size_type, size_type)):
2504 Likewise.
2505 * testsuite/21_strings/basic_string/lwg2758.cc: New.
2506
3e9f67e6
JW
25072016-08-06 Jonathan Wakely <jwakely@redhat.com>
2508
caee9cde
JW
2509 * doc/xml/manual/status_cxx2017.xml: Update status table.
2510 * doc/html/manual/status.html: Regenerate.
2511
ea2f1f49
JW
2512 * testsuite/lib/libstdc++.exp: Fix typo in comment.
2513
6ef835c6
JW
2514 PR libstdc++/72820
2515 * include/std/functional (_Function_base::_Base_manager::_M_clone):
2516 Qualify new operator.
2517 * testsuite/20_util/function/cons/72820.cc: New test.
2518
3e9f67e6
JW
2519 * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
2520 * doc/html/manual/status.html: Regenerate.
2521 * include/Makefile.am: Add new header.
2522 * include/Makefile.in: Regenerate.
2523 * include/bits/invoke.h: New header.
2524 (__invoke): Make constexpr. Add && to types in exception specification.
2525 * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
2526 names. Include <bits/invoke.h> and use std::__invoke.
2527 * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
2528 new header.
2529 (invoke): Add && to types in exception specification.
2530 * include/std/tuple (apply, __apply_impl): Define for C++17.
2531 * testsuite/20_util/tuple/apply/1.cc: New test.
2532 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
2533 lineno.
2534
98e6e662
JW
25352016-08-05 Jonathan Wakely <jwakely@redhat.com>
2536
a0b1bf21
JW
2537 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
2538 * doc/html/manual/status.html: Regenerate.
2539
5f6acdfb
JW
2540 * include/std/chrono (floor, ceil, round, abs): New for C++17.
2541 * testsuite/20_util/duration_cast/rounding.cc: New test.
2542 * testsuite/20_util/time_point_cast/rounding.cc: New test.
2543 * doc/xml/manual/status_cxx2017.xml: Update status table.
2544 * doc/html/manual/status.html: Regenerate.
2545 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
2546 dg-error lineno.
2547 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
2548 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
2549 * testsuite/20_util/duration/literals/range.cc: Likewise.
2550
98e6e662
JW
2551 * include/std/functional (__callable_functor): Remove.
2552 (_Function_handler::_M_invoke): Use __invoke instead of
2553 __callable_functor or mem_fn.
2554 (function::_Callable): Use lvalue in result_of expression.
2555 (function): Remove TODO comments about allocators.
2556 * testsuite/20_util/function/cons/refqual.cc: New test.
2557
7d2035fa
JW
25582016-08-04 Jonathan Wakely <jwakely@redhat.com>
2559
42183d03
JW
2560 * doc/xml/manual/status_cxx2017.xml: Update status table.
2561 * include/std/functional (__inv_unwrap): Move to <type_traits>.
2562 (__invoke_impl): Remove exception specifications.
2563 (__invoke, invoke): Add exception specifications using
2564 __is_nothrow_callable.
2565 * include/std/type_traits (__inv_unwrap): Move from <functional>.
2566 (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
2567 (__is_callable, __is_nothrow_callable): New traits.
2568 (is_callable, is_callable_v): New C++17 traits.
2569 (is_nothrow_callable, is_nothrow_callable_v): Likewise.
2570 * testsuite/20_util/is_callable/requirements/
2571 explicit_instantiation.cc: New test.
2572 * testsuite/20_util/is_callable/requirements/
2573 explicit_instantiation_ext.cc: New test.
2574 * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
2575 * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
2576 test.
2577 * testsuite/20_util/is_callable/value.cc: New test.
2578 * testsuite/20_util/is_callable/value_ext.cc: New test.
2579 * testsuite/20_util/is_nothrow_callable/requirements/
2580 explicit_instantiation.cc: New test.
2581 * testsuite/20_util/is_nothrow_callable/requirements/
2582 explicit_instantiation_ext.cc: New test.
2583 * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
2584 New test.
2585 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
2586 New test.
2587 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
2588 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
2589
246c618e
JW
2590 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
2591 * doc/html/manual/status.html: Regenerate.
2592
9a8e528c
JW
2593 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
2594 effective target not dg-options. Move check for feature-test macro to:
2595 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
2596 New test.
2597
7d2035fa
JW
2598 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
2599 (__invfwd): Adjust.
2600 (__invoke_impl): Remove unused template parameters.
2601 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
2602 parameter.
2603 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
2604 and test __invoke extension for C++11.
2605
27631a25
JW
26062016-08-03 Jonathan Wakely <jwakely@redhat.com>
2607
c7fdbdcd
JW
2608 * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
2609 Define feature-test macro.
2610 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
2611 for the macro.
2612
f21f4463
JW
2613 * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
2614 * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
2615 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
2616 * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
2617 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2618
32eaac9c
JW
2619 * include/std/utility (as_const): Define.
2620 * testsuite/20_util/as_const/1.cc: New test.
2621 * testsuite/20_util/as_const/rvalue_neg.cc: New test.
2622
b7dabce5
JW
2623 * include/bits/shared_ptr.h (owner_less): Add default template
2624 argument.
2625 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
2626 specialization.
2627 (owner_less<void>): Define specialization.
2628 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
2629 Update value.
2630 * testsuite/20_util/owner_less/void.cc: New test.
2631 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
2632
068c8ac1
JW
2633 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
2634 Define feature-test macro.
2635 * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
2636 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
2637 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
2638 (__cpp_lib_type_trait_variable_templates): Define.
2639
0bd9bdb4
JW
2640 * include/bits/stl_function.h: Remove commented-out macro.
2641 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
2642 Define feature-test macro.
2643 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
2644
f8571e51
JW
2645 * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
2646 C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
2647 true.
2648 * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
2649 do #error for C++17.
2650 * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
2651 of __STDCPP_WANT_MATH_SPEC_FUNCS__.
2652 * include/tr1/bessel_function.tcc: Likewise.
2653 * include/tr1/beta_function.tcc: Likewise.
2654 * include/tr1/cmath: Likewise.
2655 * include/tr1/ell_integral.tcc: Likewise.
2656 * include/tr1/exp_integral.tcc: Likewise.
2657 * include/tr1/gamma.tcc: Likewise.
2658 * include/tr1/hypergeometric.tcc: Likewise.
2659 * include/tr1/legendre_function.tcc: Likewise.
2660 * include/tr1/modified_bessel_func.tcc: Likewise.
2661 * include/tr1/poly_hermite.tcc: Likewise.
2662 * include/tr1/poly_laguerre.tcc: Likewise.
2663 * include/tr1/riemann_zeta.tcc: Likewise.
2664 * include/tr1/special_function_util.h: Likewise.
2665 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
2666
27631a25
JW
2667 * include/std/type_traits (has_trivial_default_constructor): Remove.
2668 (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
2669 * testsuite/20_util/has_trivial_copy_assign/requirements/
2670 explicit_instantiation.cc: Remove test.
2671 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2672 line number.
2673 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
2674 Likewise.
2675 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
2676 * testsuite/20_util/has_trivial_copy_constructor/requirements/
2677 explicit_instantiation.cc: Likewise.
2678 * testsuite/20_util/has_trivial_copy_constructor/requirements/
2679 typedefs.cc: Likewise.
2680 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
2681 * testsuite/20_util/has_trivial_default_constructor/requirements/
2682 explicit_instantiation.cc: Likewise.
2683 * testsuite/20_util/has_trivial_default_constructor/requirements/
2684 typedefs.cc: Likewise.
2685 * testsuite/20_util/has_trivial_default_constructor/value.cc:
2686 Likewise.
2687 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
2688 Check has_trivial_default_constructor, has_trivial_copy_constructor,
2689 and has_trivial_copy_assign are not defined.
2690 * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
2691 tests.
2692 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
2693 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
2694 dg-error line number.
2695 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2696 Likewise.
2697
69332dba
JW
26982016-08-02 Jonathan Wakely <jwakely@redhat.com>
2699
589a30d1
JW
2700 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
2701 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
2702 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
2703 Likewise.
2704 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
2705 Likewise.
2706 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
2707 Likewise.
2708 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
2709 Likewise.
2710 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
2711 Likewise.
2712 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
2713 Likewise.
2714
8bcd00bb
JW
2715 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
2716 comments.
2717
a4e1011c
JW
2718 * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
2719 dg-error to relevant line.
2720 * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
2721 Likewise.
2722 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
2723
64dde682
JW
2724 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
2725
807bd096
JW
2726 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
2727 options are present that aren't valid for C.
2728 * testsuite/abi/header_cxxabi.c: Likewise.
2729
8c65cd30
JW
2730 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
2731 check_value.cc: Do not add special functions to namespace std in TR1
2732 test.
2733
196c9e7a
JW
2734 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
2735 run for C++11 and later.
2736 * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
2737 Likewise.
2738 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
2739 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
2740 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
2741 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
2742 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
2743 Likewise.
2744 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
2745 Likewise.
2746 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
2747 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
2748 Likewise.
2749 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
2750 Likewise.
2751 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
2752 Likewise.
2753 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
2754 * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
2755 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
2756 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
2757 * testsuite/special_functions/03_beta/compile.cc: Likewise.
2758 * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
2759 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
2760 * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
2761 Likewise.
2762 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
2763 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
2764 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
2765 * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
2766 Likewise.
2767 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
2768 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
2769 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
2770 * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
2771 Likewise.
2772 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
2773 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
2774 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
2775 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
2776 Likewise.
2777 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
2778 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
2779 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
2780 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
2781 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
2782 Likewise.
2783 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
2784 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
2785 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
2786 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
2787 Likewise.
2788 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
2789 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
2790 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
2791 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
2792 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
2793 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
2794 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
2795 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
2796 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
2797 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
2798 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
2799 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
2800 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
2801 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
2802 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
2803 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
2804 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
2805 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
2806 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
2807 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
2808 * testsuite/special_functions/14_expint/compile.cc: Likewise.
2809 * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
2810 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
2811 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
2812 * testsuite/special_functions/15_hermite/compile.cc: Likewise.
2813 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
2814 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
2815 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
2816 * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
2817 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
2818 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
2819 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
2820 * testsuite/special_functions/17_legendre/compile.cc: Likewise.
2821 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
2822 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
2823 * testsuite/special_functions/18_riemann_zeta/check_value.cc:
2824 Likewise.
2825 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
2826 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
2827 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
2828 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
2829 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
2830 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
2831 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
2832 * testsuite/special_functions/20_sph_legendre/check_value.cc:
2833 Likewise.
2834 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
2835 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
2836 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
2837 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
2838 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
2839 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
2840
69332dba
JW
2841 * testsuite/tr1/5_numerical_facilities/special_functions/
2842 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
2843 of [[gnu::unused]].
2844 * testsuite/tr1/5_numerical_facilities/special_functions/
2845 09_cyl_bessel_j/check_value.cc: Likewise.
2846 * testsuite/tr1/5_numerical_facilities/special_functions/
2847 10_cyl_bessel_k/check_value.cc: Likewise.
2848 * testsuite/tr1/5_numerical_facilities/special_functions/
2849 11_cyl_neumann/check_value.cc: Likewise.
2850 * testsuite/tr1/5_numerical_facilities/special_functions/
2851 21_sph_bessel/check_value.cc: Likewise.
2852 * testsuite/tr1/5_numerical_facilities/special_functions/
2853 23_sph_neumann/check_value.cc: Likewise.
2854
e1539627
RO
28552016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2856
2857 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
2858 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2859 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2860 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
2861 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
2862 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
2863
c1b6948e
JW
28642016-08-02 Jonathan Wakely <jwakely@redhat.com>
2865
e877144d
JW
2866 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
2867 test if -flto used.
2868
c1b6948e
JW
2869 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
2870 additional flags for compiling libtestc++.a objects.
2871
9b46e4d6
JW
28722016-08-01 Jonathan Wakely <jwakely@redhat.com>
2873
92d58dee
JW
2874 * include/bits/basic_string.h (data() const): Update comment.
2875 (data()): Add non-const overload for C++17.
2876 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
2877 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
2878
0f86525a
JW
2879 * include/bits/basic_string.tcc: Disable explicit instantiation
2880 declarations for C++17.
2881
9839ff60
JW
2882 * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
2883 ignored "xfail" from { dg-do compile { xfail selector } } directive.
2884 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
2885 Likewise.
2886 * testsuite/26_numerics/headers/cmath/
2887 c99_classification_macros_c++11.cc: Likewise.
2888 * testsuite/26_numerics/headers/cmath/
2889 c99_classification_macros_c++98.cc: Likewise.
2890 * testsuite/26_numerics/headers/cmath/
2891 c99_classification_macros_c.cc: Likewise.
2892
cbcc9fe8
JW
2893 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
2894 for different construct/destroy counts in C++98 mode.
2895
74811472
JW
2896 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
2897
a02a61ee
JW
2898 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
2899 later.
2900 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
2901 Likewise.
2902
98b5fb3c
JW
2903 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
2904 C++98-compatible initialization for array.
2905
6f3b8891
JW
2906 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
2907 unused header and variable from compile-only test.
2908 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
2909 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
2910 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
2911 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
2912 Likewise.
2913
2ab794eb
JW
2914 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
2915 Remove duplicate dg-options directive.
2916
4d16871b
JW
2917 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
2918 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
2919
e3509835
JW
2920 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
2921 linker options from compile-only tests.
2922 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
2923 Likewise.
2924
9b46e4d6
JW
2925 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
2926 supported for C++11 and later.
2927 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
2928 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
2929
77c3c27e
UB
29302016-08-01 Uros Bizjak <ubizjak@gmail.com>
2931
2932 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
2933
f245e3a0
JW
29342016-07-31 Jonathan Wakely <jwakely@redhat.com>
2935
c4da1da2
JW
2936 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
2937 compile-only test.
2938
9d5b70b0
JW
2939 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
2940 Ensure test is compiled with optimization.
2941
ee628057
JW
2942 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2943 Adjust dg-prune-output pattern for error in C++98 mode.
2944
d23d1bee
JW
2945 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
2946 run for C++11 or later.
2947
f2738d6c
JW
2948 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
2949 test to not rely on GNU extension (escaped normal characters in POSIX
2950 BRE). Enable tests for other strings which are now supported.
2951
77f3d979
JW
2952 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
2953 c++11 instead of setting -std=gnu++14.
2954
3c040fa4
JW
2955 PR libstdc++/72745
2956 * include/std/array (get): Use positive message for static assertions.
2957 * include/std/functional (_Safe_tuple_element_t): Fix indentation.
2958 * include/std/tuple (tuple_element<I, tuple<>>): Add partial
2959 specialization for invalid indices, with static assertion.
2960 * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
2961
f245e3a0
JW
2962 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
2963 dg-error to relevant line.
2964 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
2965 Likewise.
2966 * testsuite/23_containers/forward_list/requirements/dr438/
2967 assign_neg.cc: Likewise.
2968 * testsuite/23_containers/forward_list/requirements/dr438/
2969 constructor_1_neg.cc: Likewise.
2970 * testsuite/23_containers/forward_list/requirements/dr438/
2971 constructor_2_neg.cc: Likewise.
2972 * testsuite/23_containers/forward_list/requirements/dr438/
2973 insert_neg.cc: Likewise.
2974 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
2975 Likewise.
2976 * testsuite/26_numerics/random/linear_congruential_engine/
2977 requirements/non_uint_neg.cc: Likewise.
2978 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
2979 Likewise. Also test for std::atomic_address.
2980
8c914227
VV
29812016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
2982
2983 Add missing variable traits, fix testsuite failures.
2984 * include/bits/uses_allocator.h (uses_allocator_v): New.
2985 * include/std/functional (is_bind_expression_v, is_placeholder_v):
2986 Likewise.
2987 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
2988 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
2989 * testsuite/20_util/duration/literals/range.cc: Likewise.
2990 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
2991 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
2992 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
2993 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
2994 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2995 Likewise.
2996 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
2997 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
2998 New.
2999
7523c5eb
JW
30002016-07-31 Jonathan Wakely <jwakely@redhat.com>
3001
2f297149
JW
3002 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
3003 not test 128-bit types.
3004 * testsuite/20_util/is_floating_point/value.cc: Likewise.
3005 * testsuite/20_util/is_integral/value.cc: Likewise.
3006 * testsuite/20_util/is_signed/value.cc: Likewise.
3007 * testsuite/20_util/is_unsigned/value.cc: Likewise.
3008 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
3009 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
3010 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
3011 Likewise.
3012 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
3013 Likewise.
3014
7523c5eb
JW
3015 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
3016
137422c8
VV
30172016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
3018
3019 Implement C++17 variable templates for type traits.
3020 * include/std/chrono (treat_as_floating_point_v): New.
3021 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
3022 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
3023 (ratio_greater_equal_v): Likewise.
3024 * include/std/system_error (is_error_code_enum_v)
3025 (is_error_condition_enum_v): Likewise.
3026 * include/std/tuple (tuple_size_v): Likewise.
3027 * type_traits (conjunction_v, disjunction_v, negation_v)
3028 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
3029 (is_array_v, is_pointer_v, is_lvalue_reference_v)
3030 (is_rvalue_reference_v, is_member_object_pointer_v)
3031 (is_member_function_pointer_v, is_enum_v, is_union_v)
3032 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
3033 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
3034 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
3035 (is_trivially_copyable_v, is_standard_layout_v)
3036 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
3037 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
3038 (is_constructible_v, is_default_constructible_v)
3039 (is_copy_constructible_v, is_move_constructible_v)
3040 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
3041 (is_destructible_v, is_trivially_constructible_v)
3042 (is_trivially_default_constructible_v)
3043 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
3044 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
3045 (is_trivially_move_assignable_v, is_trivially_destructible_v)
3046 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
3047 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
3048 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
3049 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
3050 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
3051 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
3052 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
3053 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
3054 Likewise.
3055 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
3056 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
3057 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
3058
0c4c4909
AS
30592016-07-29 Andreas Schwab <schwab@linux-m68k.org>
3060
3061 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
3062 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
3063 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
3064
fe97ccec
JW
30652016-07-29 Jonathan Wakely <jwakely@redhat.com>
3066
13ec6e5e
JW
3067 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
3068 * doc/html/manual/abi.html: Regenerate.
3069
62589e99
JW
3070 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
3071 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
3072 symbols.
3073 * configure: Regenerate.
3074 * testsuite/util/testsuite_abi.cc: Add new symbol version.
3075
fe97ccec
JW
3076 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
3077 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
3078 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
3079 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3080 Likewise.
3081 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
3082 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
3083 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
3084
2de6b254
JW
30852016-07-28 Jonathan Wakely <jwakely@redhat.com>
3086
1a2196e4
JW
3087 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
3088 Adjust dg-prune-output pattern for error in C++98 mode.
3089 * testsuite/23_containers/deque/requirements/dr438/
3090 constructor_1_neg.cc: Likewise.
3091 * testsuite/23_containers/deque/requirements/dr438/
3092 constructor_2_neg.cc: Likewise.
3093 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
3094 Likewise.
3095 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3096 Likewise.
3097 * testsuite/23_containers/list/requirements/dr438/
3098 constructor_1_neg.cc: Likewise.
3099 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
3100 Likewise.
3101 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3102 Likewise.
3103 * testsuite/23_containers/vector/requirements/dr438/
3104 constructor_1_neg.cc: Likewise.
3105 * testsuite/23_containers/vector/requirements/dr438/
3106 constructor_2_neg.cc: Likewise.
3107 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
3108 Likewise.
3109
e539b4ff
JW
3110 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
3111 for different construct/destroy counts in C++98 mode.
3112
c3c2f973
JW
3113 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
3114 dg-options to dg-additional-options so that default options are used.
3115 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
3116 Likewise.
3117 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
3118 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
3119 Likewise.
3120 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3121 Use dg-additional-options instead of repeating the common options.
3122
2de6b254
JW
3123 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
3124 dg-do compile directive.
3125 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
3126 dg-do directive.
3127 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
3128
ca8f2cb1
VV
31292016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
3130
3131 Implement std::string_view and P0254r2,
3132 Integrating std::string_view and std::string.
3133 * include/Makefile.am: Add string_view and string_view.tcc
3134 to the exported headers.
3135 * include/Makefile.in: Likewise.
3136 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
3137 (__sv_type): New.
3138 (basic_string(__sv_type, const _Alloc&)): Likewise.
3139 (operator=(__sv_type)): Likewise.
3140 (operator __sv_type()): Likewise.
3141 (operator+=(__sv_type)): Likewise.
3142 (append(__sv_type __sv)): Likewise.
3143 (append(__sv_type, size_type, size_type)): Likewise.
3144 (assign(__sv_type)): Likewise.
3145 (assign(__sv_type, size_type, size_type)): Likewise.
3146 (insert(size_type, __sv_type)): Likewise.
3147 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
3148 (replace(size_type, size_type, __sv_type)): Likewise.
3149 (replace(size_type, size_type, __sv_type, size_type, size_type)):
3150 Likewise.
3151 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
3152 (find(__sv_type, size_type)): Likewise.
3153 (rfind(__sv_type, size_type)): Likewise.
3154 (find_first_of(__sv_type, size_type)): Likewise.
3155 (find_last_of(__sv_type, size_type)): Likewise.
3156 (find_first_not_of(__sv_type, size_type)): Likewise.
3157 (find_last_not_of(__sv_type, size_type)): Likewise.
3158 (compare(__sv_type)): Likewise.
3159 (compare(size_type, size_type, __sv_type)): Likewise.
3160 (compare(size_type, size_type, __sv_type, size_type, size_type)):
3161 Likewise.
3162 * include/bits/string_view.tcc: New.
3163 * include/std/string_view: Likewise.
3164 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
3165 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
3166 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
3167 Likewise.
3168 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
3169 Likewise.
3170 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
3171 Likewise.
3172 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
3173 Likewise.
3174 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
3175 Likewise.
3176 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
3177 Likewise.
3178 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
3179 Likewise.
3180 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
3181 Likewise.
3182 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
3183 Likewise.
3184 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
3185 Likewise.
3186 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
3187 Likewise.
3188 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
3189 Likewise.
3190 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
3191 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
3192 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
3193 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
3194 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
3195 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
3196 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
3197 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
3198 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
3199 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
3200 Likewise.
3201 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
3202 Likewise.
3203 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
3204 Likewise.
3205 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
3206 Likewise.
3207 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
3208 Likewise.
3209 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
3210 Likewise.
3211 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
3212 Likewise.
3213 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
3214 Likewise.
3215 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
3216 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
3217 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
3218 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
3219 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
3220 Likewise.
3221 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
3222 Likewise.
3223 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
3224 Likewise.
3225 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
3226 Likewise.
3227 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
3228 Likewise.
3229 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
3230 Likewise.
3231 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
3232 Likewise.
3233 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
3234 Likewise.
3235 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
3236 Likewise.
3237 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
3238 Likewise.
3239 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
3240 Likewise.
3241 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
3242 Likewise.
3243 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
3244 Likewise.
3245 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
3246 Likewise.
3247 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
3248 Likewise.
3249 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
3250 Likewise.
3251 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
3252 Likewise.
3253 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
3254 Likewise.
3255 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
3256 Likewise.
3257 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
3258 Likewise.
3259 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
3260 Likewise.
3261 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
3262 Likewise.
3263 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
3264 Likewise.
3265 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
3266 Likewise.
3267 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
3268 Likewise.
3269 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
3270 Likewise.
3271 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
3272 Likewise.
3273 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
3274 Likewise.
3275 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
3276 Likewise.
3277 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
3278 Likewise.
3279 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
3280 Likewise.
3281 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
3282 Likewise.
3283 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
3284 Likewise.
3285 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
3286 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
3287 Likewise.
3288 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
3289 Likewise.
3290 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
3291 Likewise.
3292 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
3293 Likewise.
3294 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
3295 Likewise.
3296 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
3297 Likewise.
3298 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
3299 Likewise.
3300 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
3301 Likewise.
3302 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
3303 Likewise.
3304 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
3305 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
3306
427f68c6
JW
33072016-07-27 Jonathan Wakely <jwakely@redhat.com>
3308
3309 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
3310
a837417c
GC
33112016-07-25 Georeth Chow <georeth2010@gmail.com>
3312
3313 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
3314 _S_concat enumerator.
3315 * testsuite/ext/rope/6.cc: New test.
3316
19bb30c0
JW
33172016-07-25 Jonathan Wakely <jwakely@redhat.com>
3318
3319 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
3320 std::mt19937, std::thread and std::atomic to simplify test.
3321 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
3322
960637ac
JW
33232016-07-22 Jonathan Wakely <jwakely@redhat.com>
3324
8cab3d18
JW
3325 PR libstdc++/71964
3326 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
3327 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
3328 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
3329 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
3330 * testsuite/23_containers/set/allocator/71964.cc: New test.
3331
960637ac
JW
3332 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
3333 delete[] instead of delete.
3334
22620c14
JW
33352016-07-21 Jonathan Wakely <jwakely@redhat.com>
3336
8b649cd3
JW
3337 * include/experimental/propagate_const (propagate_const::__t): Rename
3338 to _M_t and remove comment. Qualify std::move and std::forward.
3339 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
3340
509b778f
JW
3341 * testsuite/23_containers/vector/zero_sized_allocations.cc:
3342 Define sized deallocation function.
3343 * testsuite/util/testsuite_new_operators.h:
3344 (operator delete(void*, const std::nothrow_t&)): Define nothrow
3345 deallocation function.
3346
e93a101f
JW
3347 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
3348 reads past the end of strings.
3349 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
3350 Likewise.
3351 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
3352 invalid array accesses.
3353 * testsuite/experimental/string_view/operations/compare/char/1.cc:
3354 Fix read past the end of string.
3355 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
3356
0a024155
JW
3357 * testsuite/24_iterators/container_access.cc: Fix missing returns.
3358 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
3359
22620c14
JW
3360 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
3361 leak) memory for arguments to placement delete.
3362 * testsuite/20_util/addressof/1.cc: Don't leak memory.
3363 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
3364 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
3365 Likewise.
3366
18407bfb
JW
33672016-07-20 Jonathan Wakely <jwakely@redhat.com>
3368
09a855ae
JW
3369 * doc/xml/manual/intro.xml: Document DR 2684 status.
3370 * doc/html/*: Regenerate.
3371
e87b7d52
JW
3372 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
3373 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
3374 (atomic_uint64_t): Define (LWG 2441).
3375 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
3376 lines.
3377 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
3378 the new types.
3379 * doc/xml/manual/intro.xml: Document DR 2441 status.
3380
07c772ed
JW
3381 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
3382 to use perfect forwarding (LWG 2328).
3383 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
3384 * doc/xml/manual/intro.xml: Document DR 2328 status.
3385
18407bfb
JW
3386 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
3387 static objects for catching nullptr as pointer to member types.
3388
40f3e913
VV
33892016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
3390
3391 Clean up optional's comments.
3392 * include/std/optional: Remove incorrect section headers
3393 from comments when redundant, replace bare section
3394 headers with more descriptive comments.
3395
479d0ed5
JW
33962016-07-15 Jonathan Wakely <jwakely@redhat.com>
3397
4f5f9962
JW
3398 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
3399 * include/bits/move.h: Likewise.
3400 * include/bits/postypes.h: Likewise.
3401 * include/debug/bitset: Likewise.
3402 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
3403 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
3404 comment.
3405 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
3406 * testsuite/util/thread/all.h: Likewise.
3407
d1129d45
JW
3408 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
3409 and adjust comment.
3410
479d0ed5
JW
3411 PR c++/58796
3412 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
3413 nullptr match handlers of pointer type.
3414
4db1cb44
ESR
34152016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
3416
3417 Implement C++17 P0025 clamp.
3418 * include/bits/algorithmfwd.h: Declare clamp overloads.
3419 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
3420 * testsuite/25_algorithms/clamp/1.cc: New test.
3421 * testsuite/25_algorithms/clamp/2.cc: New test.
3422 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
3423 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
3424 1.cc: New test.
3425 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
3426 pod.cc: New test.
3427
1ec0f763
VV
34282016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
3429
3430 Fix the constraints for any's assignment operator template to properly
3431 reject assignment from a non-copyable lvalue.
3432 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
3433 type for is_copy_constructible,
3434 * testsuite/20_util/any/requirements.cc: Add a test for
3435 non-copyable lvalues.
3436
0a2bf188
JW
34372016-07-14 Jonathan Wakely <jwakely@redhat.com>
3438
ea5ec6b7
JW
3439 * include/experimental/functional: Include <parallel/algorithm> in
3440 Parallel Mode.
3441
47d5cb3c
JW
3442 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
3443 for std::search.
3444
0a2bf188
JW
3445 PR libstdc++/70716
3446 * include/bits/forward_list.h (forward_list): Update doxygen comments
3447 to reflect allocator propagation semantics. Remove ambiguous
3448 statements about data being lost.
3449 * include/bits/stl_deque.h (deque): Likewise.
3450 * include/bits/stl_list.h (list): Likewise.
3451 * include/bits/stl_map.h (map): Likewise.
3452 * include/bits/stl_multimap.h (multimap): Likewise.
3453 * include/bits/stl_multiset.h (multiset): Likewise.
3454 * include/bits/stl_set.h (set): Likewise.
3455 * include/bits/stl_vector.h (vector): Likewise.
3456 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
3457 Likewise.
3458 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
3459 Likewise.
3460
25a69162
VV
34612016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
3462
3463 Implement P0032R3, Homogeneous interface for variant, any and optional,
3464 for the parts concerning any and optional.
3465 * include/std/any (_Storage()): Make constexpr and have it
3466 initialize _M_ptr.
3467 (any()): Make constexpr.
3468 (any(const any&)): Adjust.
3469 (any(any&&)): Likewise.
3470 (__any_constructible_t): New.
3471 (any(_ValueType&&)): Constrain.
3472 (any(in_place_type_t<_Tp>, _Args&&...)): New.
3473 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
3474 Likewise.
3475 (~any()): Adjust.
3476 (operator=(const any&)): Likewise.
3477 (operator=(any&&)): Likewise.
3478 (operator=(_ValueType&&)): Constrain.
3479 (emplace(_Args&&...)): New.
3480 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
3481 (clear()): Remove.
3482 (reset()): New.
3483 (swap(any&)): Adjust.
3484 (empty()): Remove.
3485 (has_value()): New.
3486 (type()): Adjust.
3487 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
3488 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
3489 (make_any(_Args&&...)): Likewise.
3490 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
3491 * include/std/optional (in_place_t, in_place): Remove.
3492 (bad_optional_access): Add a comment referring to LEWG 72.
3493 (emplace(_Args&&...)): Constrain.
3494 (has_value()): New.
3495 (reset()): Likewise.
3496 (make_optional(_Args&&...)): Likewise.
3497 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
3498 * include/std/utility (in_place_tag): New.
3499 (__in_place, __in_place_type, __in_place_index): Likewise.
3500 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
3501 (in_place(__in_place*)): Likewise.
3502 (in_place(__in_place_type<_Tp>*)): Likewise.
3503 (in_place(__in_place_index<_Idx>*)): Likewise.
3504 * testsuite/20_util/any/assign/1.cc: Adjust.
3505 * testsuite/20_util/any/assign/emplace.cc: New.
3506 * testsuite/20_util/any/assign/self.cc: Adjust.
3507 * testsuite/20_util/any/cons/1.cc: Likewise.
3508 * testsuite/20_util/any/cons/in_place.cc: New.
3509 * testsuite/20_util/any/make_any.cc: Likewise.
3510 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
3511 * testsuite/20_util/any/misc/swap.cc: Likewise.
3512 * testsuite/20_util/any/modifiers/1.cc: Likewise.
3513 * testsuite/20_util/any/requirements.cc: New.
3514 * testsuite/20_util/in_place/requirements.cc: Likewise.
3515 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
3516 * testsuite/20_util/optional/in_place.cc: Likewise.
3517 * testsuite/20_util/optional/make_optional.cc: Add tests for
3518 the new overloads of make_optional.
3519
c0d31471
VV
35202016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
3521
3522 Implement P0307R2, Making Optional Greater Equal Again.
3523 * include/experimental/optional (_Has_addressof): Fix the comment.
3524 * include/std/optional (_Has_addressof): Likewise.
3525 (operator=(_Up&&)): Constrain.
3526 (operator=(const optional<_Up>&)): Likewise.
3527 (operator=(optional<_Up>&&)): Likewise.
3528 (__optional_relop_t): New.
3529 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
3530 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
3531 Constrain and make transparent.
3532 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
3533 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
3534 Constrain and make transparent.
3535 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
3536 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
3537 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
3538 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
3539 (operator!=(const optional<_Tp>&, _Tp const&)):
3540 Constrain and make transparent.
3541 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
3542 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
3543 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
3544 (operator>(const optional<_Tp>&, const _Tp&)):
3545 Constrain and make transparent.
3546 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
3547 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
3548 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
3549 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
3550 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
3551 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
3552 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
3553 * testsuite/20_util/optional/relops/1.cc: Likewise.
3554 * testsuite/20_util/optional/relops/2.cc: Likewise.
3555 * testsuite/20_util/optional/relops/3.cc: Likewise.
3556 * testsuite/20_util/optional/relops/4.cc: Likewise.
3557 * testsuite/20_util/optional/requirements.cc: Add tests to verify
3558 that optional's relops are transparent and don't synthesize
3559 operators. Also test that assignment sfinaes.
3560
260d92cd
JW
35612016-07-13 Jonathan Wakely <jwakely@redhat.com>
3562
e383deac
JW
3563 PR libstdc++/71856
3564 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
3565 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
3566 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
3567 on _GLIBCXX_ASSERTIONS.
3568 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
3569 Include <unistd.h> for sleep.
3570 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
3571 * include/parallel/merge.h: Likewise.
3572 * include/parallel/multiway_merge.h: Likewise.
3573 * include/parallel/partition.h: Likewise.
3574 * include/parallel/queue.h: Likewise.
3575 * include/parallel/sort.h: Likewise.
3576 * testsuite/25_algorithms/headers/algorithm/
3577 parallel_algorithm_assert.cc: New.
3578
17f8dc93
JW
3579 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
3580 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
3581 Forward to different overload.
3582
260d92cd
JW
3583 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
3584 static.
3585
2d60da10
JW
35862016-07-13 Jonathan Wakely <jwakely@redhat.com>
3587
3588 Revert "Add non-const overload of std::string::data()".
3589
05505e9d
VV
35902016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
3591
86c0ec1d
VV
3592 Implement P0307R2, Making Optional Greater Equal Again.
3593 * include/experimental/optional (_Has_addressof): Fix the comment.
3594 * include/std/optional (_Has_addressof): Likewise.
3595 (operator=(_Up&&)): Constrain.
3596 (operator=(const optional<_Up>&)): Likewise.
3597 (operator=(optional<_Up>&&)): Likewise.
3598 (__optional_relop_t): New.
3599 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
3600 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
3601 Constrain and make transparent.
3602 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
3603 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
3604 Constrain and make transparent.
3605 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
3606 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
3607 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
3608 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
3609 (operator!=(const optional<_Tp>&, _Tp const&)):
3610 Constrain and make transparent.
3611 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
3612 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
3613 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
3614 (operator>(const optional<_Tp>&, const _Tp&)):
3615 Constrain and make transparent.
3616 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
3617 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
3618 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
3619 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
3620 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
3621 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
3622 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
3623 * testsuite/20_util/optional/relops/1.cc: Likewise.
3624 * testsuite/20_util/optional/relops/2.cc: Likewise.
3625 * testsuite/20_util/optional/relops/3.cc: Likewise.
3626 * testsuite/20_util/optional/relops/4.cc: Likewise.
3627 * testsuite/20_util/optional/requirements.cc: Add tests to verify
3628 that optional's relops are transparent and don't synthesize
3629 operators. Also test that assignment sfinaes.
3630
ceea48fc
JW
36312016-07-13 Jonathan Wakely <jwakely@redhat.com>
3632
3633 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
3634 New function.
3635 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
3636 instead of _M_data().
3637 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
3638 Likewise.
3639 (append(const basic_string&)): Likewise.
3640 (append(const basic_string&, size_type, size_type)): Likewise.
3641 (assign(const basic_string&, size_type, size_type)): Likewise.
3642 (insert(size_type, const basic_string&)): Likewise.
3643 (insert(size_type, const basic_string&, size_type, size_type)):
3644 Likewise.
3645 (replace(size_type, size_type, const basic_string&, size_type,
3646 size_type)): Likewise.
3647 (replace(__const_iterator, __const_iterator, const basic_string&)):
3648 Likewise.
3649 (c_str(), data()): Use c_str() instead of _M_data().
3650 (data()): Add non-const overload as per LWG 2391 and P0272R1.
3651 (compare(const basic_string&)): Use data() instead of _M_data().
3652 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
3653 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
3654 Pass raw pointers to _S_copy.
3655 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
3656 _S_assign.
3657 (find(const _CharT*, size_type, size_type)): Use data instead of
3658 _M_data().
3659 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
3660 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
3661 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
3662
17b31c05
JW
36632016-07-12 Jonathan Wakely <jwakely@redhat.com>
3664
7cbadfdc
JW
3665 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
3666 * doc/xml/manual/intro.xml: Document DR 2458 status.
3667 * doc/html*: Regenerate.
3668
1b24fb4c
JW
3669 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
3670 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
3671 Only include <array>.
3672 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
3673 Likewise.
1b1c16e0 3674 * doc/xml/manual/intro.xml: Document LWG 2212 support.
1b24fb4c
JW
3675 * doc/html*: Regenerate.
3676
17b31c05
JW
3677 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
3678 Add testcase from LWG 2164.
3679
76225d2c
FD
36802016-07-11 François Dumont <fdumont@gcc.gnu.org>
3681
3682 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
3683 to _M_realloc_insert.
3684 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
3685 (_M_realloc_insert): Declare new function.
3686 (_M_emplace_back_aux): Remove definition.
3687 * include/bits/vector.tcc (emplace_back(_Args...)):
3688 Use _M_realloc_insert.
3689 (insert(const_iterator, const value_type&)): Likewise.
3690 (_M_insert_rval, _M_emplace_aux): Likewise.
3691 (_M_emplace_back_aux): Remove declaration.
3692 (_M_realloc_insert): Define.
3693 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
3694 Adjust expected results for emplacing an lvalue with reallocation.
3695
435e56fb
VV
36962016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
3697
3698 Implement std::optional.
3699 * include/Makefile.am: Add optional to exported headers.
3700 * include/Makefile.in: Likewise.
3701 * include/std/optional: New.
3702 * testsuite/20_util/optional/typedefs.cc: Likewise.
3703 * testsuite/20_util/optional/relops/2.cc: Likewise.
3704 * testsuite/20_util/optional/relops/3.cc: Likewise.
3705 * testsuite/20_util/optional/relops/4.cc: Likewise.
3706 * testsuite/20_util/optional/relops/5.cc: Likewise.
3707 * testsuite/20_util/optional/relops/1.cc: Likewise.
3708 * testsuite/20_util/optional/relops/6.cc: Likewise.
3709 * testsuite/20_util/optional/nullopt.cc: Likewise.
3710 * testsuite/20_util/optional/in_place.cc: Likewise.
3711 * testsuite/20_util/optional/make_optional.cc: Likewise.
3712 * testsuite/20_util/optional/assignment/2.cc: Likewise.
3713 * testsuite/20_util/optional/assignment/3.cc: Likewise.
3714 * testsuite/20_util/optional/assignment/4.cc: Likewise.
3715 * testsuite/20_util/optional/assignment/5.cc: Likewise.
3716 * testsuite/20_util/optional/assignment/1.cc: Likewise.
3717 * testsuite/20_util/optional/assignment/6.cc: Likewise.
3718 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
3719 * testsuite/20_util/optional/cons/default.cc: Likewise.
3720 * testsuite/20_util/optional/cons/move.cc: Likewise.
3721 * testsuite/20_util/optional/cons/value.cc: Likewise.
3722 * testsuite/20_util/optional/cons/copy.cc: Likewise.
3723 * testsuite/20_util/optional/requirements.cc: Likewise.
3724 * testsuite/20_util/optional/observers/2.cc: Likewise.
3725 * testsuite/20_util/optional/observers/3.cc: Likewise.
3726 * testsuite/20_util/optional/observers/4.cc: Likewise.
3727 * testsuite/20_util/optional/observers/5.cc: Likewise.
3728 * testsuite/20_util/optional/observers/1.cc: Likewise.
3729 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
3730 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
3731 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
3732 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
3733 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
3734 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
3735 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
3736 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
3737 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
3738 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
3739 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
3740 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
3741 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
3742 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
3743 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
3744 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
3745 * testsuite/20_util/optional/swap/1.cc: Likewise.
3746
d81102f4
JW
37472016-07-08 Jonathan Wakely <jwakely@redhat.com>
3748
3749 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
3750
9fc0faf0
JW
37512016-07-07 Jonathan Wakely <jwakely@redhat.com>
3752
3753 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
3754 * doc/html/*: Regenerate.
3755
52e86221
VV
37562016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
3757
3758 Implement std::any.
3759 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
3760 * include/Makefile.in: Likewise.
3761 * include/std/any: New.
3762 * testsuite/20_util/any/assign/1.cc: Likewise.
3763 * testsuite/20_util/any/assign/2.cc: Likewise.
3764 * testsuite/20_util/any/assign/self.cc: Likewise.
3765 * testsuite/20_util/any/cons/1.cc: Likewise.
3766 * testsuite/20_util/any/cons/2.cc: Likewise.
3767 * testsuite/20_util/any/cons/aligned.cc: Likewise.
3768 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
3769 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
3770 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
3771 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
3772 * testsuite/20_util/any/misc/swap.cc: Likewise.
3773 * testsuite/20_util/any/modifiers/1.cc: Likewise.
3774 * testsuite/20_util/any/observers/type.cc: Likewise.
3775 * testsuite/20_util/any/typedefs.cc: Likewise.
3776
3042e708
VV
37772016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
3778
3779 Add a new header for diagnosing the use of C++17 facilities
3780 in pre-C++17 modes.
3781 * include/bits/c++17_warning.h: New.
3782
6ffe8548
VV
37832016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
3784
3785 Implement LWG 2451, optional<T> should 'forward' T's
3786 implicit conversions.
3787 * include/experimental/optional (__is_optional_impl, __is_optional):
3788 New.
3789 (optional()): Make constexpr and default.
3790 (optional(_Up&&), optional(const optional<_Up>&),
3791 optional(optional<_Up>&& __t): New.
3792 (operator=(_Up&&)): Constrain.
3793 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
3794 * testsuite/experimental/optional/cons/value.cc:
3795 Add tests for the functionality added by LWG 2451.
3796 * testsuite/experimental/optional/cons/value_neg.cc: New.
3797
7d4f48b5
VV
37982016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
3799
3800 Implement LWG 2509,
3801 any_cast doesn't work with rvalue reference targets and cannot
3802 move with a value target.
3803 * include/experimental/any (any(_ValueType&&)): Constrain and
3804 add an overload that doesn't forward.
3805 (any_cast(any&&)): Constrain and add an overload that moves.
3806 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
3807 the functionality added by LWG 2509.
3808
097e8994
FD
38092016-07-04 François Dumont <fdumont@gcc.gnu.org>
3810
3811 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
3812 New test.
3813 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
3814 test.
3815
9958c7eb
JW
38162016-07-04 Jonathan Wakely <jwakely@redhat.com>
3817
3818 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
3819 Define inline. Forward to _M_emplace_aux.
3820 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
3821 (_M_insert_rval, _M_emplace_aux): Declare new functions.
3822 (_Temporary_value): New RAII type using allocator to construct/destroy.
3823 (_S_insert_aux_assign): Remove.
3824 (_M_insert_aux): Make non-variadic.
3825 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
3826 Use _Temporary_value.
3827 (emplace(const_iterator, _Args&&...)): Remove definition.
3828 (_M_insert_rval, _M_emplace_aux): Define.
3829 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
3830 (_M_fill_insert): Use _Temporary_value.
3831 * testsuite/23_containers/vector/allocator/construction.cc: New test.
3832 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
3833 Adjust expected results for emplacing an lvalue with reallocation.
3834 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
3835 expected results to account for construction/destruction of temporary
3836 using allocator.
3837 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
3838
e12880f9
VV
38392016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
3840
3841 PR libstdc++/71313
3842 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
3843 Call remove_all for children of a directory.
3844 * testsuite/experimental/filesystem/operations/create_directories.cc:
3845 Adjust.
3846
6c539f2e
FD
38472016-07-02 François Dumont <fdumont@gcc.gnu.org>
3848
3849 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
3850 dg-error line numbers.
3851 * testsuite/23_containers/array/tuple_interface/
3852 tuple_element_debug_neg.cc: Likewise.
3853 * testsuite/25_algorithms/lexicographical_compare/debug/
3854 irreflexive_neg.cc: Remove.
3855
72fb6bae
TP
38562016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
3857
3858 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
3859 than specific target.
3860
dc448fa0
FD
38612016-06-27 François Dumont <fdumont@gcc.gnu.org>
3862
3863 PR libstdc++/71640
3864 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
3865 friend declaration.
3866
e615c24c
FD
38672016-06-23 François Dumont <fdumont@gcc.gnu.org>
3868
3869 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
3870 zero-size array.
3871
0609abda
TS
38722016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3873
3874 * configure.host: Remove mep-* support.
3875
8466af06
TS
38762016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3877
3878 * configure: Regenerate.
3879 * configure.host: Remove support for knetbsd.
3880 * crossconfig.m4: Likewise.
3881
29dbb034
FD
38822016-06-20 François Dumont <fdumont@gcc.gnu.org>
3883
3884 PR libstdc++/71181
3885 * include/tr1/hashtable_policy.h
3886 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
3887 dereferenceable to avoid check on lower_bound result.
3888 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
3889 (_Prime_rehash_policy::_M_need_rehash): Likewise.
3890 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
3891 Always return a value greater than input value. Set _M_next_resize to
3892 max value when reaching highest prime number.
3893 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
3894 being now useless.
3895 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
3896 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
3897 (test02): New.
3898 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
3899 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
3900 Fix indentation.
3901
3ebacabd
JW
39022016-06-17 Jonathan Wakely <jwakely@redhat.com>
3903
3904 PR libstdc++/71545
3905 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
3906 Remove irreflexive checks.
3907 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
3908 binary_search): Likewise.
3909 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
3910 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
3911 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
3912 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
3913 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
3914 Add constructor from array.
3915
bd2ee798
FD
39162016-06-16 François Dumont <fdumont@gcc.gnu.org>
3917
3918 * include/debug/debug.h
3919 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
3920 (__glibcxx_requires_subscript): Move...
3921 * include/debug/assertions.h: ...here and add __builtin_expect.
3922 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
3923 * include/bits/stl_deque.h
3924 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
3925 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
3926 (std::deque<>::back()): Likewise.
3927 (std::deque<>::pop_front()): Likewise.
3928 (std::deque<>::pop_back()): Likewise.
3929 (std::deque<>::swap(deque&)): Add allocator check.
3930 * include/bits/stl_vector.h
3931 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
3932 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
3933 (std::vector<>::back()): Likewise.
3934 (std::vector<>::pop_back()): Likewise.
3935 (std::vector<>::swap(vector&)): Add allocator check.
3936
6b9539e2
DK
39372016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
3938
3939 Provide swappable traits (p0185r1)
3940 * include/std/type_traits (is_swappable, is_nothrow_swappable,
3941 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
3942 is_nothrow_swappable_v, is_swappable_with_v,
3943 is_nothrow_swappable_with_v): New.
3944 * include/bits/stl_pair.h: Use it as per p0185r1.
3945 * include/bits/stl_queue.h: Likewise.
3946 * include/bits/stl_stack.h: Likewise.
3947 * include/bits/unique_ptr.h: Likewise.
3948 * include/std/tuple: Likewise.
3949 * include/std/array: Likewise. Fix zero-size member swap.
3950 * include/bits/hashtable.h: Use __and_.
3951 * testsuite/20_util/is_nothrow_swappable/requirements/
3952 explicit_instantiation.cc: Change test options to std=gnu++17.
3953 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
3954 Likewise.
3955 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
3956 * testsuite/20_util/is_swappable/requirements/
3957 explicit_instantiation.cc: Likewise.
3958 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
3959 * testsuite/20_util/is_swappable/value.cc: Likewise.
3960 * testsuite/20_util/is_nothrow_swappable/requirements/
3961 explicit_instantiation_ext.cc: New.
3962 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
3963 New.
3964 * testsuite/20_util/is_nothrow_swappable/value.h: New.
3965 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
3966 * testsuite/20_util/is_nothrow_swappable_with/requirements/
3967 explicit_instantiation.cc: New.
3968 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
3969 New.
3970 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
3971 * testsuite/20_util/is_swappable/requirements/
3972 explicit_instantiation_ext.cc: New.
3973 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
3974 * testsuite/20_util/is_swappable/value.h: New.
3975 * testsuite/20_util/is_swappable/value_ext.cc: New.
3976 * testsuite/20_util/is_swappable_with/requirements/
3977 explicit_instantiation.cc: New.
3978 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
3979 * testsuite/20_util/is_swappable_with/value.cc: New.
3980 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
3981 dg-error line numbers.
3982 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
3983 Likewise.
3984
0ae207e9
JW
39852016-06-16 Jonathan Wakely <jwakely@redhat.com>
3986
33ac58d5
JW
3987 * include/std/array: Remove trailing whitespace.
3988 * include/std/atomic: Likewise.
3989 * include/std/bitset: Likewise.
3990 * include/std/chrono: Likewise.
3991 * include/std/complex: Likewise.
3992 * include/std/condition_variable: Likewise.
3993 * include/std/fstream: Likewise.
3994 * include/std/functional: Likewise.
3995 * include/std/future: Likewise.
3996 * include/std/iomanip: Likewise.
3997 * include/std/iosfwd: Likewise.
3998 * include/std/istream: Likewise.
3999 * include/std/limits: Likewise.
4000 * include/std/ratio: Likewise.
4001 * include/std/scoped_allocator: Likewise.
4002 * include/std/sstream: Likewise.
4003 * include/std/stdexcept: Likewise.
4004 * include/std/string: Likewise.
4005 * include/std/system_error: Likewise.
4006 * include/std/thread: Likewise.
4007 * include/std/tuple: Likewise.
4008 * include/std/type_traits: Likewise.
4009 * include/std/utility: Likewise.
4010 * include/std/valarray: Likewise.
4011 * include/std/vector: Likewise.
4012
0ae207e9
JW
4013 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
4014 new overloaded functions.
4015 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
4016 to avoid creating a redundant temporary.
4017 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
4018 test.
4019
d7e16fc5
FD
40202016-06-15 François Dumont <fdumont@gcc.gnu.org>
4021
4022 * include/bits/stl_deque.h
4023 (std::deque<>::operator=): Call _M_assign_aux.
4024 (std::deque<>::assign(initializer_list<>)): Likewise.
4025 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
4026 (std::deque<>::insert(const_iterator, initializer_list<>)):
4027 Call _M_range_insert_aux.
4028 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
4029 Likewise.
4030 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
4031 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
4032 * include/bits/deque.tcc
4033 (std::deque<>::operator=): Call _M_range_insert_aux.
4034 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
4035 Likewise.
4036 * include/bits/stl_vector.h
4037 (std::vector<>::operator=): Call _M_assign_aux.
4038 (std::vector<>::assign(initializer_list<>)): Likewise.
4039 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
4040 (std::vector<>::insert(const_iterator, initializer_list<>)):
4041 Call _M_range_insert.
4042 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
4043
373c0095
FD
40442016-06-07 François Dumont <fdumont@gcc.gnu.org>
4045
4046 * include/std/tuple (_Head_base<>): Default specialization condition at
4047 type declaration.
4048
dbc6221f
VV
40492016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
4050
4051 Support allocators in tuples of zero size.
4052 * include/std/tuple (tuple<>::tuple(),
4053 tuple<>::tuple(allocator_arg_t, const _Alloc&),
4054 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
4055 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
4056
94229fb6
JW
40572016-06-06 Jonathan Wakely <jwakely@redhat.com>
4058
4059 PR libstdc++/71320
4060 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
4061 Add or remove permissions according to perms argument.
4062 * testsuite/experimental/filesystem/operations/permissions.cc: New
4063 test.
4064
7a667453
VV
40652016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
4066
4067 Protect allocator-overloads of tuple-from-tuple constructors
4068 from cases that would create dangling references.
4069 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
4070 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
4071 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
4072 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
4073
4acc3634
GP
40742016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
4075
4076 * doc/xml/manual/backwards_compatibility.xml: Adjust
4077 lists.debian.org link to https.
4078 * doc/html/manual/backwards.html: Regenerate.
4079
9020909e
JW
40802016-05-27 Jonathan Wakely <jwakely@redhat.com>
4081
4082 * doc/xml/manual/abi.xml: Adjust URL to use https.
4083 * doc/html/manual/*: Regenerate.
4084
b7021006
VV
40852016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
4086
4087 PR libstdc++/66338
4088 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
4089 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
4090 check for _NotSameTuple.
4091 * include/std/tuple (_TMCT): New.
4092 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
4093 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
4094 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
4095 const tuple<_UElements...>&)): Likewise.
4096 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
4097 tuple<_UElements...>&&)): Likewise.
4098 * testsuite/20_util/tuple/cons/66338.cc: New.
4099
834f4c43
JW
41002016-05-25 Jonathan Wakely <jwakely@redhat.com>
4101
c42d2288
JW
4102 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
4103 * configure: Regenerate.
4104 * config.h.in: Regenerate.
4105
834f4c43
JW
4106 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
4107 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
4108 Remove const qualification on function. Replace
4109 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
4110 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
4111 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
4112
732eb076
FD
41132016-05-24 François Dumont <fdumont@gcc.gnu.org>
4114
4115 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
4116 * include/bits/hashtable_policy.h
4117 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
4118 having load factor management.
4119 (_Mask_range_hashing): New.
4120 (__clp2): New.
4121 (_Power2_rehash_policy): New.
4122 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
4123 partial specializations only depend on whether iterators are constant
4124 or not.
4125 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
4126 test new hash policy.
4127 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
4128 Likewise.
4129 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
4130 Likewise.
4131 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
4132 Likewise.
4133 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
4134 Likewise.
4135 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
4136 New.
4137 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
4138 using the new hash policy.
4139 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
4140
8be062c6
JW
41412016-05-24 Jonathan Wakely <jwakely@redhat.com>
4142
4143 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
4144
447caf82
FD
41452016-05-23 François Dumont <fdumont@gcc.gnu.org>
4146
4147 * include/debug/safe_iterator.h
4148 (_Safe_iterator<>::operator->()): Implement using underlying iterator
4149 operator ->.
4150 * include/debug/safe_local_iterator.h
4151 (_Safe_local_iterator<>::operator->()): Likewise.
4152
11f8114b
TP
41532016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
4154
4155 * testsuite/experimental/memory_resource/1.cc: Add required argument
4156 to dg-require-atomic-builtins.
4157
541a9b10
JW
41582016-05-13 Jonathan Wakely <jwakely@redhat.com>
4159
4160 PR libstdc++/71073
4161 * include/debug/bitset: Add #pragma GCC system_header.
4162 * include/debug/deque: Likewise.
4163 * include/debug/list: Likewise.
4164 * include/debug/map: Likewise.
4165 * include/debug/set: Likewise.
4166 * include/debug/string: Likewise.
4167 * include/debug/unordered_map: Likewise.
4168 * include/debug/unordered_set: Likewise.
4169 * include/debug/vector: Likewise.
4170 * include/debug/functions.h: Adjust whitespace.
4171
068b220e
JW
41722016-05-12 Jonathan Wakely <jwakely@redhat.com>
4173
4174 PR libstdc++/71081
4175 * testsuite/experimental/memory_resource/1.cc: Require atomics.
4176
3d73ae6e
JW
41772016-05-11 Jonathan Wakely <jwakely@redhat.com>
4178
4179 PR libstdc++/71049
4180 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
4181 exception constructors with __sso_string parameters.
4182
d7187f9e
JW
41832016-05-10 Jonathan Wakely <jwakely@redhat.com>
4184
7f99d40a
JW
4185 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
4186 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
4187 Test begin and end functions.
4188 * testsuite/experimental/filesystem/iterators/
4189 recursive_directory_iterator.cc: Likewise.
4190
6fe673ad
JW
4191 PR libstdc++/71038
4192 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
4193 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
4194
77a87b2a
JW
4195 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
4196 Overload operator* to move from rvalues.
4197
f9a39467
JW
4198 PR libstdc++/71036
4199 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
4200 * testsuite/experimental/filesystem/operations/create_directory.cc:
4201 New test.
4202
6f0800d4
JW
4203 PR libstdc++/71037
4204 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
4205 base path to exception.
4206 * testsuite/experimental/filesystem/operations/canonical.cc: Test
4207 paths contained in exception.
4208
f10b2e1c
JW
4209 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
4210 using declaration.
4211
d7187f9e
JW
4212 PR libstdc++/71005
4213 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
4214 New type.
4215 (directory_iterator::operator++(int)): Return proxy.
4216 (recursive_directory_iterator::operator++(int)): Likewise.
4217 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
4218 Test post-increment.
4219 * testsuite/experimental/filesystem/iterators/
4220 recursive_directory_iterator.cc: Likewise.
4221
7972e246
JW
42222016-05-09 Jonathan Wakely <jwakely@redhat.com>
4223
4224 PR libstdc++/71004
4225 * testsuite/experimental/filesystem/iterators/
4226 recursive_directory_iterator.cc: Fix test02 to not call member
4227 functions on invalid iterator, and use VERIFY not assert.
4228
fb334765
VV
42292016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
4230
4231 Avoid endless run-time recursion for copying single-element
4232 tuples where the element type is by-value constructible
4233 from any type.
4234 * include/std/tuple (_NotSameTuple): New.
4235 * include/std/tuple (tuple(_UElements&&...): Use it.
4236 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
4237
e4cce0ce
JW
42382016-05-09 Jonathan Wakely <jwakely@redhat.com>
4239
4240 PR libstdc++/71004
4241 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
4242 Initialize scalar member variables in default constructor.
4243 * testsuite/experimental/filesystem/iterators/
d7187f9e 4244 recursive_directory_iterator.cc: Test default construction.
e4cce0ce 4245
40436d81
RO
42462016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4247
4248 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
4249
f5c40ce2
JW
42502016-05-05 Jonathan Wakely <jwakely@redhat.com>
4251
4252 * testsuite/experimental/filesystem/path/native/string.cc: Add
4253 dg-require-filesystem-ts directive.
4254
d9cb3e75
JW
42552016-05-04 Jonathan Wakely <jwakely@redhat.com>
4256
4257 PR libstdc++/70940
4258 * include/experimental/memory_resource
4259 (__resource_adaptor_imp::do_allocate): Do not default-construct
4260 rebound allocator.
4261 (__resource_adaptor_imp::do_deallocate): Likewise. Use
4262 allocator_traits to get pointer type.
4263 (__null_memory_resource::do_allocate): Remove unused parameters.
4264 (__null_memory_resource::do_deallocate): Likewise.
4265 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
4266 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
4267 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
4268 move to ...
4269 * testsuite/experimental/memory_resource/1.cc: Here.
4270 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
4271 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
4272
f92ab29f
CG
42732016-04-29 Chris Gregory <czipperz@gmail.com>
4274
4275 * config/*: Remove trailing whitespace.
4276 * src/*: Likewise.
4277 * testsuite/tr1/*: Likewise.
4278 * testsuite/util/*: Likewise.
4279
272b2ce4
JW
42802016-04-28 Jonathan Wakely <jwakely@redhat.com>
4281
9f9eb84e
JW
4282 PR libstdc++/70766
4283 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
4284 __addressof.
4285 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
4286 Likewise.
4287 * include/std/atomic (atomic<_Tp>): Likewise.
4288 * include/std/shared_mutex (shared_lock): Likewise.
4289 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
4290 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
4291 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
4292 * testsuite/29_atomics/atomic/70766.cc: New test.
4293 * testsuite/30_threads/shared_lock/70766.cc: New test.
4294
272b2ce4
JW
4295 * include/bits/hashtable_policy.h (__detail::_Insert_base,
4296 __detail::_Insert): Improve comments.
4297
45e20696
JW
42982016-04-27 Jonathan Wakely <jwakely@redhat.com>
4299
4300 PR libstdc++/70767
4301 * include/std/limits: Update comments about DRs.
4302 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
4303 numeric_limits<const volatile _Tp>): Define unconditionally.
4304
a635cdb2
JW
43052016-04-24 Jonathan Wakely <jwakely@redhat.com>
4306
4307 PR libstdc++/70762
4308 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
4309 static counter to return a different path on every call.
4310
216f7526
TS
43112016-04-22 Tim Shen <timshen@google.com>
4312
4313 PR libstdc++/70745
4314 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
4315 Fix the match_not_bow and match_not_eow behavior.
4316 * testsuite/28_regex/regression.cc: Add testcase.
4317
a1e1ec76
JW
43182016-04-20 Jonathan Wakely <jwakely@redhat.com>
4319
4320 PR libstdc++/69703
4321 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
4322 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
4323
9c476ad4
JW
43242016-04-19 Jonathan Wakely <jwakely@redhat.com>
4325
29ca91f7 4326 PR libstdc++/69703
a1e1ec76 4327 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
29ca91f7
JW
4328 Override endianness bit in mode.
4329 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
4330 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
4331 that little_endian mode is ignored.
4332 * testsuite/experimental/filesystem/path/native/string.cc: New test.
4333
14905251
JW
4334 PR libstdc++/70609
4335 * src/filesystem/ops.cc (close_fd): New function.
4336 (do_copy_file): Set permissions before copying file contents. Check
4337 result of closing file descriptors. Don't copy streambuf when file
4338 is empty.
4339 (copy(const path&, const path&, copy_options, error_code&)): Use
4340 lstat for source file when copy_symlinks is set.
4341 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
4342
9c476ad4
JW
4343 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
4344 operator~ operator&=, operator|=, operator^=): Add noexcept to
4345 overloaded operators for copy_options, perms and directory_options.
4346 * src/filesystem/ops.cc (make_file_type, make_file_status,
4347 is_not_found_errno, file_time): Add noexcept.
4348
d855ad89
ESR
43492016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
4350
4351 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
4352
8dc1e574
JW
43532016-04-18 Jonathan Wakely <jwakely@redhat.com>
4354
0cded43d
JW
4355 PR libstdc++/41759
4356 * include/bits/random.h: Reword static assertion messages to state
4357 positive conditions.
4358 * include/bits/random.tcc: Likewise.
4359 * include/bits/uniform_int_dist.h: Likewise.
4360 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
4361 patterns.
4362
90751aa7
JW
4363 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
4364
351a5f81
JW
4365 * config/cpu/sh/atomicity.h: Fix typo in comment.
4366
b05cf382
JW
4367 PR libstdc++/70294
4368 * include/std/thread (operator<, operator==): Move definitions to
4369 namespace-scope.
4370 * testsuite/30_threads/thread/id/70294.cc: New test.
4371
4ed6e524
JW
4372 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
4373 -Wno-pedantic to dg-options.
4374 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
4375 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
4376 to dg-options.
4377 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
4378 Remove extra semi-colon.
4379 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
4380 Always supply second argument to static_assert.
4381 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
4382 semi-colon.
4383 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
4384 dg-options.
4385 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
4386 * testsuite/29_atomics/atomic/60695.cc: Likewise.
4387 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
4388 alignof when operand is an object not a type.
4389 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
4390 * testsuite/decimal/make-decimal.cc: Likewise.
4391 * testsuite/experimental/type_traits/value.cc: Always supply second
4392 argument to static_assert.
4393 * testsuite/util/testsuite_common_types.h: Use __extension__ for
4394 __int128 types.
4395
abb6e0a1
JW
4396 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
4397 internal header.
4398 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
4399 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
4400 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
4401 Likewise. Add licence and change to compile-only test.
4402
6b6147dd
JW
4403 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
4404 unused parameter.
4405 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
4406
8dc1e574
JW
4407 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
4408 warnings.
4409
80dbaf98
ESR
44102016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
4411
4412 * include/bits/specfun.h: Trivial comment misspelling.
4413
9f285ccb
JM
44142016-04-14 Jason Merrill <jason@redhat.com>
4415
4416 Revert Jonathan's empty ABI change from yesterday.
4417
342fac95
MS
44182016-04-13 Martin Sebor <msebor@redhat.com>
4419
4420 PR c++/69517
4421 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
4422 upper bound is positive.
4423
a6297ab5
JW
44242016-04-13 Jonathan Wakely <jwakely@redhat.com>
4425
4426 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
4427 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
4428 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
4429 of functions taking empty structs by value. Add a template parameter
4430 to overloads without hints. Rename overloads with hints to
4431 _M_emplace_hint.
4432 (_Hashtable::_M_erase(true_type, const_iterator),
4433 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
4434 by reordering parameters.
4435 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
4436 _M_emplace_hint instead of _M_emplace.
4437 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
4438 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
4439 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
4440 __shared_ptr): Likewise.
4441 * include/bits/stl_algo.h (replace_if): Likewise.
4442 * include/bits/stl_pair.h (piecewise_construct_t,
4443 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
4444 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
4445 __uses_alloc0): Likewise.
4446 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
4447 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
4448 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
4449 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
4450 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
4451 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
4452 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
4453
0c39f36d
ESR
44542016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
4455
4456 Document C++17/TR29124 C++ Special Math Functions.
4457 * include/bits/specfun.h: Add Doxygen markup.
4458
6da8b931
JW
44592016-04-07 Jonathan Wakely <jwakely@redhat.com>
4460
4461 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
4462
49a52ebc
EB
44632016-04-06 Eric Botcazou <ebotcazou@adacore.com>
4464
4465 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
4466 * src/Makefile.in: Regenerate.
4467
87cec93e
JW
44682016-04-05 Jonathan Wakely <jwakely@redhat.com>
4469
d2aee115
JW
4470 PR libstdc++/70554
4471 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
4472 __atomic_fetch_add for bool.
4473 * configure: Regenerate.
4474
d5ec69f3
JW
4475 * testsuite/30_threads/thread/70503.cc: Require -static to work.
4476
87cec93e
JW
4477 PR libstdc++/70503
4478 * src/c++11/thread.cc (execute_native_thread_routine,
4479 execute_native_thread_routine_compat): Give internal linkage.
4480 * testsuite/30_threads/thread/70503.cc: New test.
4481
7b3318c4
VV
44822016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
4483
4484 PR libstdc++/70437
4485 * include/bits/stl_pair.h (_ConstructiblePair,
4486 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
4487 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
4488 for same-type cases.
4489 * testsuite/20_util/pair/70437.cc: New.
4490
00e6c25a
JW
44912016-03-24 Jonathan Wakely <jwakely@redhat.com>
4492
4493 PR libstdc++/69945
4494 * config/abi/pre/gnu.ver: Add new symbol.
4495 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
4496 * testsuite/18_support/free_eh_pool.cc: New test.
4497
bfd84e6b
BE
44982016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
4499
4500 * include/Makefile.am (install-freestanding-headers): Add
4501 concept_check.h and move.h to the installed headers.
4502 * include/Makefile.in: Regenerated.
4503 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
4504 freestanding implementations.
4505 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
4506 that this macro has no effect for freestanding implementations.
4507 * doc/html/manual/using_macros.html: Likewise.
4508
86715b09
JW
45092016-02-24 Jonathan Wakely <jwakely@redhat.com>
4510
4511 PR libstdc++/69939
4512 * include/experimental/tuple (__apply_impl): Qualify get and forward.
4513
9aee022e
JW
45142016-02-23 Jonathan Wakely <jwakely@redhat.com>
4515
be9967e8
JW
4516 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
4517 * doc/html/*: Regenerate.
4518
9aee022e
JW
4519 PR libstdc++/69893
4520 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
4521 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
4522 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
4523 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
4524 trunc) [__cplusplus >= 201103L]: Import from namespace std.
4525 (fabs) [__cplusplus < 201103L]: Import from namespace std.
4526 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
4527 Likewise.
4528 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
4529 namespace before including TR1 headers.
4530 * testsuite/tr1/headers/c++200x/math.cc: New test.
4531
5f6dd593
BE
45322016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
4533
4534 PR libstdc++/69881
4535 * include/c_global/cstdarg: Undefine __need___va_list.
4536 * include/c_global/cstddef: Undefine all kinds of __need_*.
4537
244901a5
TS
45382016-02-16 Tim Shen <timshen@google.com>
4539
4540 PR libstdc++/69794
4541 * include/bits/regex_scanner.h: Add different special character
4542 sets for grep and egrep regex.
4543 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
4544 * testsuite/28_regex/regression.cc: Add new testcase.
4545
cc07da33
JW
45462016-02-08 Jonathan Wakely <jwakely@redhat.com>
4547
2158532f
JW
4548 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
4549 added 'constexpr' in previous commit.
4550 * configure: Regenerate.
4551
cc07da33
JW
4552 PR libstdc++/48891
4553 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
4554 checks for all targets except *-*-solaris2.* and ensure we find the
4555 libc math.h header not our own.
4556 * configure: Regenerate.
4557
acc04646
DV
45582016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
4559
4560 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
4561 New file. Copied over from s390-linux-gnu.
4562
dbcda3ee
JW
45632016-02-04 Jonathan Wakely <jwakely@redhat.com>
4564
3555173f
JW
4565 PR libstdc++/69626
4566 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
4567 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
4568 * config.h.in: Regenerate.
4569 * configure: Regenerate.
4570 * testsuite/21_strings/c_strings/char/69626.cc: New.
4571
15ebf379
JW
4572 * doc/html/index.html: Regenerate.
4573
dbcda3ee
JW
4574 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
4575 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
4576 * doc/html/*: Regenerate.
4577
571512d5
BE
45782016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
4579
4580 PR libstdc++/69581
4581 * include/c_compatibility/math.h: Move header guards.
4582 * include/c_compatibility/stdlib.h: Likewise.
4583
f597d5f7
JW
45842016-01-29 Jonathan Wakely <jwakely@redhat.com>
4585
4586 PR libstdc++/69506
4587 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
4588
69b0daeb
JDA
45892016-01-28 John David Anglin <danglin@gcc.gnu.org>
4590
4591 PR libstdc++/69450
4592 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
4593 isinf and isnan functions into two independent checks. Check on hpux.
4594 * config.h.in: Regenerate.
4595 * configure: Regenerate.
4596 * include/c_global/cmath (isinf(double), isnan(double)): Use
4597 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
4598 respectively.
4599
8dc781e4
JJ
46002016-01-27 Jakub Jelinek <jakub@redhat.com>
4601
4602 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
4603
bae87f7f
JW
46042016-01-27 Jonathan Wakely <jwakely@redhat.com>
4605
4606 PR libstdc++/69295
4607 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
4608 -ffp-contract=off, and -ffloat-store to disable excess precision.
4609 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
4610 -ffp-contract=off.
4611
f1d591e8
JW
46122016-01-26 Jonathan Wakely <jwakely@redhat.com>
4613
4614 PR libstdc++/69478
4615 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
4616 random_access_iterator_tag>): Check is_move_assignable when moving.
4617 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
4618 Likewise.
4619 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
4620 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
4621 * testsuite/25_algorithms/move/69478.cc: New.
4622 * testsuite/25_algorithms/move_backward/69478.cc: new.
4623
8964d2a0
AP
46242016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
4625
4626 * include/c_compatibility/stdlib.h: Include wide character related
4627 definitions only when they are available in cstdlib.
4628
2944621e
JW
46292016-01-25 Jonathan Wakely <jwakely@redhat.com>
4630
4631 PR libstdc++/69464
4632 * include/Makefile.am: Add new header.
4633 * include/Makefile.in: Regenerate.
4634 * include/bits/random.h (uniform_int_distribution): Move to
4635 bits/uniform_int_dist.h.
4636 * include/bits/random.tcc (uniform_int_distribution::operator(),
4637 uniform_int_distribution::__generate_impl): Likewise.
4638 * include/bits/uniform_int_dist.h: New header.
4639 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
4640 <bits/uniform_int_dist.h> instead of <random>.
4641 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
4642 move_iterators/1.cc: Include correct header for uninitialized_copy.
4643 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
4644 move_iterators/1.cc: Likewise.
4645 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
4646 header for vector.
4647 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
4648
3676c087
JDA
46492016-01-23 John David Anglin <danglin@gcc.gnu.org>
4650
4651 PR libstdc++/69446
4652 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
4653
02dc2419
ESR
46542016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
4655
4656 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
4657 * include/c_compatibility/math.h: Import the TR29124 functions
4658 into the global namespace.
4659 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
4660 xfail and make compile-only.
4661 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
4662 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
4663 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
4664 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
4665 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
4666 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
4667 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
4668 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
4669 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
4670 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
4671 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
4672 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
4673 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
4674 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
4675 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
4676 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
4677 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
4678 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
4679 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
4680 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
4681
350fe282
JW
46822016-01-22 Jonathan Wakely <jwakely@redhat.com>
4683
d1fb377c
JW
4684 PR libstdc++/69116
4685 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
4686 define result_type for types which can be safely used with valarrays.
4687 * testsuite/26_numerics/valarray/69116.cc: New.
4688
350fe282
JW
4689 PR libstdc++/69413
4690 * config/os/gnu-linux/os_defines.h: Define
4691 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
4692 * include/c_global/cmath (isinf, isnan): Check it.
4693 * doc/xml/manual/internals.xml: Document it.
4694 * doc/html/*: Regenerate.
4695
ab56cbed
JW
46962016-01-21 Jonathan Wakely <jwakely@redhat.com>
4697
4698 PR libstdc++/69406
4699 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
4700 * include/ext/type_traits.h: Likewise.
4701 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
4702 for presence of C headers.
4703 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
4704 dg-error line number.
4705 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
4706 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
4707 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
4708
7e10bcfa
TR
47092016-01-20 Torvald Riegel <triegel@redhat.com>
4710
4711 PR libstdc++/69310
4712 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
4713
eac437bf
JW
47142016-01-20 Jonathan Wakely <jwakely@redhat.com>
4715
3f93466a
JW
4716 PR libstdc++/60401
4717 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
4718 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
4719 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
4720 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
4721 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
4722 Add using declarations.
4723 * testsuite/26_numerics/headers/cmath/60401.cc: New.
4724
eac437bf
JW
4725 PR libstdc++/69386
4726 * include/c_global/ccomplex: Ensure C++ language linkage.
4727 * include/c_global/cmath: Likewise.
4728 * include/c_global/cstdlib: Likewise.
4729 * include/c_global/ctgmath: Likewise.
4730 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
4731
96e19ada
JW
47322016-01-19 Jonathan Wakely <jwakely@redhat.com>
4733
4734 PR libstdc++/14608
4735 PR libstdc++/60401
4736 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
4737 --enable-cheaders=c_global configs.
4738 * include/Makefile.in: Regenerate.
4739 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
4740 test and allow inclusion from C files.
4741 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
4742 (at_quick_exit, quick_exit): Add using directives.
4743 * include/c_global/cmath: Use #include_next for math.h.
4744 * include/c_global/cstdlib: Use #include_next for stdlib.h.
4745 * testsuite/26_numerics/headers/cmath/14608.cc: New.
4746 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
4747 Remove xfail for most targets.
4748 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
4749
9585381a
TR
47502016-01-18 Torvald Riegel <triegel@redhat.com>
4751
4752 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
4753 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
4754 and move after its definition.
4755 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
4756 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
4757 __GXX_WEAK__, and only provide transactional clones if
4758 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
4759 functions.
4760
f5460595
JW
47612016-01-18 Jonathan Wakely <jwakely@redhat.com>
4762
c91bcffc
JW
4763 PR libstdc++/60637
4764 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
4765
d75d9f91 4766 PR libstdc++/69243
9c5ad80e
JW
4767 * include/std/functional (_Function_base::_M_not_empty_function):
4768 Change overloads for pointers to take arguments by value.
4769 * testsuite/20_util/function/cons/57465.cc: Add tests for
4770 pointer-to-member cases.
4771
f5460595
JW
4772 PR libstdc++/69340
4773 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
4774 Use macros for exception handling and fix unused parameter warning.
4775
271366f6
JDA
47762016-01-17 John David Anglin <danglin@gcc.gnu.org>
4777
4778 PR libstdc++/68734
4779 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
4780
7a5d1d34
TR
47812016-01-17 Torvald Riegel <triegel@redhat.com>
4782
4783 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
4784
5445d5bf
L
47852016-01-16 H.J. Lu <hongjiu.lu@intel.com>
4786
4787 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
4788 __int128 symbols.
4789
3d076231
JW
47902016-01-15 Jonathan Wakely <jwakely@redhat.com>
4791
d7c1581c
JW
4792 PR libstdc++/69293
4793 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
4794 static assertion that type is constructible from the arguments.
4795 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
4796 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
4797 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
4798
3d076231
JW
4799 PR libstdc++/69294
4800 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
4801 and isnan on AIX. Quote variables.
4802 * configure: Regenerate.
4803
a04d5fc9
TR
48042016-01-15 Torvald Riegel <triegel@redhat.com>
4805
4806 * include/bits/basic_string.h (basic_string): Declare friends.
4807 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
4808 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
4809 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
4810 length_error, out_of_range, runtime_error, range_error,
4811 underflow_error, overflow_error): Declare members as transaction-safe.
4812 (logic_error, runtime_error): Declare friend functions.
4813 * libsupc++/exception (exception, bad_exception): Declare members as
4814 transaction-safe.
4815 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
4816 transaction-safe members of exceptions and helper functions.
4817 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
4818 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
4819 (CXXABI_1.3.10): New.
4820 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
4821 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
4822 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
4823 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
4824 * include/Makefile.in: Regenerate.
4825 * config.h.in: Regenerate.
4826 * configure: Regenerate.
4827 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
4828
cebeb718
SE
48292016-01-15 Steve Ellcey <sellcey@imgtec.com>
4830
4831 * include/ext/random.tcc: Use __builtin_isfinite instead of
4832 std::isfinite.
4833
3b07547d
JW
48342016-01-15 Jonathan Wakely <jwakely@redhat.com>
4835
4836 * include/bits/std_mutex.h: Fix Doxygen @file name.
4837
2be75957
ESR
48382016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
4839 Jonathan Wakely <jwakely@redhat.com>
4840 Florian Goth <CaptainSifff@gmx.de>
4841
4842 Implement TR29124 C++ special Math Functions.
4843 * include/Makefile.am: Add new headers.
4844 * include/Makefile.in: Regenerate.
4845 * include/bits/specfun.h: New.
4846 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
4847 * include/tr1/bessel_function.tcc: Ditto.
4848 * include/tr1/beta_function.tcc: Ditto.
4849 * include/tr1/cmath: Ditto.
4850 * include/tr1/ell_integral.tcc: Ditto.
4851 * include/tr1/exp_integral.tcc: Ditto.
4852 * include/tr1/gamma.tcc: Ditto.
4853 * include/tr1/hypergeometric.tcc: Ditto.
4854 * include/tr1/legendre_function.tcc: Ditto.
4855 * include/tr1/modified_bessel_func.tcc: Ditto.
4856 * include/tr1/poly_hermite.tcc: Ditto.
4857 * include/tr1/poly_laguerre.tcc: Ditto.
4858 * include/tr1/riemann_zeta.tcc: Ditto.
4859 * include/tr1/special_function_util.h: Ditto.
4860 * testsuite/ext/special_functions/conf_hyperg: New.
4861 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
4862 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
4863 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
4864 * testsuite/ext/special_functions/hyperg: New.
4865 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
4866 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
4867 * testsuite/ext/special_functions/hyperg/compile.cc: New.
4868 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
4869 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
4870 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
4871 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
4872 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
4873 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
4874 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
4875 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
4876 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
4877 * testsuite/special_functions/03_beta/check_nan.cc: New.
4878 * testsuite/special_functions/03_beta/check_value.cc: New.
4879 * testsuite/special_functions/03_beta/compile.cc: New.
4880 * testsuite/special_functions/03_beta/compile_2.cc: New.
4881 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
4882 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
4883 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
4884 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
4885 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
4886 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
4887 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
4888 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
4889 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
4890 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
4891 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
4892 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
4893 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
4894 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
4895 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
4896 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
4897 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
4898 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
4899 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
4900 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
4901 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
4902 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
4903 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
4904 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
4905 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
4906 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
4907 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
4908 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
4909 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
4910 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
4911 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
4912 * testsuite/special_functions/11_ellint_1/compile.cc: New.
4913 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
4914 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
4915 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
4916 * testsuite/special_functions/12_ellint_2/compile.cc: New.
4917 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
4918 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
4919 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
4920 * testsuite/special_functions/13_ellint_3/compile.cc: New.
4921 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
4922 * testsuite/special_functions/14_expint/check_nan.cc: New.
4923 * testsuite/special_functions/14_expint/check_value.cc: New.
4924 * testsuite/special_functions/14_expint/compile.cc: New.
4925 * testsuite/special_functions/14_expint/compile_2.cc: New.
4926 * testsuite/special_functions/15_hermite/check_nan.cc: New.
4927 * testsuite/special_functions/15_hermite/check_value.cc: New.
4928 * testsuite/special_functions/15_hermite/compile.cc: New.
4929 * testsuite/special_functions/15_hermite/compile_2.cc: New.
4930 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
4931 * testsuite/special_functions/16_laguerre/check_value.cc: New.
4932 * testsuite/special_functions/16_laguerre/compile.cc: New.
4933 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
4934 * testsuite/special_functions/17_legendre/check_nan.cc: New.
4935 * testsuite/special_functions/17_legendre/check_value.cc: New.
4936 * testsuite/special_functions/17_legendre/compile.cc: New.
4937 * testsuite/special_functions/17_legendre/compile_2.cc: New.
4938 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
4939 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
4940 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
4941 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
4942 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
4943 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
4944 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
4945 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
4946 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
4947 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
4948 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
4949 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
4950 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
4951 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
4952 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
4953 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
4954 * testsuite/util/specfun_testcase.h: New.
4955 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
4956 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
4957 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
4958 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
4959 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
4960 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
4961 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
4962
39a1d8c8
JW
49632016-01-13 Jonathan Wakely <jwakely@redhat.com>
4964
4965 PR libstdc++/48891
4966 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
4967 and isnan functions.
4968 * config.h.in: Regenerate.
4969 * configure: Regenerate.
4970 * include/c_global/cmath (isinf(double), isnan(double))
4971 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
4972 * testsuite/26_numerics/headers/cmath/48891.cc: New.
4973
e862906c
RO
49742016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4975
4976 PR libstdc++/66006
4977 * configure.host (abi_baseline_pair): Use separate baseline for
4978 Solaris 11+ and Solaris 10 with gld.
4979 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
4980 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
4981 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
4982
26b5ace7
DK
49832016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
4984
4985 PR libstdc++/68877
4986 * include/std/type_traits: Following N4511, reimplement __is_swappable
4987 and __is_nothrow_swappable. Move __is_swappable to namespace std,
4988 adjust callers. Use __is_nothrow_swappable in swap.
4989 * include/bits/move.h: Use __is_nothrow_swappable in swap.
4990 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
4991 __is_swappable related tests.
4992 * testsuite/20_util/is_swappable/value.cc: New.
4993 * testsuite/20_util/is_swappable/requirements/
4994 explicit_instantiation.cc: New.
4995 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
4996 * testsuite/25_algorithms/swap/68877.cc: New.
4997
1c3c7c41
JW
49982016-01-12 Jonathan Wakely <jwakely@redhat.com>
4999
bd285a8b
JW
5000 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
5001
1c3c7c41
JW
5002 PR libstdc++/69005
5003 PR libstdc++/69222
5004 * include/std/functional (function::_Invoke): Remove, use result_of.
5005 (function::_Callable): Replace alias template with class template
5006 and use partial specialization instead of _NotSelf alias template.
5007 (function(_Functor)): Add "not self" constraint so that _Callable is
5008 not used while type is incomplete.
5009 * testsuite/20_util/function/69222.cc: New.
5010
1517bc30
JW
50112016-01-11 Jonathan Wakely <jwakely@redhat.com>
5012
5013 PR libstdc++/60976
5014 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
5015 Define partial specialization.
5016 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
5017 destroy members to std::allocator explicit specialization.
5018
e525d78c
JW
50192016-01-08 Jonathan Wakely <jwakely@redhat.com>
5020
8babc12b
JW
5021 * testsuite/26_numerics/headers/cmath/
5022 c99_classification_macros_c++.cc: Rename to ...
5023 * testsuite/26_numerics/headers/cmath/
5024 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
5025 * testsuite/26_numerics/headers/cmath/
5026 c99_classification_macros_c++0x.cc: Rename to ...
5027 * testsuite/26_numerics/headers/cmath/
5028 c99_classification_macros_c++11.cc: Here.
5029
32a8c97f 5030 PR libstdc++/69190
e525d78c
JW
5031 * include/bits/uses_allocator.h: Add missing include.
5032
f885fa89
JW
50332016-01-07 Jonathan Wakely <jwakely@redhat.com>
5034
5035 PR libstdc++/69105
5036 PR libstdc++/69106
5037 PR libstdc++/69114
5038 * include/bits/stl_iterator.h (back_insert_iterator,
5039 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
5040 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
5041 * include/std/future (__future::base::_State_baseV2::__setter):
5042 Likewise.
5043 * include/std/scoped_allocator (__outermost): Likewise.
5044 * testsuite/20_util/scoped_allocator/69114.cc: New.
5045 * testsuite/20_util/uses_allocator/69114.cc: New.
5046 * testsuite/30_threads/promise/69106.cc: New.
5047
0c3e5dd1
JW
50482016-01-06 Jonathan Wakely <jwakely@redhat.com>
5049
373a75fb
JW
5050 PR libstdc++/69092
5051 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
5052 Remove _GLIBCXX_NOEXCEPT.
5053 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
5054
0c3e5dd1
JW
5055 * include/Makefile.am: Adjust.
5056 * include/Makefile.in: Regenerate.
5057 * include/bits/mutex.h: Rename to bits/std_mutex.h.
5058 * include/std/condition_variable: Adjust include.
5059 * include/std/mutex: Likewise.
5060
818ab71a 50612016-01-04 Jakub Jelinek <jakub@redhat.com>
5624e564
JJ
5062
5063 Update copyright years.
b4df5e92 5064\f
818ab71a 5065Copyright (C) 2016 Free Software Foundation, Inc.
b4df5e92
JW
5066
5067Copying and distribution of this file, with or without modification,
5068are permitted in any medium without royalty provided the copyright
5069notice and this notice are preserved.