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