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