]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
expr.c (push_value): Only call flush_quick_stack for non-constant arguments.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
69332dba
JW
12016-08-02 Jonathan Wakely <jwakely@redhat.com>
2
807bd096
JW
3 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
4 options are present that aren't valid for C.
5 * testsuite/abi/header_cxxabi.c: Likewise.
6
8c65cd30
JW
7 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
8 check_value.cc: Do not add special functions to namespace std in TR1
9 test.
10
196c9e7a
JW
11 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
12 run for C++11 and later.
13 * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
14 Likewise.
15 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
16 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
17 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
18 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
19 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
20 Likewise.
21 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
22 Likewise.
23 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
24 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
25 Likewise.
26 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
27 Likewise.
28 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
29 Likewise.
30 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
31 * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
32 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
33 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
34 * testsuite/special_functions/03_beta/compile.cc: Likewise.
35 * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
36 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
37 * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
38 Likewise.
39 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
40 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
41 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
42 * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
43 Likewise.
44 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
45 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
46 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
47 * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
48 Likewise.
49 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
50 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
51 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
52 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
53 Likewise.
54 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
55 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
56 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
57 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
58 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
59 Likewise.
60 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
61 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
62 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
63 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
64 Likewise.
65 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
66 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
67 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
68 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
69 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
70 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
71 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
72 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
73 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
74 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
75 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
76 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
77 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
78 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
79 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
80 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
81 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
82 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
83 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
84 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
85 * testsuite/special_functions/14_expint/compile.cc: Likewise.
86 * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
87 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
88 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
89 * testsuite/special_functions/15_hermite/compile.cc: Likewise.
90 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
91 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
92 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
93 * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
94 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
95 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
96 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
97 * testsuite/special_functions/17_legendre/compile.cc: Likewise.
98 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
99 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
100 * testsuite/special_functions/18_riemann_zeta/check_value.cc:
101 Likewise.
102 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
103 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
104 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
105 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
106 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
107 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
108 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
109 * testsuite/special_functions/20_sph_legendre/check_value.cc:
110 Likewise.
111 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
112 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
113 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
114 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
115 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
116 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
117
69332dba
JW
118 * testsuite/tr1/5_numerical_facilities/special_functions/
119 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
120 of [[gnu::unused]].
121 * testsuite/tr1/5_numerical_facilities/special_functions/
122 09_cyl_bessel_j/check_value.cc: Likewise.
123 * testsuite/tr1/5_numerical_facilities/special_functions/
124 10_cyl_bessel_k/check_value.cc: Likewise.
125 * testsuite/tr1/5_numerical_facilities/special_functions/
126 11_cyl_neumann/check_value.cc: Likewise.
127 * testsuite/tr1/5_numerical_facilities/special_functions/
128 21_sph_bessel/check_value.cc: Likewise.
129 * testsuite/tr1/5_numerical_facilities/special_functions/
130 23_sph_neumann/check_value.cc: Likewise.
131
e1539627
RO
1322016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
133
134 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
135 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
136 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
137 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
138 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
139 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
140
c1b6948e
JW
1412016-08-02 Jonathan Wakely <jwakely@redhat.com>
142
e877144d
JW
143 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
144 test if -flto used.
145
c1b6948e
JW
146 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
147 additional flags for compiling libtestc++.a objects.
148
9b46e4d6
JW
1492016-08-01 Jonathan Wakely <jwakely@redhat.com>
150
92d58dee
JW
151 * include/bits/basic_string.h (data() const): Update comment.
152 (data()): Add non-const overload for C++17.
153 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
154 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
155
0f86525a
JW
156 * include/bits/basic_string.tcc: Disable explicit instantiation
157 declarations for C++17.
158
9839ff60
JW
159 * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
160 ignored "xfail" from { dg-do compile { xfail selector } } directive.
161 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
162 Likewise.
163 * testsuite/26_numerics/headers/cmath/
164 c99_classification_macros_c++11.cc: Likewise.
165 * testsuite/26_numerics/headers/cmath/
166 c99_classification_macros_c++98.cc: Likewise.
167 * testsuite/26_numerics/headers/cmath/
168 c99_classification_macros_c.cc: Likewise.
169
cbcc9fe8
JW
170 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
171 for different construct/destroy counts in C++98 mode.
172
74811472
JW
173 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
174
a02a61ee
JW
175 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
176 later.
177 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
178 Likewise.
179
98b5fb3c
JW
180 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
181 C++98-compatible initialization for array.
182
6f3b8891
JW
183 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
184 unused header and variable from compile-only test.
185 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
186 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
187 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
188 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
189 Likewise.
190
2ab794eb
JW
191 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
192 Remove duplicate dg-options directive.
193
4d16871b
JW
194 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
195 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
196
e3509835
JW
197 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
198 linker options from compile-only tests.
199 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
200 Likewise.
201
9b46e4d6
JW
202 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
203 supported for C++11 and later.
204 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
205 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
206
77c3c27e
UB
2072016-08-01 Uros Bizjak <ubizjak@gmail.com>
208
209 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
210
f245e3a0
JW
2112016-07-31 Jonathan Wakely <jwakely@redhat.com>
212
c4da1da2
JW
213 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
214 compile-only test.
215
9d5b70b0
JW
216 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
217 Ensure test is compiled with optimization.
218
ee628057
JW
219 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
220 Adjust dg-prune-output pattern for error in C++98 mode.
221
d23d1bee
JW
222 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
223 run for C++11 or later.
224
f2738d6c
JW
225 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
226 test to not rely on GNU extension (escaped normal characters in POSIX
227 BRE). Enable tests for other strings which are now supported.
228
77f3d979
JW
229 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
230 c++11 instead of setting -std=gnu++14.
231
3c040fa4
JW
232 PR libstdc++/72745
233 * include/std/array (get): Use positive message for static assertions.
234 * include/std/functional (_Safe_tuple_element_t): Fix indentation.
235 * include/std/tuple (tuple_element<I, tuple<>>): Add partial
236 specialization for invalid indices, with static assertion.
237 * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
238
f245e3a0
JW
239 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
240 dg-error to relevant line.
241 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
242 Likewise.
243 * testsuite/23_containers/forward_list/requirements/dr438/
244 assign_neg.cc: Likewise.
245 * testsuite/23_containers/forward_list/requirements/dr438/
246 constructor_1_neg.cc: Likewise.
247 * testsuite/23_containers/forward_list/requirements/dr438/
248 constructor_2_neg.cc: Likewise.
249 * testsuite/23_containers/forward_list/requirements/dr438/
250 insert_neg.cc: Likewise.
251 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
252 Likewise.
253 * testsuite/26_numerics/random/linear_congruential_engine/
254 requirements/non_uint_neg.cc: Likewise.
255 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
256 Likewise. Also test for std::atomic_address.
257
8c914227
VV
2582016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
259
260 Add missing variable traits, fix testsuite failures.
261 * include/bits/uses_allocator.h (uses_allocator_v): New.
262 * include/std/functional (is_bind_expression_v, is_placeholder_v):
263 Likewise.
264 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
265 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
266 * testsuite/20_util/duration/literals/range.cc: Likewise.
267 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
268 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
269 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
270 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
271 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
272 Likewise.
273 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
274 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
275 New.
276
7523c5eb
JW
2772016-07-31 Jonathan Wakely <jwakely@redhat.com>
278
2f297149
JW
279 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
280 not test 128-bit types.
281 * testsuite/20_util/is_floating_point/value.cc: Likewise.
282 * testsuite/20_util/is_integral/value.cc: Likewise.
283 * testsuite/20_util/is_signed/value.cc: Likewise.
284 * testsuite/20_util/is_unsigned/value.cc: Likewise.
285 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
286 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
287 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
288 Likewise.
289 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
290 Likewise.
291
7523c5eb
JW
292 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
293
137422c8
VV
2942016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
295
296 Implement C++17 variable templates for type traits.
297 * include/std/chrono (treat_as_floating_point_v): New.
298 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
299 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
300 (ratio_greater_equal_v): Likewise.
301 * include/std/system_error (is_error_code_enum_v)
302 (is_error_condition_enum_v): Likewise.
303 * include/std/tuple (tuple_size_v): Likewise.
304 * type_traits (conjunction_v, disjunction_v, negation_v)
305 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
306 (is_array_v, is_pointer_v, is_lvalue_reference_v)
307 (is_rvalue_reference_v, is_member_object_pointer_v)
308 (is_member_function_pointer_v, is_enum_v, is_union_v)
309 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
310 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
311 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
312 (is_trivially_copyable_v, is_standard_layout_v)
313 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
314 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
315 (is_constructible_v, is_default_constructible_v)
316 (is_copy_constructible_v, is_move_constructible_v)
317 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
318 (is_destructible_v, is_trivially_constructible_v)
319 (is_trivially_default_constructible_v)
320 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
321 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
322 (is_trivially_move_assignable_v, is_trivially_destructible_v)
323 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
324 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
325 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
326 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
327 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
328 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
329 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
330 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
331 Likewise.
332 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
333 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
334 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
335
0c4c4909
AS
3362016-07-29 Andreas Schwab <schwab@linux-m68k.org>
337
338 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
339 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
340 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
341
fe97ccec
JW
3422016-07-29 Jonathan Wakely <jwakely@redhat.com>
343
13ec6e5e
JW
344 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
345 * doc/html/manual/abi.html: Regenerate.
346
62589e99
JW
347 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
348 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
349 symbols.
350 * configure: Regenerate.
351 * testsuite/util/testsuite_abi.cc: Add new symbol version.
352
fe97ccec
JW
353 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
354 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
355 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
356 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
357 Likewise.
358 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
359 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
360 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
361
2de6b254
JW
3622016-07-28 Jonathan Wakely <jwakely@redhat.com>
363
1a2196e4
JW
364 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
365 Adjust dg-prune-output pattern for error in C++98 mode.
366 * testsuite/23_containers/deque/requirements/dr438/
367 constructor_1_neg.cc: Likewise.
368 * testsuite/23_containers/deque/requirements/dr438/
369 constructor_2_neg.cc: Likewise.
370 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
371 Likewise.
372 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
373 Likewise.
374 * testsuite/23_containers/list/requirements/dr438/
375 constructor_1_neg.cc: Likewise.
376 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
377 Likewise.
378 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
379 Likewise.
380 * testsuite/23_containers/vector/requirements/dr438/
381 constructor_1_neg.cc: Likewise.
382 * testsuite/23_containers/vector/requirements/dr438/
383 constructor_2_neg.cc: Likewise.
384 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
385 Likewise.
386
e539b4ff
JW
387 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
388 for different construct/destroy counts in C++98 mode.
389
c3c2f973
JW
390 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
391 dg-options to dg-additional-options so that default options are used.
392 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
393 Likewise.
394 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
395 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
396 Likewise.
397 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
398 Use dg-additional-options instead of repeating the common options.
399
2de6b254
JW
400 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
401 dg-do compile directive.
402 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
403 dg-do directive.
404 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
405
ca8f2cb1
VV
4062016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
407
408 Implement std::string_view and P0254r2,
409 Integrating std::string_view and std::string.
410 * include/Makefile.am: Add string_view and string_view.tcc
411 to the exported headers.
412 * include/Makefile.in: Likewise.
413 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
414 (__sv_type): New.
415 (basic_string(__sv_type, const _Alloc&)): Likewise.
416 (operator=(__sv_type)): Likewise.
417 (operator __sv_type()): Likewise.
418 (operator+=(__sv_type)): Likewise.
419 (append(__sv_type __sv)): Likewise.
420 (append(__sv_type, size_type, size_type)): Likewise.
421 (assign(__sv_type)): Likewise.
422 (assign(__sv_type, size_type, size_type)): Likewise.
423 (insert(size_type, __sv_type)): Likewise.
424 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
425 (replace(size_type, size_type, __sv_type)): Likewise.
426 (replace(size_type, size_type, __sv_type, size_type, size_type)):
427 Likewise.
428 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
429 (find(__sv_type, size_type)): Likewise.
430 (rfind(__sv_type, size_type)): Likewise.
431 (find_first_of(__sv_type, size_type)): Likewise.
432 (find_last_of(__sv_type, size_type)): Likewise.
433 (find_first_not_of(__sv_type, size_type)): Likewise.
434 (find_last_not_of(__sv_type, size_type)): Likewise.
435 (compare(__sv_type)): Likewise.
436 (compare(size_type, size_type, __sv_type)): Likewise.
437 (compare(size_type, size_type, __sv_type, size_type, size_type)):
438 Likewise.
439 * include/bits/string_view.tcc: New.
440 * include/std/string_view: Likewise.
441 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
442 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
443 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
444 Likewise.
445 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
446 Likewise.
447 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
448 Likewise.
449 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
450 Likewise.
451 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
452 Likewise.
453 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
454 Likewise.
455 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
456 Likewise.
457 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
458 Likewise.
459 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
460 Likewise.
461 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
462 Likewise.
463 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
464 Likewise.
465 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
466 Likewise.
467 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
468 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
469 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
470 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
471 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
472 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
473 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
474 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
475 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
476 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
477 Likewise.
478 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
479 Likewise.
480 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
481 Likewise.
482 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
483 Likewise.
484 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
485 Likewise.
486 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
487 Likewise.
488 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
489 Likewise.
490 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
491 Likewise.
492 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
493 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
494 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
495 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
496 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
497 Likewise.
498 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
499 Likewise.
500 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
501 Likewise.
502 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
503 Likewise.
504 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
505 Likewise.
506 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
507 Likewise.
508 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
509 Likewise.
510 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
511 Likewise.
512 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
513 Likewise.
514 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
515 Likewise.
516 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
517 Likewise.
518 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
519 Likewise.
520 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
521 Likewise.
522 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
523 Likewise.
524 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
525 Likewise.
526 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
527 Likewise.
528 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
529 Likewise.
530 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
531 Likewise.
532 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
533 Likewise.
534 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
535 Likewise.
536 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
537 Likewise.
538 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
539 Likewise.
540 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
541 Likewise.
542 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
543 Likewise.
544 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
545 Likewise.
546 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
547 Likewise.
548 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
549 Likewise.
550 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
551 Likewise.
552 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
553 Likewise.
554 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
555 Likewise.
556 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
557 Likewise.
558 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
559 Likewise.
560 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
561 Likewise.
562 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
563 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
564 Likewise.
565 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
566 Likewise.
567 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
568 Likewise.
569 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
570 Likewise.
571 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
572 Likewise.
573 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
574 Likewise.
575 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
576 Likewise.
577 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
578 Likewise.
579 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
580 Likewise.
581 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
582 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
583
427f68c6
JW
5842016-07-27 Jonathan Wakely <jwakely@redhat.com>
585
586 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
587
a837417c
GC
5882016-07-25 Georeth Chow <georeth2010@gmail.com>
589
590 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
591 _S_concat enumerator.
592 * testsuite/ext/rope/6.cc: New test.
593
19bb30c0
JW
5942016-07-25 Jonathan Wakely <jwakely@redhat.com>
595
596 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
597 std::mt19937, std::thread and std::atomic to simplify test.
598 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
599
960637ac
JW
6002016-07-22 Jonathan Wakely <jwakely@redhat.com>
601
8cab3d18
JW
602 PR libstdc++/71964
603 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
604 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
605 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
606 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
607 * testsuite/23_containers/set/allocator/71964.cc: New test.
608
960637ac
JW
609 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
610 delete[] instead of delete.
611
22620c14
JW
6122016-07-21 Jonathan Wakely <jwakely@redhat.com>
613
8b649cd3
JW
614 * include/experimental/propagate_const (propagate_const::__t): Rename
615 to _M_t and remove comment. Qualify std::move and std::forward.
616 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
617
509b778f
JW
618 * testsuite/23_containers/vector/zero_sized_allocations.cc:
619 Define sized deallocation function.
620 * testsuite/util/testsuite_new_operators.h:
621 (operator delete(void*, const std::nothrow_t&)): Define nothrow
622 deallocation function.
623
e93a101f
JW
624 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
625 reads past the end of strings.
626 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
627 Likewise.
628 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
629 invalid array accesses.
630 * testsuite/experimental/string_view/operations/compare/char/1.cc:
631 Fix read past the end of string.
632 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
633
0a024155
JW
634 * testsuite/24_iterators/container_access.cc: Fix missing returns.
635 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
636
22620c14
JW
637 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
638 leak) memory for arguments to placement delete.
639 * testsuite/20_util/addressof/1.cc: Don't leak memory.
640 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
641 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
642 Likewise.
643
18407bfb
JW
6442016-07-20 Jonathan Wakely <jwakely@redhat.com>
645
09a855ae
JW
646 * doc/xml/manual/intro.xml: Document DR 2684 status.
647 * doc/html/*: Regenerate.
648
e87b7d52
JW
649 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
650 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
651 (atomic_uint64_t): Define (LWG 2441).
652 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
653 lines.
654 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
655 the new types.
656 * doc/xml/manual/intro.xml: Document DR 2441 status.
657
07c772ed
JW
658 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
659 to use perfect forwarding (LWG 2328).
660 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
661 * doc/xml/manual/intro.xml: Document DR 2328 status.
662
18407bfb
JW
663 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
664 static objects for catching nullptr as pointer to member types.
665
40f3e913
VV
6662016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
667
668 Clean up optional's comments.
669 * include/std/optional: Remove incorrect section headers
670 from comments when redundant, replace bare section
671 headers with more descriptive comments.
672
479d0ed5
JW
6732016-07-15 Jonathan Wakely <jwakely@redhat.com>
674
4f5f9962
JW
675 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
676 * include/bits/move.h: Likewise.
677 * include/bits/postypes.h: Likewise.
678 * include/debug/bitset: Likewise.
679 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
680 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
681 comment.
682 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
683 * testsuite/util/thread/all.h: Likewise.
684
d1129d45
JW
685 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
686 and adjust comment.
687
479d0ed5
JW
688 PR c++/58796
689 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
690 nullptr match handlers of pointer type.
691
4db1cb44
ESR
6922016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
693
694 Implement C++17 P0025 clamp.
695 * include/bits/algorithmfwd.h: Declare clamp overloads.
696 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
697 * testsuite/25_algorithms/clamp/1.cc: New test.
698 * testsuite/25_algorithms/clamp/2.cc: New test.
699 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
700 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
701 1.cc: New test.
702 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
703 pod.cc: New test.
704
1ec0f763
VV
7052016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
706
707 Fix the constraints for any's assignment operator template to properly
708 reject assignment from a non-copyable lvalue.
709 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
710 type for is_copy_constructible,
711 * testsuite/20_util/any/requirements.cc: Add a test for
712 non-copyable lvalues.
713
0a2bf188
JW
7142016-07-14 Jonathan Wakely <jwakely@redhat.com>
715
ea5ec6b7
JW
716 * include/experimental/functional: Include <parallel/algorithm> in
717 Parallel Mode.
718
47d5cb3c
JW
719 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
720 for std::search.
721
0a2bf188
JW
722 PR libstdc++/70716
723 * include/bits/forward_list.h (forward_list): Update doxygen comments
724 to reflect allocator propagation semantics. Remove ambiguous
725 statements about data being lost.
726 * include/bits/stl_deque.h (deque): Likewise.
727 * include/bits/stl_list.h (list): Likewise.
728 * include/bits/stl_map.h (map): Likewise.
729 * include/bits/stl_multimap.h (multimap): Likewise.
730 * include/bits/stl_multiset.h (multiset): Likewise.
731 * include/bits/stl_set.h (set): Likewise.
732 * include/bits/stl_vector.h (vector): Likewise.
733 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
734 Likewise.
735 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
736 Likewise.
737
25a69162
VV
7382016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
739
740 Implement P0032R3, Homogeneous interface for variant, any and optional,
741 for the parts concerning any and optional.
742 * include/std/any (_Storage()): Make constexpr and have it
743 initialize _M_ptr.
744 (any()): Make constexpr.
745 (any(const any&)): Adjust.
746 (any(any&&)): Likewise.
747 (__any_constructible_t): New.
748 (any(_ValueType&&)): Constrain.
749 (any(in_place_type_t<_Tp>, _Args&&...)): New.
750 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
751 Likewise.
752 (~any()): Adjust.
753 (operator=(const any&)): Likewise.
754 (operator=(any&&)): Likewise.
755 (operator=(_ValueType&&)): Constrain.
756 (emplace(_Args&&...)): New.
757 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
758 (clear()): Remove.
759 (reset()): New.
760 (swap(any&)): Adjust.
761 (empty()): Remove.
762 (has_value()): New.
763 (type()): Adjust.
764 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
765 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
766 (make_any(_Args&&...)): Likewise.
767 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
768 * include/std/optional (in_place_t, in_place): Remove.
769 (bad_optional_access): Add a comment referring to LEWG 72.
770 (emplace(_Args&&...)): Constrain.
771 (has_value()): New.
772 (reset()): Likewise.
773 (make_optional(_Args&&...)): Likewise.
774 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
775 * include/std/utility (in_place_tag): New.
776 (__in_place, __in_place_type, __in_place_index): Likewise.
777 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
778 (in_place(__in_place*)): Likewise.
779 (in_place(__in_place_type<_Tp>*)): Likewise.
780 (in_place(__in_place_index<_Idx>*)): Likewise.
781 * testsuite/20_util/any/assign/1.cc: Adjust.
782 * testsuite/20_util/any/assign/emplace.cc: New.
783 * testsuite/20_util/any/assign/self.cc: Adjust.
784 * testsuite/20_util/any/cons/1.cc: Likewise.
785 * testsuite/20_util/any/cons/in_place.cc: New.
786 * testsuite/20_util/any/make_any.cc: Likewise.
787 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
788 * testsuite/20_util/any/misc/swap.cc: Likewise.
789 * testsuite/20_util/any/modifiers/1.cc: Likewise.
790 * testsuite/20_util/any/requirements.cc: New.
791 * testsuite/20_util/in_place/requirements.cc: Likewise.
792 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
793 * testsuite/20_util/optional/in_place.cc: Likewise.
794 * testsuite/20_util/optional/make_optional.cc: Add tests for
795 the new overloads of make_optional.
796
c0d31471
VV
7972016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
798
799 Implement P0307R2, Making Optional Greater Equal Again.
800 * include/experimental/optional (_Has_addressof): Fix the comment.
801 * include/std/optional (_Has_addressof): Likewise.
802 (operator=(_Up&&)): Constrain.
803 (operator=(const optional<_Up>&)): Likewise.
804 (operator=(optional<_Up>&&)): Likewise.
805 (__optional_relop_t): New.
806 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
807 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
808 Constrain and make transparent.
809 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
810 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
811 Constrain and make transparent.
812 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
813 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
814 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
815 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
816 (operator!=(const optional<_Tp>&, _Tp const&)):
817 Constrain and make transparent.
818 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
819 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
820 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
821 (operator>(const optional<_Tp>&, const _Tp&)):
822 Constrain and make transparent.
823 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
824 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
825 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
826 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
827 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
828 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
829 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
830 * testsuite/20_util/optional/relops/1.cc: Likewise.
831 * testsuite/20_util/optional/relops/2.cc: Likewise.
832 * testsuite/20_util/optional/relops/3.cc: Likewise.
833 * testsuite/20_util/optional/relops/4.cc: Likewise.
834 * testsuite/20_util/optional/requirements.cc: Add tests to verify
835 that optional's relops are transparent and don't synthesize
836 operators. Also test that assignment sfinaes.
837
260d92cd
JW
8382016-07-13 Jonathan Wakely <jwakely@redhat.com>
839
e383deac
JW
840 PR libstdc++/71856
841 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
842 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
843 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
844 on _GLIBCXX_ASSERTIONS.
845 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
846 Include <unistd.h> for sleep.
847 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
848 * include/parallel/merge.h: Likewise.
849 * include/parallel/multiway_merge.h: Likewise.
850 * include/parallel/partition.h: Likewise.
851 * include/parallel/queue.h: Likewise.
852 * include/parallel/sort.h: Likewise.
853 * testsuite/25_algorithms/headers/algorithm/
854 parallel_algorithm_assert.cc: New.
855
17f8dc93
JW
856 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
857 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
858 Forward to different overload.
859
260d92cd
JW
860 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
861 static.
862
2d60da10
JW
8632016-07-13 Jonathan Wakely <jwakely@redhat.com>
864
865 Revert "Add non-const overload of std::string::data()".
866
05505e9d
VV
8672016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
868
86c0ec1d
VV
869 Implement P0307R2, Making Optional Greater Equal Again.
870 * include/experimental/optional (_Has_addressof): Fix the comment.
871 * include/std/optional (_Has_addressof): Likewise.
872 (operator=(_Up&&)): Constrain.
873 (operator=(const optional<_Up>&)): Likewise.
874 (operator=(optional<_Up>&&)): Likewise.
875 (__optional_relop_t): New.
876 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
877 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
878 Constrain and make transparent.
879 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
880 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
881 Constrain and make transparent.
882 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
883 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
884 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
885 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
886 (operator!=(const optional<_Tp>&, _Tp const&)):
887 Constrain and make transparent.
888 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
889 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
890 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
891 (operator>(const optional<_Tp>&, const _Tp&)):
892 Constrain and make transparent.
893 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
894 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
895 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
896 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
897 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
898 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
899 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
900 * testsuite/20_util/optional/relops/1.cc: Likewise.
901 * testsuite/20_util/optional/relops/2.cc: Likewise.
902 * testsuite/20_util/optional/relops/3.cc: Likewise.
903 * testsuite/20_util/optional/relops/4.cc: Likewise.
904 * testsuite/20_util/optional/requirements.cc: Add tests to verify
905 that optional's relops are transparent and don't synthesize
906 operators. Also test that assignment sfinaes.
907
ceea48fc
JW
9082016-07-13 Jonathan Wakely <jwakely@redhat.com>
909
910 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
911 New function.
912 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
913 instead of _M_data().
914 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
915 Likewise.
916 (append(const basic_string&)): Likewise.
917 (append(const basic_string&, size_type, size_type)): Likewise.
918 (assign(const basic_string&, size_type, size_type)): Likewise.
919 (insert(size_type, const basic_string&)): Likewise.
920 (insert(size_type, const basic_string&, size_type, size_type)):
921 Likewise.
922 (replace(size_type, size_type, const basic_string&, size_type,
923 size_type)): Likewise.
924 (replace(__const_iterator, __const_iterator, const basic_string&)):
925 Likewise.
926 (c_str(), data()): Use c_str() instead of _M_data().
927 (data()): Add non-const overload as per LWG 2391 and P0272R1.
928 (compare(const basic_string&)): Use data() instead of _M_data().
929 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
930 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
931 Pass raw pointers to _S_copy.
932 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
933 _S_assign.
934 (find(const _CharT*, size_type, size_type)): Use data instead of
935 _M_data().
936 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
937 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
938 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
939
17b31c05
JW
9402016-07-12 Jonathan Wakely <jwakely@redhat.com>
941
7cbadfdc
JW
942 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
943 * doc/xml/manual/intro.xml: Document DR 2458 status.
944 * doc/html*: Regenerate.
945
1b24fb4c
JW
946 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
947 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
948 Only include <array>.
949 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
950 Likewise.
1b1c16e0 951 * doc/xml/manual/intro.xml: Document LWG 2212 support.
1b24fb4c
JW
952 * doc/html*: Regenerate.
953
17b31c05
JW
954 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
955 Add testcase from LWG 2164.
956
76225d2c
FD
9572016-07-11 François Dumont <fdumont@gcc.gnu.org>
958
959 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
960 to _M_realloc_insert.
961 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
962 (_M_realloc_insert): Declare new function.
963 (_M_emplace_back_aux): Remove definition.
964 * include/bits/vector.tcc (emplace_back(_Args...)):
965 Use _M_realloc_insert.
966 (insert(const_iterator, const value_type&)): Likewise.
967 (_M_insert_rval, _M_emplace_aux): Likewise.
968 (_M_emplace_back_aux): Remove declaration.
969 (_M_realloc_insert): Define.
970 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
971 Adjust expected results for emplacing an lvalue with reallocation.
972
435e56fb
VV
9732016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
974
975 Implement std::optional.
976 * include/Makefile.am: Add optional to exported headers.
977 * include/Makefile.in: Likewise.
978 * include/std/optional: New.
979 * testsuite/20_util/optional/typedefs.cc: Likewise.
980 * testsuite/20_util/optional/relops/2.cc: Likewise.
981 * testsuite/20_util/optional/relops/3.cc: Likewise.
982 * testsuite/20_util/optional/relops/4.cc: Likewise.
983 * testsuite/20_util/optional/relops/5.cc: Likewise.
984 * testsuite/20_util/optional/relops/1.cc: Likewise.
985 * testsuite/20_util/optional/relops/6.cc: Likewise.
986 * testsuite/20_util/optional/nullopt.cc: Likewise.
987 * testsuite/20_util/optional/in_place.cc: Likewise.
988 * testsuite/20_util/optional/make_optional.cc: Likewise.
989 * testsuite/20_util/optional/assignment/2.cc: Likewise.
990 * testsuite/20_util/optional/assignment/3.cc: Likewise.
991 * testsuite/20_util/optional/assignment/4.cc: Likewise.
992 * testsuite/20_util/optional/assignment/5.cc: Likewise.
993 * testsuite/20_util/optional/assignment/1.cc: Likewise.
994 * testsuite/20_util/optional/assignment/6.cc: Likewise.
995 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
996 * testsuite/20_util/optional/cons/default.cc: Likewise.
997 * testsuite/20_util/optional/cons/move.cc: Likewise.
998 * testsuite/20_util/optional/cons/value.cc: Likewise.
999 * testsuite/20_util/optional/cons/copy.cc: Likewise.
1000 * testsuite/20_util/optional/requirements.cc: Likewise.
1001 * testsuite/20_util/optional/observers/2.cc: Likewise.
1002 * testsuite/20_util/optional/observers/3.cc: Likewise.
1003 * testsuite/20_util/optional/observers/4.cc: Likewise.
1004 * testsuite/20_util/optional/observers/5.cc: Likewise.
1005 * testsuite/20_util/optional/observers/1.cc: Likewise.
1006 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
1007 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
1008 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1009 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
1010 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
1011 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
1012 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
1013 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
1014 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
1015 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
1016 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
1017 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
1018 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
1019 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
1020 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
1021 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
1022 * testsuite/20_util/optional/swap/1.cc: Likewise.
1023
d81102f4
JW
10242016-07-08 Jonathan Wakely <jwakely@redhat.com>
1025
1026 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
1027
9fc0faf0
JW
10282016-07-07 Jonathan Wakely <jwakely@redhat.com>
1029
1030 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
1031 * doc/html/*: Regenerate.
1032
52e86221
VV
10332016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
1034
1035 Implement std::any.
1036 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
1037 * include/Makefile.in: Likewise.
1038 * include/std/any: New.
1039 * testsuite/20_util/any/assign/1.cc: Likewise.
1040 * testsuite/20_util/any/assign/2.cc: Likewise.
1041 * testsuite/20_util/any/assign/self.cc: Likewise.
1042 * testsuite/20_util/any/cons/1.cc: Likewise.
1043 * testsuite/20_util/any/cons/2.cc: Likewise.
1044 * testsuite/20_util/any/cons/aligned.cc: Likewise.
1045 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
1046 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
1047 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
1048 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
1049 * testsuite/20_util/any/misc/swap.cc: Likewise.
1050 * testsuite/20_util/any/modifiers/1.cc: Likewise.
1051 * testsuite/20_util/any/observers/type.cc: Likewise.
1052 * testsuite/20_util/any/typedefs.cc: Likewise.
1053
3042e708
VV
10542016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1055
1056 Add a new header for diagnosing the use of C++17 facilities
1057 in pre-C++17 modes.
1058 * include/bits/c++17_warning.h: New.
1059
6ffe8548
VV
10602016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1061
1062 Implement LWG 2451, optional<T> should 'forward' T's
1063 implicit conversions.
1064 * include/experimental/optional (__is_optional_impl, __is_optional):
1065 New.
1066 (optional()): Make constexpr and default.
1067 (optional(_Up&&), optional(const optional<_Up>&),
1068 optional(optional<_Up>&& __t): New.
1069 (operator=(_Up&&)): Constrain.
1070 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
1071 * testsuite/experimental/optional/cons/value.cc:
1072 Add tests for the functionality added by LWG 2451.
1073 * testsuite/experimental/optional/cons/value_neg.cc: New.
1074
7d4f48b5
VV
10752016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1076
1077 Implement LWG 2509,
1078 any_cast doesn't work with rvalue reference targets and cannot
1079 move with a value target.
1080 * include/experimental/any (any(_ValueType&&)): Constrain and
1081 add an overload that doesn't forward.
1082 (any_cast(any&&)): Constrain and add an overload that moves.
1083 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
1084 the functionality added by LWG 2509.
1085
097e8994
FD
10862016-07-04 François Dumont <fdumont@gcc.gnu.org>
1087
1088 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
1089 New test.
1090 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
1091 test.
1092
9958c7eb
JW
10932016-07-04 Jonathan Wakely <jwakely@redhat.com>
1094
1095 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
1096 Define inline. Forward to _M_emplace_aux.
1097 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
1098 (_M_insert_rval, _M_emplace_aux): Declare new functions.
1099 (_Temporary_value): New RAII type using allocator to construct/destroy.
1100 (_S_insert_aux_assign): Remove.
1101 (_M_insert_aux): Make non-variadic.
1102 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
1103 Use _Temporary_value.
1104 (emplace(const_iterator, _Args&&...)): Remove definition.
1105 (_M_insert_rval, _M_emplace_aux): Define.
1106 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
1107 (_M_fill_insert): Use _Temporary_value.
1108 * testsuite/23_containers/vector/allocator/construction.cc: New test.
1109 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
1110 Adjust expected results for emplacing an lvalue with reallocation.
1111 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
1112 expected results to account for construction/destruction of temporary
1113 using allocator.
1114 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
1115
e12880f9
VV
11162016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
1117
1118 PR libstdc++/71313
1119 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
1120 Call remove_all for children of a directory.
1121 * testsuite/experimental/filesystem/operations/create_directories.cc:
1122 Adjust.
1123
6c539f2e
FD
11242016-07-02 François Dumont <fdumont@gcc.gnu.org>
1125
1126 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
1127 dg-error line numbers.
1128 * testsuite/23_containers/array/tuple_interface/
1129 tuple_element_debug_neg.cc: Likewise.
1130 * testsuite/25_algorithms/lexicographical_compare/debug/
1131 irreflexive_neg.cc: Remove.
1132
72fb6bae
TP
11332016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
1134
1135 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
1136 than specific target.
1137
dc448fa0
FD
11382016-06-27 François Dumont <fdumont@gcc.gnu.org>
1139
1140 PR libstdc++/71640
1141 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
1142 friend declaration.
1143
e615c24c
FD
11442016-06-23 François Dumont <fdumont@gcc.gnu.org>
1145
1146 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
1147 zero-size array.
1148
0609abda
TS
11492016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1150
1151 * configure.host: Remove mep-* support.
1152
8466af06
TS
11532016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1154
1155 * configure: Regenerate.
1156 * configure.host: Remove support for knetbsd.
1157 * crossconfig.m4: Likewise.
1158
29dbb034
FD
11592016-06-20 François Dumont <fdumont@gcc.gnu.org>
1160
1161 PR libstdc++/71181
1162 * include/tr1/hashtable_policy.h
1163 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
1164 dereferenceable to avoid check on lower_bound result.
1165 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
1166 (_Prime_rehash_policy::_M_need_rehash): Likewise.
1167 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
1168 Always return a value greater than input value. Set _M_next_resize to
1169 max value when reaching highest prime number.
1170 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
1171 being now useless.
1172 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
1173 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
1174 (test02): New.
1175 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
1176 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
1177 Fix indentation.
1178
3ebacabd
JW
11792016-06-17 Jonathan Wakely <jwakely@redhat.com>
1180
1181 PR libstdc++/71545
1182 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
1183 Remove irreflexive checks.
1184 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
1185 binary_search): Likewise.
1186 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
1187 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
1188 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
1189 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
1190 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
1191 Add constructor from array.
1192
bd2ee798
FD
11932016-06-16 François Dumont <fdumont@gcc.gnu.org>
1194
1195 * include/debug/debug.h
1196 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
1197 (__glibcxx_requires_subscript): Move...
1198 * include/debug/assertions.h: ...here and add __builtin_expect.
1199 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
1200 * include/bits/stl_deque.h
1201 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
1202 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
1203 (std::deque<>::back()): Likewise.
1204 (std::deque<>::pop_front()): Likewise.
1205 (std::deque<>::pop_back()): Likewise.
1206 (std::deque<>::swap(deque&)): Add allocator check.
1207 * include/bits/stl_vector.h
1208 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
1209 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
1210 (std::vector<>::back()): Likewise.
1211 (std::vector<>::pop_back()): Likewise.
1212 (std::vector<>::swap(vector&)): Add allocator check.
1213
6b9539e2
DK
12142016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
1215
1216 Provide swappable traits (p0185r1)
1217 * include/std/type_traits (is_swappable, is_nothrow_swappable,
1218 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
1219 is_nothrow_swappable_v, is_swappable_with_v,
1220 is_nothrow_swappable_with_v): New.
1221 * include/bits/stl_pair.h: Use it as per p0185r1.
1222 * include/bits/stl_queue.h: Likewise.
1223 * include/bits/stl_stack.h: Likewise.
1224 * include/bits/unique_ptr.h: Likewise.
1225 * include/std/tuple: Likewise.
1226 * include/std/array: Likewise. Fix zero-size member swap.
1227 * include/bits/hashtable.h: Use __and_.
1228 * testsuite/20_util/is_nothrow_swappable/requirements/
1229 explicit_instantiation.cc: Change test options to std=gnu++17.
1230 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
1231 Likewise.
1232 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
1233 * testsuite/20_util/is_swappable/requirements/
1234 explicit_instantiation.cc: Likewise.
1235 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
1236 * testsuite/20_util/is_swappable/value.cc: Likewise.
1237 * testsuite/20_util/is_nothrow_swappable/requirements/
1238 explicit_instantiation_ext.cc: New.
1239 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
1240 New.
1241 * testsuite/20_util/is_nothrow_swappable/value.h: New.
1242 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
1243 * testsuite/20_util/is_nothrow_swappable_with/requirements/
1244 explicit_instantiation.cc: New.
1245 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
1246 New.
1247 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
1248 * testsuite/20_util/is_swappable/requirements/
1249 explicit_instantiation_ext.cc: New.
1250 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
1251 * testsuite/20_util/is_swappable/value.h: New.
1252 * testsuite/20_util/is_swappable/value_ext.cc: New.
1253 * testsuite/20_util/is_swappable_with/requirements/
1254 explicit_instantiation.cc: New.
1255 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
1256 * testsuite/20_util/is_swappable_with/value.cc: New.
1257 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
1258 dg-error line numbers.
1259 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1260 Likewise.
1261
0ae207e9
JW
12622016-06-16 Jonathan Wakely <jwakely@redhat.com>
1263
33ac58d5
JW
1264 * include/std/array: Remove trailing whitespace.
1265 * include/std/atomic: Likewise.
1266 * include/std/bitset: Likewise.
1267 * include/std/chrono: Likewise.
1268 * include/std/complex: Likewise.
1269 * include/std/condition_variable: Likewise.
1270 * include/std/fstream: Likewise.
1271 * include/std/functional: Likewise.
1272 * include/std/future: Likewise.
1273 * include/std/iomanip: Likewise.
1274 * include/std/iosfwd: Likewise.
1275 * include/std/istream: Likewise.
1276 * include/std/limits: Likewise.
1277 * include/std/ratio: Likewise.
1278 * include/std/scoped_allocator: Likewise.
1279 * include/std/sstream: Likewise.
1280 * include/std/stdexcept: Likewise.
1281 * include/std/string: Likewise.
1282 * include/std/system_error: Likewise.
1283 * include/std/thread: Likewise.
1284 * include/std/tuple: Likewise.
1285 * include/std/type_traits: Likewise.
1286 * include/std/utility: Likewise.
1287 * include/std/valarray: Likewise.
1288 * include/std/vector: Likewise.
1289
0ae207e9
JW
1290 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
1291 new overloaded functions.
1292 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
1293 to avoid creating a redundant temporary.
1294 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
1295 test.
1296
d7e16fc5
FD
12972016-06-15 François Dumont <fdumont@gcc.gnu.org>
1298
1299 * include/bits/stl_deque.h
1300 (std::deque<>::operator=): Call _M_assign_aux.
1301 (std::deque<>::assign(initializer_list<>)): Likewise.
1302 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
1303 (std::deque<>::insert(const_iterator, initializer_list<>)):
1304 Call _M_range_insert_aux.
1305 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
1306 Likewise.
1307 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
1308 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
1309 * include/bits/deque.tcc
1310 (std::deque<>::operator=): Call _M_range_insert_aux.
1311 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
1312 Likewise.
1313 * include/bits/stl_vector.h
1314 (std::vector<>::operator=): Call _M_assign_aux.
1315 (std::vector<>::assign(initializer_list<>)): Likewise.
1316 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
1317 (std::vector<>::insert(const_iterator, initializer_list<>)):
1318 Call _M_range_insert.
1319 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
1320
373c0095
FD
13212016-06-07 François Dumont <fdumont@gcc.gnu.org>
1322
1323 * include/std/tuple (_Head_base<>): Default specialization condition at
1324 type declaration.
1325
dbc6221f
VV
13262016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1327
1328 Support allocators in tuples of zero size.
1329 * include/std/tuple (tuple<>::tuple(),
1330 tuple<>::tuple(allocator_arg_t, const _Alloc&),
1331 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
1332 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
1333
94229fb6
JW
13342016-06-06 Jonathan Wakely <jwakely@redhat.com>
1335
1336 PR libstdc++/71320
1337 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
1338 Add or remove permissions according to perms argument.
1339 * testsuite/experimental/filesystem/operations/permissions.cc: New
1340 test.
1341
7a667453
VV
13422016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1343
1344 Protect allocator-overloads of tuple-from-tuple constructors
1345 from cases that would create dangling references.
1346 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1347 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
1348 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
1349 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
1350
4acc3634
GP
13512016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
1352
1353 * doc/xml/manual/backwards_compatibility.xml: Adjust
1354 lists.debian.org link to https.
1355 * doc/html/manual/backwards.html: Regenerate.
1356
9020909e
JW
13572016-05-27 Jonathan Wakely <jwakely@redhat.com>
1358
1359 * doc/xml/manual/abi.xml: Adjust URL to use https.
1360 * doc/html/manual/*: Regenerate.
1361
b7021006
VV
13622016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
1363
1364 PR libstdc++/66338
1365 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
1366 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
1367 check for _NotSameTuple.
1368 * include/std/tuple (_TMCT): New.
1369 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
1370 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
1371 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1372 const tuple<_UElements...>&)): Likewise.
1373 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1374 tuple<_UElements...>&&)): Likewise.
1375 * testsuite/20_util/tuple/cons/66338.cc: New.
1376
834f4c43
JW
13772016-05-25 Jonathan Wakely <jwakely@redhat.com>
1378
c42d2288
JW
1379 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
1380 * configure: Regenerate.
1381 * config.h.in: Regenerate.
1382
834f4c43
JW
1383 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
1384 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
1385 Remove const qualification on function. Replace
1386 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
1387 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
1388 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
1389
732eb076
FD
13902016-05-24 François Dumont <fdumont@gcc.gnu.org>
1391
1392 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
1393 * include/bits/hashtable_policy.h
1394 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
1395 having load factor management.
1396 (_Mask_range_hashing): New.
1397 (__clp2): New.
1398 (_Power2_rehash_policy): New.
1399 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
1400 partial specializations only depend on whether iterators are constant
1401 or not.
1402 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
1403 test new hash policy.
1404 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
1405 Likewise.
1406 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
1407 Likewise.
1408 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
1409 Likewise.
1410 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
1411 Likewise.
1412 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
1413 New.
1414 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
1415 using the new hash policy.
1416 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
1417
8be062c6
JW
14182016-05-24 Jonathan Wakely <jwakely@redhat.com>
1419
1420 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
1421
447caf82
FD
14222016-05-23 François Dumont <fdumont@gcc.gnu.org>
1423
1424 * include/debug/safe_iterator.h
1425 (_Safe_iterator<>::operator->()): Implement using underlying iterator
1426 operator ->.
1427 * include/debug/safe_local_iterator.h
1428 (_Safe_local_iterator<>::operator->()): Likewise.
1429
11f8114b
TP
14302016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
1431
1432 * testsuite/experimental/memory_resource/1.cc: Add required argument
1433 to dg-require-atomic-builtins.
1434
541a9b10
JW
14352016-05-13 Jonathan Wakely <jwakely@redhat.com>
1436
1437 PR libstdc++/71073
1438 * include/debug/bitset: Add #pragma GCC system_header.
1439 * include/debug/deque: Likewise.
1440 * include/debug/list: Likewise.
1441 * include/debug/map: Likewise.
1442 * include/debug/set: Likewise.
1443 * include/debug/string: Likewise.
1444 * include/debug/unordered_map: Likewise.
1445 * include/debug/unordered_set: Likewise.
1446 * include/debug/vector: Likewise.
1447 * include/debug/functions.h: Adjust whitespace.
1448
068b220e
JW
14492016-05-12 Jonathan Wakely <jwakely@redhat.com>
1450
1451 PR libstdc++/71081
1452 * testsuite/experimental/memory_resource/1.cc: Require atomics.
1453
3d73ae6e
JW
14542016-05-11 Jonathan Wakely <jwakely@redhat.com>
1455
1456 PR libstdc++/71049
1457 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
1458 exception constructors with __sso_string parameters.
1459
d7187f9e
JW
14602016-05-10 Jonathan Wakely <jwakely@redhat.com>
1461
7f99d40a
JW
1462 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
1463 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1464 Test begin and end functions.
1465 * testsuite/experimental/filesystem/iterators/
1466 recursive_directory_iterator.cc: Likewise.
1467
6fe673ad
JW
1468 PR libstdc++/71038
1469 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
1470 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
1471
77a87b2a
JW
1472 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1473 Overload operator* to move from rvalues.
1474
f9a39467
JW
1475 PR libstdc++/71036
1476 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
1477 * testsuite/experimental/filesystem/operations/create_directory.cc:
1478 New test.
1479
6f0800d4
JW
1480 PR libstdc++/71037
1481 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
1482 base path to exception.
1483 * testsuite/experimental/filesystem/operations/canonical.cc: Test
1484 paths contained in exception.
1485
f10b2e1c
JW
1486 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
1487 using declaration.
1488
d7187f9e
JW
1489 PR libstdc++/71005
1490 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1491 New type.
1492 (directory_iterator::operator++(int)): Return proxy.
1493 (recursive_directory_iterator::operator++(int)): Likewise.
1494 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1495 Test post-increment.
1496 * testsuite/experimental/filesystem/iterators/
1497 recursive_directory_iterator.cc: Likewise.
1498
7972e246
JW
14992016-05-09 Jonathan Wakely <jwakely@redhat.com>
1500
1501 PR libstdc++/71004
1502 * testsuite/experimental/filesystem/iterators/
1503 recursive_directory_iterator.cc: Fix test02 to not call member
1504 functions on invalid iterator, and use VERIFY not assert.
1505
fb334765
VV
15062016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
1507
1508 Avoid endless run-time recursion for copying single-element
1509 tuples where the element type is by-value constructible
1510 from any type.
1511 * include/std/tuple (_NotSameTuple): New.
1512 * include/std/tuple (tuple(_UElements&&...): Use it.
1513 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
1514
e4cce0ce
JW
15152016-05-09 Jonathan Wakely <jwakely@redhat.com>
1516
1517 PR libstdc++/71004
1518 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
1519 Initialize scalar member variables in default constructor.
1520 * testsuite/experimental/filesystem/iterators/
d7187f9e 1521 recursive_directory_iterator.cc: Test default construction.
e4cce0ce 1522
40436d81
RO
15232016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1524
1525 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
1526
f5c40ce2
JW
15272016-05-05 Jonathan Wakely <jwakely@redhat.com>
1528
1529 * testsuite/experimental/filesystem/path/native/string.cc: Add
1530 dg-require-filesystem-ts directive.
1531
d9cb3e75
JW
15322016-05-04 Jonathan Wakely <jwakely@redhat.com>
1533
1534 PR libstdc++/70940
1535 * include/experimental/memory_resource
1536 (__resource_adaptor_imp::do_allocate): Do not default-construct
1537 rebound allocator.
1538 (__resource_adaptor_imp::do_deallocate): Likewise. Use
1539 allocator_traits to get pointer type.
1540 (__null_memory_resource::do_allocate): Remove unused parameters.
1541 (__null_memory_resource::do_deallocate): Likewise.
1542 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
1543 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
1544 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
1545 move to ...
1546 * testsuite/experimental/memory_resource/1.cc: Here.
1547 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
1548 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
1549
f92ab29f
CG
15502016-04-29 Chris Gregory <czipperz@gmail.com>
1551
1552 * config/*: Remove trailing whitespace.
1553 * src/*: Likewise.
1554 * testsuite/tr1/*: Likewise.
1555 * testsuite/util/*: Likewise.
1556
272b2ce4
JW
15572016-04-28 Jonathan Wakely <jwakely@redhat.com>
1558
9f9eb84e
JW
1559 PR libstdc++/70766
1560 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
1561 __addressof.
1562 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
1563 Likewise.
1564 * include/std/atomic (atomic<_Tp>): Likewise.
1565 * include/std/shared_mutex (shared_lock): Likewise.
1566 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
1567 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
1568 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1569 * testsuite/29_atomics/atomic/70766.cc: New test.
1570 * testsuite/30_threads/shared_lock/70766.cc: New test.
1571
272b2ce4
JW
1572 * include/bits/hashtable_policy.h (__detail::_Insert_base,
1573 __detail::_Insert): Improve comments.
1574
45e20696
JW
15752016-04-27 Jonathan Wakely <jwakely@redhat.com>
1576
1577 PR libstdc++/70767
1578 * include/std/limits: Update comments about DRs.
1579 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
1580 numeric_limits<const volatile _Tp>): Define unconditionally.
1581
a635cdb2
JW
15822016-04-24 Jonathan Wakely <jwakely@redhat.com>
1583
1584 PR libstdc++/70762
1585 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
1586 static counter to return a different path on every call.
1587
216f7526
TS
15882016-04-22 Tim Shen <timshen@google.com>
1589
1590 PR libstdc++/70745
1591 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
1592 Fix the match_not_bow and match_not_eow behavior.
1593 * testsuite/28_regex/regression.cc: Add testcase.
1594
a1e1ec76
JW
15952016-04-20 Jonathan Wakely <jwakely@redhat.com>
1596
1597 PR libstdc++/69703
1598 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
1599 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
1600
9c476ad4
JW
16012016-04-19 Jonathan Wakely <jwakely@redhat.com>
1602
29ca91f7 1603 PR libstdc++/69703
a1e1ec76 1604 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
29ca91f7
JW
1605 Override endianness bit in mode.
1606 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
1607 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
1608 that little_endian mode is ignored.
1609 * testsuite/experimental/filesystem/path/native/string.cc: New test.
1610
14905251
JW
1611 PR libstdc++/70609
1612 * src/filesystem/ops.cc (close_fd): New function.
1613 (do_copy_file): Set permissions before copying file contents. Check
1614 result of closing file descriptors. Don't copy streambuf when file
1615 is empty.
1616 (copy(const path&, const path&, copy_options, error_code&)): Use
1617 lstat for source file when copy_symlinks is set.
1618 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
1619
9c476ad4
JW
1620 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
1621 operator~ operator&=, operator|=, operator^=): Add noexcept to
1622 overloaded operators for copy_options, perms and directory_options.
1623 * src/filesystem/ops.cc (make_file_type, make_file_status,
1624 is_not_found_errno, file_time): Add noexcept.
1625
d855ad89
ESR
16262016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
1627
1628 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
1629
8dc1e574
JW
16302016-04-18 Jonathan Wakely <jwakely@redhat.com>
1631
0cded43d
JW
1632 PR libstdc++/41759
1633 * include/bits/random.h: Reword static assertion messages to state
1634 positive conditions.
1635 * include/bits/random.tcc: Likewise.
1636 * include/bits/uniform_int_dist.h: Likewise.
1637 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
1638 patterns.
1639
90751aa7
JW
1640 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
1641
351a5f81
JW
1642 * config/cpu/sh/atomicity.h: Fix typo in comment.
1643
b05cf382
JW
1644 PR libstdc++/70294
1645 * include/std/thread (operator<, operator==): Move definitions to
1646 namespace-scope.
1647 * testsuite/30_threads/thread/id/70294.cc: New test.
1648
4ed6e524
JW
1649 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
1650 -Wno-pedantic to dg-options.
1651 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
1652 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
1653 to dg-options.
1654 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
1655 Remove extra semi-colon.
1656 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
1657 Always supply second argument to static_assert.
1658 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
1659 semi-colon.
1660 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
1661 dg-options.
1662 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
1663 * testsuite/29_atomics/atomic/60695.cc: Likewise.
1664 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
1665 alignof when operand is an object not a type.
1666 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
1667 * testsuite/decimal/make-decimal.cc: Likewise.
1668 * testsuite/experimental/type_traits/value.cc: Always supply second
1669 argument to static_assert.
1670 * testsuite/util/testsuite_common_types.h: Use __extension__ for
1671 __int128 types.
1672
abb6e0a1
JW
1673 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
1674 internal header.
1675 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
1676 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
1677 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
1678 Likewise. Add licence and change to compile-only test.
1679
6b6147dd
JW
1680 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
1681 unused parameter.
1682 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
1683
8dc1e574
JW
1684 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
1685 warnings.
1686
80dbaf98
ESR
16872016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
1688
1689 * include/bits/specfun.h: Trivial comment misspelling.
1690
9f285ccb
JM
16912016-04-14 Jason Merrill <jason@redhat.com>
1692
1693 Revert Jonathan's empty ABI change from yesterday.
1694
342fac95
MS
16952016-04-13 Martin Sebor <msebor@redhat.com>
1696
1697 PR c++/69517
1698 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
1699 upper bound is positive.
1700
a6297ab5
JW
17012016-04-13 Jonathan Wakely <jwakely@redhat.com>
1702
1703 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
1704 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
1705 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
1706 of functions taking empty structs by value. Add a template parameter
1707 to overloads without hints. Rename overloads with hints to
1708 _M_emplace_hint.
1709 (_Hashtable::_M_erase(true_type, const_iterator),
1710 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
1711 by reordering parameters.
1712 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
1713 _M_emplace_hint instead of _M_emplace.
1714 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
1715 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
1716 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
1717 __shared_ptr): Likewise.
1718 * include/bits/stl_algo.h (replace_if): Likewise.
1719 * include/bits/stl_pair.h (piecewise_construct_t,
1720 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
1721 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
1722 __uses_alloc0): Likewise.
1723 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
1724 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
1725 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
1726 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1727 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
1728 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
1729 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
1730
0c39f36d
ESR
17312016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
1732
1733 Document C++17/TR29124 C++ Special Math Functions.
1734 * include/bits/specfun.h: Add Doxygen markup.
1735
6da8b931
JW
17362016-04-07 Jonathan Wakely <jwakely@redhat.com>
1737
1738 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
1739
49a52ebc
EB
17402016-04-06 Eric Botcazou <ebotcazou@adacore.com>
1741
1742 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
1743 * src/Makefile.in: Regenerate.
1744
87cec93e
JW
17452016-04-05 Jonathan Wakely <jwakely@redhat.com>
1746
d2aee115
JW
1747 PR libstdc++/70554
1748 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
1749 __atomic_fetch_add for bool.
1750 * configure: Regenerate.
1751
d5ec69f3
JW
1752 * testsuite/30_threads/thread/70503.cc: Require -static to work.
1753
87cec93e
JW
1754 PR libstdc++/70503
1755 * src/c++11/thread.cc (execute_native_thread_routine,
1756 execute_native_thread_routine_compat): Give internal linkage.
1757 * testsuite/30_threads/thread/70503.cc: New test.
1758
7b3318c4
VV
17592016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1760
1761 PR libstdc++/70437
1762 * include/bits/stl_pair.h (_ConstructiblePair,
1763 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
1764 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
1765 for same-type cases.
1766 * testsuite/20_util/pair/70437.cc: New.
1767
00e6c25a
JW
17682016-03-24 Jonathan Wakely <jwakely@redhat.com>
1769
1770 PR libstdc++/69945
1771 * config/abi/pre/gnu.ver: Add new symbol.
1772 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
1773 * testsuite/18_support/free_eh_pool.cc: New test.
1774
bfd84e6b
BE
17752016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
1776
1777 * include/Makefile.am (install-freestanding-headers): Add
1778 concept_check.h and move.h to the installed headers.
1779 * include/Makefile.in: Regenerated.
1780 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
1781 freestanding implementations.
1782 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
1783 that this macro has no effect for freestanding implementations.
1784 * doc/html/manual/using_macros.html: Likewise.
1785
86715b09
JW
17862016-02-24 Jonathan Wakely <jwakely@redhat.com>
1787
1788 PR libstdc++/69939
1789 * include/experimental/tuple (__apply_impl): Qualify get and forward.
1790
9aee022e
JW
17912016-02-23 Jonathan Wakely <jwakely@redhat.com>
1792
be9967e8
JW
1793 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
1794 * doc/html/*: Regenerate.
1795
9aee022e
JW
1796 PR libstdc++/69893
1797 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
1798 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
1799 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
1800 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
1801 trunc) [__cplusplus >= 201103L]: Import from namespace std.
1802 (fabs) [__cplusplus < 201103L]: Import from namespace std.
1803 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
1804 Likewise.
1805 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
1806 namespace before including TR1 headers.
1807 * testsuite/tr1/headers/c++200x/math.cc: New test.
1808
5f6dd593
BE
18092016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
1810
1811 PR libstdc++/69881
1812 * include/c_global/cstdarg: Undefine __need___va_list.
1813 * include/c_global/cstddef: Undefine all kinds of __need_*.
1814
244901a5
TS
18152016-02-16 Tim Shen <timshen@google.com>
1816
1817 PR libstdc++/69794
1818 * include/bits/regex_scanner.h: Add different special character
1819 sets for grep and egrep regex.
1820 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
1821 * testsuite/28_regex/regression.cc: Add new testcase.
1822
cc07da33
JW
18232016-02-08 Jonathan Wakely <jwakely@redhat.com>
1824
2158532f
JW
1825 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
1826 added 'constexpr' in previous commit.
1827 * configure: Regenerate.
1828
cc07da33
JW
1829 PR libstdc++/48891
1830 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
1831 checks for all targets except *-*-solaris2.* and ensure we find the
1832 libc math.h header not our own.
1833 * configure: Regenerate.
1834
acc04646
DV
18352016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
1836
1837 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
1838 New file. Copied over from s390-linux-gnu.
1839
dbcda3ee
JW
18402016-02-04 Jonathan Wakely <jwakely@redhat.com>
1841
3555173f
JW
1842 PR libstdc++/69626
1843 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
1844 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
1845 * config.h.in: Regenerate.
1846 * configure: Regenerate.
1847 * testsuite/21_strings/c_strings/char/69626.cc: New.
1848
15ebf379
JW
1849 * doc/html/index.html: Regenerate.
1850
dbcda3ee
JW
1851 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
1852 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
1853 * doc/html/*: Regenerate.
1854
571512d5
BE
18552016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
1856
1857 PR libstdc++/69581
1858 * include/c_compatibility/math.h: Move header guards.
1859 * include/c_compatibility/stdlib.h: Likewise.
1860
f597d5f7
JW
18612016-01-29 Jonathan Wakely <jwakely@redhat.com>
1862
1863 PR libstdc++/69506
1864 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1865
69b0daeb
JDA
18662016-01-28 John David Anglin <danglin@gcc.gnu.org>
1867
1868 PR libstdc++/69450
1869 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
1870 isinf and isnan functions into two independent checks. Check on hpux.
1871 * config.h.in: Regenerate.
1872 * configure: Regenerate.
1873 * include/c_global/cmath (isinf(double), isnan(double)): Use
1874 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
1875 respectively.
1876
8dc781e4
JJ
18772016-01-27 Jakub Jelinek <jakub@redhat.com>
1878
1879 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
1880
bae87f7f
JW
18812016-01-27 Jonathan Wakely <jwakely@redhat.com>
1882
1883 PR libstdc++/69295
1884 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
1885 -ffp-contract=off, and -ffloat-store to disable excess precision.
1886 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
1887 -ffp-contract=off.
1888
f1d591e8
JW
18892016-01-26 Jonathan Wakely <jwakely@redhat.com>
1890
1891 PR libstdc++/69478
1892 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
1893 random_access_iterator_tag>): Check is_move_assignable when moving.
1894 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
1895 Likewise.
1896 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
1897 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
1898 * testsuite/25_algorithms/move/69478.cc: New.
1899 * testsuite/25_algorithms/move_backward/69478.cc: new.
1900
8964d2a0
AP
19012016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
1902
1903 * include/c_compatibility/stdlib.h: Include wide character related
1904 definitions only when they are available in cstdlib.
1905
2944621e
JW
19062016-01-25 Jonathan Wakely <jwakely@redhat.com>
1907
1908 PR libstdc++/69464
1909 * include/Makefile.am: Add new header.
1910 * include/Makefile.in: Regenerate.
1911 * include/bits/random.h (uniform_int_distribution): Move to
1912 bits/uniform_int_dist.h.
1913 * include/bits/random.tcc (uniform_int_distribution::operator(),
1914 uniform_int_distribution::__generate_impl): Likewise.
1915 * include/bits/uniform_int_dist.h: New header.
1916 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
1917 <bits/uniform_int_dist.h> instead of <random>.
1918 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1919 move_iterators/1.cc: Include correct header for uninitialized_copy.
1920 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
1921 move_iterators/1.cc: Likewise.
1922 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
1923 header for vector.
1924 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
1925
3676c087
JDA
19262016-01-23 John David Anglin <danglin@gcc.gnu.org>
1927
1928 PR libstdc++/69446
1929 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1930
02dc2419
ESR
19312016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
1932
1933 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
1934 * include/c_compatibility/math.h: Import the TR29124 functions
1935 into the global namespace.
1936 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
1937 xfail and make compile-only.
1938 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
1939 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
1940 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
1941 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
1942 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
1943 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
1944 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
1945 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
1946 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
1947 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
1948 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
1949 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
1950 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
1951 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
1952 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
1953 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
1954 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
1955 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
1956 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
1957 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
1958
350fe282
JW
19592016-01-22 Jonathan Wakely <jwakely@redhat.com>
1960
d1fb377c
JW
1961 PR libstdc++/69116
1962 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
1963 define result_type for types which can be safely used with valarrays.
1964 * testsuite/26_numerics/valarray/69116.cc: New.
1965
350fe282
JW
1966 PR libstdc++/69413
1967 * config/os/gnu-linux/os_defines.h: Define
1968 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
1969 * include/c_global/cmath (isinf, isnan): Check it.
1970 * doc/xml/manual/internals.xml: Document it.
1971 * doc/html/*: Regenerate.
1972
ab56cbed
JW
19732016-01-21 Jonathan Wakely <jwakely@redhat.com>
1974
1975 PR libstdc++/69406
1976 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
1977 * include/ext/type_traits.h: Likewise.
1978 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
1979 for presence of C headers.
1980 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
1981 dg-error line number.
1982 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
1983 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
1984 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
1985
7e10bcfa
TR
19862016-01-20 Torvald Riegel <triegel@redhat.com>
1987
1988 PR libstdc++/69310
1989 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1990
eac437bf
JW
19912016-01-20 Jonathan Wakely <jwakely@redhat.com>
1992
3f93466a
JW
1993 PR libstdc++/60401
1994 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
1995 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
1996 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
1997 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
1998 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
1999 Add using declarations.
2000 * testsuite/26_numerics/headers/cmath/60401.cc: New.
2001
eac437bf
JW
2002 PR libstdc++/69386
2003 * include/c_global/ccomplex: Ensure C++ language linkage.
2004 * include/c_global/cmath: Likewise.
2005 * include/c_global/cstdlib: Likewise.
2006 * include/c_global/ctgmath: Likewise.
2007 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
2008
96e19ada
JW
20092016-01-19 Jonathan Wakely <jwakely@redhat.com>
2010
2011 PR libstdc++/14608
2012 PR libstdc++/60401
2013 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
2014 --enable-cheaders=c_global configs.
2015 * include/Makefile.in: Regenerate.
2016 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
2017 test and allow inclusion from C files.
2018 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
2019 (at_quick_exit, quick_exit): Add using directives.
2020 * include/c_global/cmath: Use #include_next for math.h.
2021 * include/c_global/cstdlib: Use #include_next for stdlib.h.
2022 * testsuite/26_numerics/headers/cmath/14608.cc: New.
2023 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
2024 Remove xfail for most targets.
2025 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
2026
9585381a
TR
20272016-01-18 Torvald Riegel <triegel@redhat.com>
2028
2029 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
2030 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
2031 and move after its definition.
2032 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
2033 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
2034 __GXX_WEAK__, and only provide transactional clones if
2035 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
2036 functions.
2037
f5460595
JW
20382016-01-18 Jonathan Wakely <jwakely@redhat.com>
2039
c91bcffc
JW
2040 PR libstdc++/60637
2041 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
2042
d75d9f91 2043 PR libstdc++/69243
9c5ad80e
JW
2044 * include/std/functional (_Function_base::_M_not_empty_function):
2045 Change overloads for pointers to take arguments by value.
2046 * testsuite/20_util/function/cons/57465.cc: Add tests for
2047 pointer-to-member cases.
2048
f5460595
JW
2049 PR libstdc++/69340
2050 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
2051 Use macros for exception handling and fix unused parameter warning.
2052
271366f6
JDA
20532016-01-17 John David Anglin <danglin@gcc.gnu.org>
2054
2055 PR libstdc++/68734
2056 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2057
7a5d1d34
TR
20582016-01-17 Torvald Riegel <triegel@redhat.com>
2059
2060 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
2061
5445d5bf
L
20622016-01-16 H.J. Lu <hongjiu.lu@intel.com>
2063
2064 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
2065 __int128 symbols.
2066
3d076231
JW
20672016-01-15 Jonathan Wakely <jwakely@redhat.com>
2068
d7c1581c
JW
2069 PR libstdc++/69293
2070 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
2071 static assertion that type is constructible from the arguments.
2072 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
2073 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
2074 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
2075
3d076231
JW
2076 PR libstdc++/69294
2077 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
2078 and isnan on AIX. Quote variables.
2079 * configure: Regenerate.
2080
a04d5fc9
TR
20812016-01-15 Torvald Riegel <triegel@redhat.com>
2082
2083 * include/bits/basic_string.h (basic_string): Declare friends.
2084 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
2085 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
2086 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
2087 length_error, out_of_range, runtime_error, range_error,
2088 underflow_error, overflow_error): Declare members as transaction-safe.
2089 (logic_error, runtime_error): Declare friend functions.
2090 * libsupc++/exception (exception, bad_exception): Declare members as
2091 transaction-safe.
2092 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
2093 transaction-safe members of exceptions and helper functions.
2094 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
2095 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
2096 (CXXABI_1.3.10): New.
2097 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
2098 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
2099 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
2100 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
2101 * include/Makefile.in: Regenerate.
2102 * config.h.in: Regenerate.
2103 * configure: Regenerate.
2104 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
2105
cebeb718
SE
21062016-01-15 Steve Ellcey <sellcey@imgtec.com>
2107
2108 * include/ext/random.tcc: Use __builtin_isfinite instead of
2109 std::isfinite.
2110
3b07547d
JW
21112016-01-15 Jonathan Wakely <jwakely@redhat.com>
2112
2113 * include/bits/std_mutex.h: Fix Doxygen @file name.
2114
2be75957
ESR
21152016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
2116 Jonathan Wakely <jwakely@redhat.com>
2117 Florian Goth <CaptainSifff@gmx.de>
2118
2119 Implement TR29124 C++ special Math Functions.
2120 * include/Makefile.am: Add new headers.
2121 * include/Makefile.in: Regenerate.
2122 * include/bits/specfun.h: New.
2123 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
2124 * include/tr1/bessel_function.tcc: Ditto.
2125 * include/tr1/beta_function.tcc: Ditto.
2126 * include/tr1/cmath: Ditto.
2127 * include/tr1/ell_integral.tcc: Ditto.
2128 * include/tr1/exp_integral.tcc: Ditto.
2129 * include/tr1/gamma.tcc: Ditto.
2130 * include/tr1/hypergeometric.tcc: Ditto.
2131 * include/tr1/legendre_function.tcc: Ditto.
2132 * include/tr1/modified_bessel_func.tcc: Ditto.
2133 * include/tr1/poly_hermite.tcc: Ditto.
2134 * include/tr1/poly_laguerre.tcc: Ditto.
2135 * include/tr1/riemann_zeta.tcc: Ditto.
2136 * include/tr1/special_function_util.h: Ditto.
2137 * testsuite/ext/special_functions/conf_hyperg: New.
2138 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
2139 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
2140 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
2141 * testsuite/ext/special_functions/hyperg: New.
2142 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
2143 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
2144 * testsuite/ext/special_functions/hyperg/compile.cc: New.
2145 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
2146 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
2147 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
2148 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
2149 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
2150 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
2151 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
2152 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
2153 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
2154 * testsuite/special_functions/03_beta/check_nan.cc: New.
2155 * testsuite/special_functions/03_beta/check_value.cc: New.
2156 * testsuite/special_functions/03_beta/compile.cc: New.
2157 * testsuite/special_functions/03_beta/compile_2.cc: New.
2158 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
2159 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
2160 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
2161 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
2162 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
2163 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
2164 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
2165 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
2166 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
2167 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
2168 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
2169 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
2170 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
2171 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
2172 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
2173 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
2174 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
2175 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
2176 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
2177 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
2178 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
2179 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
2180 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
2181 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
2182 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
2183 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
2184 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
2185 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
2186 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
2187 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
2188 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
2189 * testsuite/special_functions/11_ellint_1/compile.cc: New.
2190 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
2191 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
2192 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
2193 * testsuite/special_functions/12_ellint_2/compile.cc: New.
2194 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
2195 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
2196 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
2197 * testsuite/special_functions/13_ellint_3/compile.cc: New.
2198 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
2199 * testsuite/special_functions/14_expint/check_nan.cc: New.
2200 * testsuite/special_functions/14_expint/check_value.cc: New.
2201 * testsuite/special_functions/14_expint/compile.cc: New.
2202 * testsuite/special_functions/14_expint/compile_2.cc: New.
2203 * testsuite/special_functions/15_hermite/check_nan.cc: New.
2204 * testsuite/special_functions/15_hermite/check_value.cc: New.
2205 * testsuite/special_functions/15_hermite/compile.cc: New.
2206 * testsuite/special_functions/15_hermite/compile_2.cc: New.
2207 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
2208 * testsuite/special_functions/16_laguerre/check_value.cc: New.
2209 * testsuite/special_functions/16_laguerre/compile.cc: New.
2210 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
2211 * testsuite/special_functions/17_legendre/check_nan.cc: New.
2212 * testsuite/special_functions/17_legendre/check_value.cc: New.
2213 * testsuite/special_functions/17_legendre/compile.cc: New.
2214 * testsuite/special_functions/17_legendre/compile_2.cc: New.
2215 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
2216 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
2217 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
2218 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
2219 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
2220 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
2221 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
2222 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
2223 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
2224 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
2225 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
2226 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
2227 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
2228 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
2229 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
2230 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
2231 * testsuite/util/specfun_testcase.h: New.
2232 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
2233 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
2234 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
2235 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
2236 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
2237 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
2238 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
2239
39a1d8c8
JW
22402016-01-13 Jonathan Wakely <jwakely@redhat.com>
2241
2242 PR libstdc++/48891
2243 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
2244 and isnan functions.
2245 * config.h.in: Regenerate.
2246 * configure: Regenerate.
2247 * include/c_global/cmath (isinf(double), isnan(double))
2248 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
2249 * testsuite/26_numerics/headers/cmath/48891.cc: New.
2250
e862906c
RO
22512016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2252
2253 PR libstdc++/66006
2254 * configure.host (abi_baseline_pair): Use separate baseline for
2255 Solaris 11+ and Solaris 10 with gld.
2256 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
2257 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
2258 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
2259
26b5ace7
DK
22602016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
2261
2262 PR libstdc++/68877
2263 * include/std/type_traits: Following N4511, reimplement __is_swappable
2264 and __is_nothrow_swappable. Move __is_swappable to namespace std,
2265 adjust callers. Use __is_nothrow_swappable in swap.
2266 * include/bits/move.h: Use __is_nothrow_swappable in swap.
2267 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
2268 __is_swappable related tests.
2269 * testsuite/20_util/is_swappable/value.cc: New.
2270 * testsuite/20_util/is_swappable/requirements/
2271 explicit_instantiation.cc: New.
2272 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
2273 * testsuite/25_algorithms/swap/68877.cc: New.
2274
1c3c7c41
JW
22752016-01-12 Jonathan Wakely <jwakely@redhat.com>
2276
bd285a8b
JW
2277 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
2278
1c3c7c41
JW
2279 PR libstdc++/69005
2280 PR libstdc++/69222
2281 * include/std/functional (function::_Invoke): Remove, use result_of.
2282 (function::_Callable): Replace alias template with class template
2283 and use partial specialization instead of _NotSelf alias template.
2284 (function(_Functor)): Add "not self" constraint so that _Callable is
2285 not used while type is incomplete.
2286 * testsuite/20_util/function/69222.cc: New.
2287
1517bc30
JW
22882016-01-11 Jonathan Wakely <jwakely@redhat.com>
2289
2290 PR libstdc++/60976
2291 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
2292 Define partial specialization.
2293 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
2294 destroy members to std::allocator explicit specialization.
2295
e525d78c
JW
22962016-01-08 Jonathan Wakely <jwakely@redhat.com>
2297
8babc12b
JW
2298 * testsuite/26_numerics/headers/cmath/
2299 c99_classification_macros_c++.cc: Rename to ...
2300 * testsuite/26_numerics/headers/cmath/
2301 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
2302 * testsuite/26_numerics/headers/cmath/
2303 c99_classification_macros_c++0x.cc: Rename to ...
2304 * testsuite/26_numerics/headers/cmath/
2305 c99_classification_macros_c++11.cc: Here.
2306
32a8c97f 2307 PR libstdc++/69190
e525d78c
JW
2308 * include/bits/uses_allocator.h: Add missing include.
2309
f885fa89
JW
23102016-01-07 Jonathan Wakely <jwakely@redhat.com>
2311
2312 PR libstdc++/69105
2313 PR libstdc++/69106
2314 PR libstdc++/69114
2315 * include/bits/stl_iterator.h (back_insert_iterator,
2316 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
2317 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
2318 * include/std/future (__future::base::_State_baseV2::__setter):
2319 Likewise.
2320 * include/std/scoped_allocator (__outermost): Likewise.
2321 * testsuite/20_util/scoped_allocator/69114.cc: New.
2322 * testsuite/20_util/uses_allocator/69114.cc: New.
2323 * testsuite/30_threads/promise/69106.cc: New.
2324
0c3e5dd1
JW
23252016-01-06 Jonathan Wakely <jwakely@redhat.com>
2326
373a75fb
JW
2327 PR libstdc++/69092
2328 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
2329 Remove _GLIBCXX_NOEXCEPT.
2330 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
2331
0c3e5dd1
JW
2332 * include/Makefile.am: Adjust.
2333 * include/Makefile.in: Regenerate.
2334 * include/bits/mutex.h: Rename to bits/std_mutex.h.
2335 * include/std/condition_variable: Adjust include.
2336 * include/std/mutex: Likewise.
2337
818ab71a 23382016-01-04 Jakub Jelinek <jakub@redhat.com>
5624e564
JJ
2339
2340 Update copyright years.
b4df5e92 2341\f
818ab71a 2342Copyright (C) 2016 Free Software Foundation, Inc.
b4df5e92
JW
2343
2344Copying and distribution of this file, with or without modification,
2345are permitted in any medium without royalty provided the copyright
2346notice and this notice are preserved.