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