[Bug libstdc++/119152] [C++26] P3019R14 indirect and polymorphic: Vocabulary Types for Composite Class Design

2025-06-02 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119152 Tomasz Kamiński changed: What|Removed |Added CC||tkaminsk at gcc dot gnu.org R

[Bug libstdc++/110339] Implement C++26 library features

2025-06-02 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110339 Bug 110339 depends on bug 119152, which changed state. Bug 119152 Summary: [C++26] P3019R14 indirect and polymorphic: Vocabulary Types for Composite Class Design https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119152 What|Removed

[Bug libstdc++/120481] Incorrect format result for using specifier with multi-digit hour, month, day or weekday

2025-06-02 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120481 --- Comment #8 from Tomasz Kamiński --- %D is also affected by %m and %d.

[Bug libstdc++/120481] Incorrect format result for using specifier with multi-digit hour, month, day or weekday

2025-06-02 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120481 --- Comment #7 from Tomasz Kamiński --- I am going for '%H' meaning the value of hours unmodified. The '%I' and '%p' will work in terms of 24hours.

[Bug libstdc++/120481] Incorrect format result for using specifier with multi-digit hour, month, day or weekday

2025-06-02 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120481 --- Comment #5 from Tomasz Kamiński --- > I think it's fine for the output to be unspecified in that case, since it's > not a meaningful time-of-day. I do not think that 50h from midnight is unspecified time of day, is 2 am in next two days. T

[Bug libstdc++/120481] Incorrect format result for using specifier with multi-digit hour, month, day or weekday

2025-06-02 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120481 --- Comment #3 from Tomasz Kamiński --- Similar problems exists when '%H' is used for duration with hours greater than 100: ``` std::chrono::seconds t = 255h + 24min + 2s; std::cout << std::format("{:%H}", t) << std::endl; // prints 99

[Bug libstdc++/120481] Incorrect format result for using specifier with multi-digit month, day or weekday

2025-05-30 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120481 --- Comment #2 from Tomasz Kamiński --- For weekday, we could also consider printing !ok() values unmodified. They always will be greater than 7, so there is no confusion in the output.

[Bug libstdc++/120481] Incorrect format result for using specifier with multi-digit month, day or weekday

2025-05-30 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120481 Tomasz Kamiński changed: What|Removed |Added Ever confirmed|0 |1 Last reconfirmed|

[Bug libstdc++/120481] Incorrect format result for using specifier with multi-digit month, day or weekday

2025-05-30 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120481 --- Comment #1 from Tomasz Kamiński --- Similar issue appears also for using '%w' and '%u' on the weekday that contains a 2 or 3 digit number: ``` std::cout << std::format("{:%w}", weekday(120)) << std::endl; // prints 8 std::cout << std::format

[Bug libstdc++/120481] New: Incorrect format result for using specifier with multi-digit month, day or weekday

2025-05-30 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120481 Bug ID: 120481 Summary: Incorrect format result for using specifier with multi-digit month, day or weekday Product: gcc Version: 15.0 Status: UNCONFIRMED Sever

[Bug libstdc++/119126] [C++26] Implement P0792R14 function_ref: a type-erased callable reference

2025-05-26 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119126 Tomasz Kamiński changed: What|Removed |Added CC||tkaminsk at gcc dot gnu.org R

[Bug libstdc++/110339] Implement C++26 library features

2025-05-26 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110339 Bug 110339 depends on bug 119126, which changed state. Bug 119126 Summary: [C++26] Implement P0792R14 function_ref: a type-erased callable reference https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119126 What|Removed

[Bug libstdc++/120259] Using Incomplete&& as argument in invoke_r/move_only_function fails to compile

2025-05-16 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120259 --- Comment #4 from Tomasz Kamiński --- > I agree we should revert the static_assert for the swappable traits. I am most concerned with is_invocable family here.

[Bug libstdc++/120259] Using Incomplete&& as argument in invoke_r/move_only_function fails to compile

2025-05-16 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120259 --- Comment #2 from Tomasz Kamiński --- This seems to be regeressions from PR1579: r11-2759-g69f571ffc513b689fa26e4c9fceba17c2c989ab3 r11-3442-gc1fc9f6e10e646f01194c8f150affbc1cfbc404a I think we went to eager there, and most likely should reve

[Bug libstdc++/120259] Using Incomplete&& as argument in invoke_r/move_only_function fails to compile

