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