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