2025-05-14 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120259 --- Comment #1 from Tomasz Kamiński --- We should use _Arg&& in is_invokable checks here: ``` template constexpr enable_if_t, _Res> __invoke_r(_Callable&& __fn, _Args&&... __args) noexcept(is_nothrow_invocable_r_v<_Res, _Callable,

[Bug libstdc++/110339] Implement C++26 library features

2025-05-14 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110339 Bug 110339 depends on bug 119125, which changed state. Bug 119125 Summary: [C++26] Implement P2548R6 copyable_function https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119125 What|Removed |Added ---

[Bug libstdc++/119125] [C++26] Implement P2548R6 copyable_function

2025-05-14 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119125 Tomasz Kamiński changed: What|Removed |Added Resolution|--- |FIXED Status|UNCONFIRMED

[Bug libstdc++/88322] Implement C++20 library features.

2025-05-14 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88322 Bug 88322 depends on bug 119246, which changed state. Bug 119246 Summary: Result basic_format_arg::check_dynamic_spec is incorrect for extended floating point types https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119246 What|Removed

[Bug libstdc++/119246] Result basic_format_arg::check_dynamic_spec is incorrect for extended floating point types

2025-05-14 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119246 Tomasz Kamiński changed: What|Removed |Added Target Milestone|--- |16.0 Status|NEW

[Bug libstdc++/120259] New: Using Incomplete&& as argument in invoke_r/move_only_function fails to compile

2025-05-13 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120259 Bug ID: 120259 Summary: Using Incomplete&& as argument in invoke_r/move_only_function fails to compile Product: gcc Version: 15.0 Status: UNCONFIRMED Severity:

[Bug libstdc++/120259] Using Incomplete&& as argument in invoke_r/move_only_function fails to compile

2025-05-13 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120259 Tomasz Kamiński changed: What|Removed |Added Known to fail||12.1.0 Last reconfirmed|

[Bug libstdc++/120114] Format width is not correctly handled for chrono formatting

2025-05-07 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120114 Tomasz Kamiński changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug libstdc++/120114] Format width is not correctly handled for chrono formatting

2025-05-05 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120114 Tomasz Kamiński changed: What|Removed |Added Ever confirmed|0 |1 Status|UNCONFIRMED

[Bug libstdc++/120114] New: Format width is not correctly handled for chrono formatting

2025-05-05 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120114 Bug ID: 120114 Summary: Format width is not correctly handled for chrono formatting Product: gcc Version: 13.1.0 Status: UNCONFIRMED Severity: normal

[Bug libstdc++/119970] [16 Regression] mingw builds fail as libstdc++-v3/include/ostream:224:65: error: could not convert '__out' since r16-142-g01e5ef3e8b9128

2025-04-28 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119970 --- Comment #6 from Tomasz Kamiński --- Yes, this allows us to avoid a separate allocation when transcoding to valid Unicode. For reference in libstdc++-v3/src/c++23/print.cc, to_valid_unicode will edit sequence in-situ: ``` // If sizeof(_Char

[Bug libstdc++/119970] [16 Regression] mingw builds fail as libstdc++-v3/include/ostream:224:65: error: could not convert '__out' since r16-142-g01e5ef3e8b9128

2025-04-28 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119970 --- Comment #4 from Tomasz Kamiński --- I would be grateful, if you could confirm that above fixed the build for you.

[Bug libstdc++/119970] [16 Regression] mingw builds fail as libstdc++-v3/include/ostream:224:65: error: could not convert '__out' since r16-142-g01e5ef3e8b9128

2025-04-27 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119970 --- Comment #2 from Tomasz Kamiński --- The fails only occurs on WIN32, i.e. if defined(_WIN32) && !defined(__CYGWIN__).

[Bug libstdc++/119970] [16 Regression] mingw builds fail as libstdc++-v3/include/ostream:224:65: error: could not convert '__out' since r16-142-g01e5ef3e8b9128

2025-04-27 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119970 Tomasz Kamiński changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |tkaminsk at gcc dot gnu.org

[Bug libstdc++/109162] C++23 improvements to std::format

2025-04-25 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109162 --- Comment #26 from Tomasz Kamiński --- The latest commit (optimization) is for GCC 16 only.

[Bug libstdc++/109162] C++23 improvements to std::format

2025-04-25 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109162 --- Comment #24 from Tomasz Kamiński --- > Although it doesn't seem to be in the upcoming GCC-15 release. GCC 15.1 has everything expect formatters for adaptors. So ranges, debug presentation, pair, tuple and std::vector::reference will be in.

[Bug libstdc++/109162] C++23 improvements to std::format

