1 2024-01-08 Jonathan Wakely <jwakely@redhat.com>
3 * include/bits/unicode.h (__null_sentinel): Remove.
4 * testsuite/17_intro/names.cc: Add __null_sentinel.
6 2024-01-08 Jonathan Wakely <jwakely@redhat.com>
8 * include/std/format (__format::_Runtime_format_string): Define
10 (basic_format_string): Add non-consteval constructor for runtime
12 (runtime_format): Define new function for C++26.
13 * testsuite/std/format/runtime_format.cc: New test.
15 2024-01-08 Jonathan Wakely <jwakely@redhat.com>
17 * include/bits/chrono_io.h (__formatter_chrono): Always use
18 lvalue arguments to make_format_args.
19 * include/std/format (make_format_args): Change parameter pack
20 from forwarding references to lvalue references. Remove use of
21 remove_reference_t which is now unnecessary.
22 (format_to, formatted_size): Remove incorrect forwarding of
24 * include/std/ostream (print): Remove forwarding of arguments.
25 * include/std/print (print): Likewise.
26 * testsuite/20_util/duration/io.cc: Use lvalues as arguments to
28 * testsuite/std/format/arguments/args.cc: Likewise.
29 * testsuite/std/format/arguments/lwg3810.cc: Likewise.
30 * testsuite/std/format/functions/format.cc: Likewise.
31 * testsuite/std/format/functions/vformat_to.cc: Likewise.
32 * testsuite/std/format/string.cc: Likewise.
33 * testsuite/std/time/day/io.cc: Likewise.
34 * testsuite/std/time/month/io.cc: Likewise.
35 * testsuite/std/time/weekday/io.cc: Likewise.
36 * testsuite/std/time/year/io.cc: Likewise.
37 * testsuite/std/time/year_month_day/io.cc: Likewise.
38 * testsuite/std/format/arguments/args_neg.cc: New test.
40 2024-01-08 Jonathan Wakely <jwakely@redhat.com>
42 * include/Makefile.am: Add new headers.
43 * include/Makefile.in: Regenerate.
44 * include/bits/unicode.h: New file.
45 * include/bits/unicode-data.h: New file.
46 * include/std/format: Include <bits/unicode.h>.
47 (__literal_encoding_is_utf8): Move to <bits/unicode.h>.
48 (_Spec::_M_fill): Change type to char32_t.
49 (_Spec::_M_parse_fill_and_align): Read a Unicode scalar value
50 instead of a single character.
51 (__write_padded): Change __fill_char parameter to char32_t and
52 encode it into the output.
53 (__formatter_str::format): Use new __unicode::__field_width and
54 __unicode::__truncate functions.
55 * include/std/ostream: Adjust namespace qualification for
56 __literal_encoding_is_utf8.
57 * include/std/print: Likewise.
58 * src/c++23/print.cc: Add [[unlikely]] attribute to error path.
59 * testsuite/ext/unicode/view.cc: New test.
60 * testsuite/std/format/functions/format.cc: Add missing examples
61 from the standard demonstrating alignment with non-ASCII
62 characters. Add examples checking correct handling of extended
65 2024-01-08 Jonathan Wakely <jwakely@redhat.com>
67 * include/bits/version.def (format_uchar): Define.
68 * include/bits/version.h: Regenerate.
69 * include/std/format (formatter<C, C>::format): Check for
70 _Pres_c and call _M_format_character directly. Cast C to its
71 unsigned equivalent for formatting as an integer.
72 (formatter<char, wchar_t>::format): Likewise.
73 (basic_format_arg(T&)): Store char arguments as unsigned char
74 for formatting to a wide string.
75 * testsuite/std/format/functions/format.cc: Adjust test. Check
78 2024-01-07 Jonathan Wakely <jwakely@redhat.com>
81 * libsupc++/unwind-cxx.h (__cxa_call_terminate): Change first
84 2024-01-07 Jonathan Wakely <jwakely@redhat.com>
86 * testsuite/20_util/variant/87619.cc: Remove dg-timeout-factor.
88 2024-01-07 Jonathan Wakely <jwakely@redhat.com>
90 * include/std/type_traits (is_trivially_destructible_v): Use
91 built-in directly when concepts are supported.
92 * testsuite/20_util/is_trivially_destructible/value_v.cc: New
95 2024-01-06 Gwenole Beauchesne <gb.devel@gmail.com>
97 * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Use
98 nonnull arguments to strtoimax() and wcstoimax() functions.
100 2024-01-05 Jonathan Wakely <jwakely@redhat.com>
102 * src/c++17/fs_path.cc (path::_List::reserve): Limit maximum
103 size and check for overflows in arithmetic.
104 (path::operator/=(const path&)): Remove redundant exponential
107 2024-01-05 Martin Küttler <martin.kuettler@kernkonzept.com>
109 * src/c++17/fs_path.cc (path::_List::reserve): Avoid
110 floating-point arithmetic.
112 2024-01-05 Jonathan Wakely <jwakely@redhat.com>
115 * include/std/type_traits (is_convertible_v): Guard use of
116 built-in with preprocessor check.
118 2024-01-05 Jonathan Wakely <jwakely@redhat.com>
121 * include/bits/char_traits.h (__gnu_cxx::char_traits::move): Use
122 __builtin_constant_p to check for unrelated pointers that cannot
123 be compared during constant evaluation.
124 * testsuite/21_strings/char_traits/requirements/113200.cc: New
127 2024-01-05 Cassio Neri <cassio.neri@gmail.com>
129 * include/std/chrono: Fix + and - for months and weekdays.
130 * testsuite/std/time/month/1.cc: Add constexpr tests against overflow.
131 * testsuite/std/time/month/2.cc: New test for extreme values.
132 * testsuite/std/time/weekday/1.cc: Add constexpr tests against overflow.
133 * testsuite/std/time/weekday/2.cc: New test for extreme values.
135 2024-01-05 Jonathan Wakely <jwakely@redhat.com>
138 * include/bits/locale_classes.tcc (__try_use_facet): Use
139 if-constexpr for C++11 and up.
141 2024-01-05 Ken Matsui <kmatsui@gcc.gnu.org>
143 * include/std/type_traits: Use _GLIBCXX_USE_BUILTIN_TRAIT.
145 2024-01-04 Arsen Arsenović <arsen@aarsen.me>
147 * include/std/generator (_Subyield_state::_M_jump_in): Fix typo
148 reported by Will Hawkins <hawkinsw@obs.cr>.
150 2024-01-04 Arsen Arsenović <arsen@aarsen.me>
152 * include/std/generator (_Stateless_alloc): Rename typename _A
155 2024-01-03 Patrick Palka <ppalka@redhat.com>
158 * testsuite/std/ranges/iota/max_size_type.cc (test02): Reduce
159 'limit' to 100 from 1000 and adjust 'log2_limit' accordingly.
163 Copyright (C) 2024 Free Software Foundation, Inc.
165 Copying and distribution of this file, with or without modification,
166 are permitted in any medium without royalty provided the copyright
167 notice and this notice are preserved.