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