2025-04-25 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109162 --- Comment #22 from Tomasz Kamiński --- > That is highly intentional to fix incorrect formatting when the container is > a string. See https://cplusplus.github.io/LWG/issue3881 I am well aware of this quirk, but my implementation uses range_f

[Bug libstdc++/109162] C++23 improvements to std::format

2025-04-25 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109162 Tomasz Kamiński changed: What|Removed |Added CC||tkaminsk at gcc dot gnu.org --- Comme

[Bug libstdc++/119918] formattable returns true for types other than char and wchar_t

2025-04-25 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119918 Tomasz Kamiński changed: What|Removed |Added Resolution|--- |FIXED Status|NEW

[Bug libstdc++/119918] formattable returns true for types other than char and wchar_t

2025-04-24 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119918 --- Comment #1 from Tomasz Kamiński --- This is similar to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119517.

[Bug libstdc++/119918] formattable returns true for types other than char and wchar_t

2025-04-24 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119918 Tomasz Kamiński changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug libstdc++/119918] New: formattable returns true for types other than char and wchar_t

2025-04-24 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119918 Bug ID: 119918 Summary: formattable returns true for types other than char and wchar_t Product: gcc Version: 14.1.0 Status: UNCONFIRMED Severity: normal

[Bug libstdc++/119840] FAIL: g++.old-deja/g++.robertl/eb73.C -std=gnu++26 (test for excess errors)

2025-04-18 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119840 --- Comment #4 from Tomasz Kamiński --- I would like to get confirmation from John David Anglin, that warnings no longer appear on the target.

[Bug libstdc++/119840] FAIL: g++.old-deja/g++.robertl/eb73.C -std=gnu++26 (test for excess errors)

2025-04-17 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119840 Tomasz Kamiński changed: What|Removed |Added Ever confirmed|0 |1 Last reconfirmed|

[Bug libstdc++/119754] std::uninitialized_value_construct does not begin lifetime of trivial types

2025-04-15 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119754 --- Comment #3 from Tomasz Kamiński --- Except that `::operator new` does not perform implicit object creation at compile time per https://eel.is/c++draft/intro.object#14: > Except during constant evaluation, any implicit or explicit invocation

[Bug libstdc++/119754] std::uninitialized_value_construct does not begin lifetime of trivial types

2025-04-15 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119754 Tomasz Kamiński changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever confirmed|0

[Bug libstdc++/119725] std/format/debug.cc etc. FAIL

2025-04-14 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119725 Tomasz Kamiński changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |tkaminsk at gcc dot gnu.org

[Bug libstdc++/119725] std/format/debug.cc etc. FAIL

2025-04-11 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119725 --- Comment #2 from Tomasz Kamiński --- I do not (yet) have access to solaris machine. Would it be possible for you to verify that all tests passes with following adjustments: diff --git a/libstdc++-v3/testsuite/std/format/debug.cc b/libstdc++-v

[Bug libstdc++/119725] std/format/debug.cc etc. FAIL

2025-04-11 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119725 Tomasz Kamiński changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug libstdc++/111055] [C++23] Implement P1206R7, Conversions from ranges to containers

2025-04-11 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111055 Tomasz Kamiński changed: What|Removed |Added Target Milestone|--- |15.0

[Bug libstdc++/106749] Implement C++23 library features

2025-04-11 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106749 Bug 106749 depends on bug 111055, which changed state. Bug 111055 Summary: [C++23] Implement P1206R7, Conversions from ranges to containers https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111055 What|Removed |Add

[Bug libstdc++/119415] flat_set::insert_range may not handle C++20 common-range

2025-04-11 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119415 Bug 119415 depends on bug 111055, which changed state. Bug 111055 Summary: [C++23] Implement P1206R7, Conversions from ranges to containers https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111055 What|Removed |Add

[Bug libstdc++/111053] std::ranges::copy is missing important optimizations

2025-04-11 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111053 Bug 111053 depends on bug 111055, which changed state. Bug 111055 Summary: [C++23] Implement P1206R7, Conversions from ranges to containers https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111055 What|Removed |Add

[Bug libstdc++/111055] [C++23] Implement P1206R7, Conversions from ranges to containers

2025-04-11 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111055 Tomasz Kamiński changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED

[Bug libstdc++/116958] std::views::transform loses track of the range size

2025-04-11 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116958 Bug 116958 depends on bug 111055, which changed state. Bug 111055 Summary: [C++23] Implement P1206R7, Conversions from ranges to containers https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111055 What|Removed |Add

