1 2018-03-02 Jonathan Wakely <jwakely@redhat.com>
4 * include/bits/parse_numbers.h (_Number_help): Add partial
5 specialization to handle digit separators. Adjust partial
6 specialization for recursion temrination to require _Pow == 1ULL.
7 * testsuite/20_util/duration/literals/84671.cc: New
9 2018-02-27 Ville Voutilainen <ville.voutilainen@gmail.com>
11 Implement the missing bits of LWG 2769
12 * include/std/any (any_cast(const any&)): Add static_assert.
13 (any_cast(any&)): Likewise.
14 (any_cast(any&&)): Likewise, and remove the handling
15 for copyable-but-not-movable type.
16 * testsuite/20_util/any/misc/any_cast.cc: Adjust.
17 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
20 2018-02-23 Jonathan Wakely <jwakely@redhat.com>
23 * include/std/thread (thread::__make_invoker): Construct tuple
24 directly instead of using make_tuple.
25 * testsuite/30_threads/async/84532.cc: New.
26 * testsuite/30_threads/thread/84532.cc: New.
28 2018-02-20 François Dumont <fdumont@gcc.gnu.org>
30 * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
31 (template<> __aligned_buffer): Define as __aligned_membuf alias.
33 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
36 * configure: Regenerate.
38 2018-02-15 Jonathan Wakely <jwakely@redhat.com>
41 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
42 * configure: Regenerate.
43 * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
45 * include/Makefile.in: Regenerate.
47 2018-01-29 Jonathan Wakely <jwakely@redhat.com>
50 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
51 Add -ffloat-store to options for m68k and ia32.
53 * doc/xml/faq.xml: Update copyright years.
54 * doc/html/*: Regenerate.
57 * include/std/any (any::__do_emplace): Only set _M_manager after
58 constructing the contained object.
59 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
60 * testsuite/20_util/any/modifiers/83658.cc: New test.
62 2018-01-25 Jonathan Wakely <jwakely@redhat.com>
65 * include/c_global/cstddef (__byte_operand): Define primary template.
66 * testsuite/18_support/byte/81076.cc: New test.
68 2018-01-19 Christophe Lyon <christophe.lyon@linaro.org>
70 * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
71 dg-options and dg-add-options order.
72 * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
73 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
75 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
76 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
78 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
80 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
81 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
83 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
85 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
87 * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
89 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
91 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
93 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
95 * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
97 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
98 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
99 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
100 * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
101 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
102 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
103 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
104 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
105 * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
107 * testsuite/special_functions/19_sph_bessel/check_nan.cc:
109 * testsuite/special_functions/20_sph_legendre/check_nan.cc:
111 * testsuite/special_functions/21_sph_neumann/check_nan.cc:
114 2018-01-18 Uros Bizjak <ubizjak@gmail.com>
116 * configure.ac (AC_CHECK_HEADERS): Add linux/types.h. Conditionally
117 include linux/types.h when checking linux/random.h header.
118 * config.h.in: Regenerate.
120 * src/c++11/random.cc: Conditionally include linux/types.h.
122 2018-01-16 Eric Botcazou <ebotcazou@adacore.com>
124 * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
126 2018-01-16 Jonathan Wakely <jwakely@redhat.com>
129 * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
130 pattern with exact match for std::cerr.
132 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
135 * include/bits/random.h (chi_squared_distribution::param): Update
136 gamma distribution parameter.
137 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
141 * include/std/type_traits (has_unique_object_representations_v): Add
143 * testsuite/20_util/has_unique_object_representations/value.cc: Check
146 2018-01-15 Ville Voutilainen <ville.voutilainen@gmail.com>
148 Make optional conditionally
149 trivially_{copy,move}_{constructible,assignable}
150 * include/std/optional (_Optional_payload): Fix the comment in
151 the class head and turn into a primary and one specialization.
152 (_Optional_payload::_M_engaged): Strike the NSDMI.
153 (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
155 (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
157 (_Optional_payload<_Tp, false>::_M_get): Likewise.
158 (_Optional_payload<_Tp, false>::_M_reset): Likewise.
159 (_Optional_base_impl): Likewise.
160 (_Optional_base): Turn into a primary and three specializations.
161 (optional(nullopt)): Change the base init.
162 * testsuite/20_util/optional/assignment/8.cc: New.
163 * testsuite/20_util/optional/cons/trivial.cc: Likewise.
164 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
166 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
169 * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
170 (get_template_arg_list): New.
171 (StdVariantPrinter._template_args): Remove, use get_template_arg_list
173 (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
174 of strings and regular expressions.
175 (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
176 (FilteringTypePrinter): Add docstring. Match using startswith. Use
177 strip_inline_namespaces instead of strip_versioned_namespace.
178 (add_one_type_printer): Prepend namespace to match argument.
179 (register_type_printers): Add type printers for char16_t and char32_t
180 string types and for types using cxx11 ABI. Update calls to
181 add_one_template_type_printer to provide default argument dicts.
182 * testsuite/libstdc++-prettyprinters/80276.cc: New test.
183 * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
184 basic_string<unsigned char> and basic_string<signed char>.
185 * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
186 to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
188 2018-01-14 Andreas Schwab <schwab@linux-m68k.org>
191 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
193 2018-01-13 Tim Shen <timshen@google.com>
196 * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
197 * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
198 * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
200 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
203 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
204 Remove dg-xfail-run-if.
206 2018-01-10 François Dumont <fdumont@gcc.gnu.org>
208 * include/bits/forward_list.h
209 (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
210 (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
211 (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
212 (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
213 (_Fwd_list_impl()): Add noexcept qualification.
214 (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
215 (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
216 (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
217 (_Fwd_list_base()): Default.
218 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
219 (_Fwd_list_base(_Fwd_list_base&&)): Default.
220 (forward_list<>()): Default.
221 (forward_list<>(forward_list&&)): Default.
222 (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
223 (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
224 (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
225 * include/bits/forward_list.tcc
226 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
227 _M_impl._M_head move assignment.
228 (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
229 * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
231 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
234 * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
235 (UniquePointerPrinter): Print correct template argument, not type of
237 (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
239 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
241 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
242 weak_ptr of array types.
244 2018-01-09 François Dumont <fdumont@gcc.gnu.org>
247 * include/bits/hashtable_policy.h
248 (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
250 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
251 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
252 Add false_type parameter.
253 (_Insert_base::insert): Adapt.
254 * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
256 (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
257 Add __n_elt parameter, defaulted to 1.
258 (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
259 policy _M_need_rehash.
260 (_Hashtable::_M_merge_unique): Pass target number of elements to add to
261 produce only 1 rehash if necessary.
262 * testsuite/23_containers/unordered_map/insert/83709.cc: New.
263 * testsuite/23_containers/unordered_set/insert/83709.cc: New.
265 2018-01-09 Juraj Oršulić <juraj.orsulic@fer.hr>
266 Jonathan Wakely <jwakely@redhat.com>
268 PR libstdc++/59253 (partial)
269 * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
270 type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
271 (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
273 * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
274 of unique_ptr printer.
275 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
276 output of shared_ptr printer.
278 2018-01-05 Jonathan Wakely <jwakely@redhat.com>
281 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
282 unnecessary symlink_status call.
283 (remove_all(const path&, error_code&)): Use filesystem::remove.
284 * src/filesystem/std-ops.cc: Likewise.
287 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
291 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
292 report an error for ENOENT.
293 (remove_all(const path&)): Fix type of result variable.
294 (remove_all(const path&, error_code&)): Use non-throwing increment
295 for directory iterator. Call POSIX remove directly to avoid redundant
296 calls to symlink_status. Do not report errors for ENOENT.
297 * src/filesystem/std-ops.cc: Likewise.
298 * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
300 * testsuite/experimental/filesystem/operations/remove_all.cc:
303 2018-01-04 Jonathan Wakely <jwakely@redhat.com>
306 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
307 redundant call to ec.clear().
308 (remove_all(const path&, error_code&))): Do not return an error for
310 * src/filesystem/std-ops.cc: Likewise.
311 * testsuite/27_io/filesystem/operations/remove.cc: New test.
312 * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
313 results for non-existent paths.
314 * testsuite/experimental/filesystem/operations/remove.cc: New test.
315 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
316 expected results for non-existent paths.
318 * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
319 check status_known once.
320 * include/experimental/bits/fs_ops.h: Likewise.
323 * include/std/functional (__is_byte_like): New trait.
324 (__is_std_equal_to): Remove.
325 (__boyer_moore_base_t): Use __is_byte_like instead of
327 * include/experimental/functional (__is_std_equal_to): Remove.
328 (__boyer_moore_base_t): Use __is_byte_like instead of
330 * testsuite/20_util/function_objects/83607.cc: New test.
332 2018-01-03 Ville Voutilainen <ville.voutilainen@gmail.com>
334 Protect optional's deduction guide with the feature macro
335 * include/std/optional: Use the feature macro.
337 2018-01-03 Jakub Jelinek <jakub@redhat.com>
339 Update copyright years.
341 Copyright (C) 2018 Free Software Foundation, Inc.
343 Copying and distribution of this file, with or without modification,
344 are permitted in any medium without royalty provided the copyright
345 notice and this notice are preserved.