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