[Bug libstdc++/119593] Format width is not correctly handled for wide string/characters

2025-04-03 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119593 Tomasz Kamiński changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug libstdc++/119593] Format width is not correctly handled for wide string/characters

2025-04-03 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119593 --- Comment #3 from Tomasz Kamiński --- Two separate problems compound in this case: * UTF-32LE, UTF-32BE used for wchar_t, are not recognized as unicode encoding * character with is always assumed to be 1

[Bug libstdc++/119593] Format width is not correctly handled for wide string/characters

2025-04-03 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119593 --- Comment #2 from Tomasz Kamiński --- The problem is not limited to wide characters, and also appears for wide strings: std::format(L"{:+<3}", L"\U0001f921"); // two '+' of paddings // https://godbolt.org/z/o4s7qTEz9

[Bug libstdc++/119593] Format width is not correctly handled for wide string/characters

2025-04-03 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119593 Tomasz Kamiński changed: What|Removed |Added Summary|Format width is not |Format width is not

[Bug libstdc++/119593] New: Format width is not correctly handled for unicode characters

2025-04-02 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119593 Bug ID: 119593 Summary: Format width is not correctly handled for unicode characters Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal

[Bug libstdc++/119517] formatter for chrono types are underconstrained

2025-03-31 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119517 Tomasz Kamiński changed: What|Removed |Added Resolution|--- |FIXED Status|NEW

[Bug libstdc++/119517] formatter for chrono types are underconstrained

2025-03-29 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119517 --- Comment #2 from Tomasz Kamiński --- Jonathan noted that zoned_time is specified in standard to accept unconstrained FormatContext in [time.format] p19 (https://eel.is/c++draft/time.format#19).

[Bug libstdc++/119517] formatter for chrono types are underconstrained

2025-03-28 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119517 Tomasz Kamiński changed: What|Removed |Added Version|13.0|15.0 Status|UNCONFIRMED

[Bug libstdc++/119517] New: formatter for chrono types are underconstrained

2025-03-28 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119517 Bug ID: 119517 Summary: formatter for chrono types are underconstrained Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component:

[Bug libstdc++/119415] flat_set::insert_range may not handle C++20 common-range

2025-03-26 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119415 --- Comment #19 from Tomasz Kamiński --- Updated resolution to use __has_input_iter_cat instead of __cpp17_input_iterator.

[Bug libstdc++/119415] flat_set::insert_range may not handle C++20 common-range

2025-03-25 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119415 --- Comment #17 from Tomasz Kamiński --- In the same file we have: __has_input_iter_cat.

[Bug libstdc++/119415] flat_set::insert_range may not handle C++20 common-range

2025-03-25 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119415 --- Comment #12 from Tomasz Kamiński --- I have realized that with the resolution of the https://cplusplus.github.io/LWG/lwg-defects.html#3749, you can run into this problem by doing: auto r = std::views::iota(__int128(0)) | std::views::take(5)

[Bug libstdc++/119415] flat_set::insert_range may not handle C++20 common-range

2025-03-25 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119415 --- Comment #9 from Tomasz Kamiński --- > Hum, meeting Cpp17LegacyIterator requirements does not mean it is a C++17 > input iterator, only iterator_traits::iterator_category represents its > category, so __cpp17_input_iterator should not be us

[Bug libstdc++/119415] flat_set::insert_range may not handle C++20 common-range

2025-03-25 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119415 Tomasz Kamiński changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |tkaminsk at gcc dot gnu.org

[Bug libstdc++/119415] flat_set::insert_range may not handle C++20 common-range

2025-03-24 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119415 --- Comment #4 from Tomasz Kamiński --- If want to support user-defined containers, I think we should check if iterator_traits::iterator category exists, before calling insert(Iterator, Iterator) overload. This will prevent hard-errors from old

[Bug libstdc++/111055] [C++23] Implement P1206R7, Conversions from ranges to containers

2025-03-21 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111055 --- Comment #16 from Tomasz Kamiński --- The changes are also required for .

[Bug libstdc++/119358] _M_rehash_insert of unordered multiset/maps misses casting of difference_type

2025-03-19 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119358 Tomasz Kamiński changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug libstdc++/119358] _M_rehash_insert of unordered multiset/maps misses casting of difference_type

2025-03-18 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119358 Tomasz Kamiński changed: What|Removed |Added Ever confirmed|0 |1 Last reconfirmed|

[Bug libstdc++/111055] [C++23] Implement P1206R7, Conversions from ranges to containers

2025-03-18 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111055 --- Comment #15 from Tomasz Kamiński --- The still remains to be implemented.

[Bug libstdc++/111138] views::zip_transform is underconstrained for empty range pack

2025-03-14 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38 Tomasz Kamiński changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug libstdc++/108053] std::visit_format_arg should hide __int128 and other extensions behind a handle

2025-03-13 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108053 Tomasz Kamiński changed: What|Removed |Added Resolution|--- |FIXED Status|NEW

[Bug libstdc++/108053] std::visit_format_arg should hide __int128 and other extensions behind a handle

2025-03-13 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108053 Tomasz Kamiński changed: What|Removed |Added Target Milestone|--- |15.0

[Bug libstdc++/88322] Implement C++20 library features.

2025-03-13 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88322 Bug 88322 depends on bug 108053, which changed state. Bug 108053 Summary: std::visit_format_arg should hide __int128 and other extensions behind a handle https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108053 What|Removed

[Bug libstdc++/119246] Result basic_format_arg::check_dynamic_spec is incorrect for extended floating point types

2025-03-12 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119246 Tomasz Kamiński changed: What|Removed |Added Ever confirmed|0 |1 Last reconfirmed|

[Bug libstdc++/119246] Result basic_format_arg::check_dynamic_spec is incorrect for extended floating point types

2025-03-12 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119246 --- Comment #2 from Tomasz Kamiński --- We should also see if we can format `_Float128` and `__float128` by casting to either of them. Similary how we handle `_Float32` and other type now.

[Bug libstdc++/119246] Result basic_format_arg::check_dynamic_spec is incorrect for extended floating point types

2025-03-12 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119246 --- Comment #1 from Tomasz Kamiński --- As described in PR108053, this problem is caused by normalization of this floating point types to standard floating point type, where they have same representation. We lost the information about the source

[Bug libstdc++/108053] std::visit_format_arg should hide __int128 and other extensions behind a handle

2025-03-12 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108053 Tomasz Kamiński changed: What|Removed |Added CC||tkaminsk at gcc dot gnu.org Last re

[Bug libstdc++/119246] New: Result basic_format_arg::check_dynamic_spec is incorrect for extended floating point types

2025-03-12 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119246 Bug ID: 119246 Summary: Result basic_format_arg::check_dynamic_spec is incorrect for extended floating point types Product: gcc Version: 13.0 Status: UNCONFIRMED

[Bug libstdc++/111138] views::zip_transform is underconstrained for empty range pack

2025-03-07 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38 Tomasz Kamiński changed: What|Removed |Added Severity|normal |minor

[Bug libstdc++/111138] views::zip_transform is underconstrained for empty range pack

2025-03-07 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38 --- Comment #2 from Tomasz Kamiński --- The issue is caused by the fact that we do not check `move_constructible && regular_invocable` (required by [range.zip.transform] p2.1.1) for `sizeof...(_Ts) == 0` case. ``` struct _ZipTransform { templa

[Bug libstdc++/111138] views::zip_transform is underconstrained for empty range pack

2025-03-07 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38 Tomasz Kamiński changed: What|Removed |Added Last reconfirmed||2025-03-07 Keywords|

[Bug libstdc++/119121] [14 Regression] subrange conversion to pair-like does not work

2025-03-05 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119121 --- Comment #2 from Tomasz Kamiński --- Committed to master as r15-7830-g95b2f8d8fb3131

[Bug libstdc++/119121] subrange conversion to tuple-like does not work

2025-03-05 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119121 Tomasz Kamiński changed: What|Removed |Added Last reconfirmed||2025-03-05 Status|UNCONFI

[Bug libstdc++/119121] [14/15 Regression] subrange conversion to tuple-like does not work

2025-03-05 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119121 --- Comment #1 from Tomasz Kamiński --- Introduced in g:65b4cba9d6a9ffe9b4d4bdff90727a7064cc0e3b The `is_reference_v<_Vp>` should use `_Tp` instead. ``` template concept __pair_like_convertible_from - = !range<_Tp> && __pair_l

[Bug libstdc++/119121] [14/15 Regression] subrange conversion to tuple-like does not work

2025-03-05 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119121 Tomasz Kamiński changed: What|Removed |Added Known to work||13.3.0 Keywords|

[Bug libstdc++/119121] New: subrange conversion to tuple-like does not work

2025-03-05 Thread tkaminsk at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119121 Bug ID: 119121 Summary: subrange conversion to tuple-like does not work Product: gcc Version: 14.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component