[Bug target/118329] avr defines __int24 but doesn't define __GLIBCXX_TYPE_INT_N_0

2025-01-17 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118329 Jonathan Wakely changed: What|Removed |Added See Also||https://github.com/modm-io/

[Bug libstdc++/99572] std::counting_semaphore coalescing wakes

2025-01-16 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99572 Jonathan Wakely changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

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

2025-01-16 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88322 Bug 88322 depends on bug 99572, which changed state. Bug 99572 Summary: std::counting_semaphore coalescing wakes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99572 What|Removed |Added ---

[Bug libstdc++/100806] deadlock in std::counting_semaphore

2025-01-16 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100806 Jonathan Wakely changed: What|Removed |Added CC||michaelkuc6 at gmail dot com --- Comm

[Bug libstdc++/112934] excessive code for std::map::erase(key)

2025-01-16 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112934 --- Comment #2 from Jonathan Wakely --- Gah, I didn't get around to this for GCC 15, sorry.

[Bug middle-end/109849] suboptimal code for vector walking loop

2025-01-16 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109849 --- Comment #44 from Jonathan Wakely --- Oops, I put this PR number in the commits rather than PR 118493

[Bug libstdc++/118493] [14 regression] std::vector::insert regression in C++03: execution reaches an unreachable program point

2025-01-16 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118493 Jonathan Wakely changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug libstdc++/50871] libstdc++ should be built with -Wpedantic and/or -Wsystem-headers

2025-01-16 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50871 Jonathan Wakely changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug libstdc++/99995] [12/13/14/15 Regression] should not include in c++20 mode

2025-01-16 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=5 --- Comment #10 from Jonathan Wakely --- (In reply to Jonathan Wakely from comment #9) > (In reply to Jonathan Wakely from comment #0) > > In C++20 mode includes which includes > > for SYS_futex, > > We should use for that instead, which wou

[Bug libstdc++/118493] [14/15 regression] std::vector::insert regression in C++03: execution reaches an unreachable program point

2025-01-15 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118493 Jonathan Wakely changed: What|Removed |Added Priority|P3 |P2

[Bug libstdc++/118493] [14/15 regression] std::vector::insert regression in C++03: execution reaches an unreachable program point

2025-01-15 Thread redi at gcc dot gnu.org via Gcc-bugs
|1 Last reconfirmed||2025-01-15 Assignee|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org --- Comment #1 from Jonathan Wakely --- Already testing a patch

[Bug libstdc++/118494] New: std::counting_semaphore should work

2025-01-15 Thread redi at gcc dot gnu.org via Gcc-bugs
++ Assignee: unassigned at gcc dot gnu.org Reporter: redi at gcc dot gnu.org Blocks: 88322 Target Milestone: --- Currently we use __platform_wait_t internally, which is int on Linux. That means we only support up to std::counting_semaphore. Referenced Bugs: https

[Bug libstdc++/116586] All uses of absolute timeouts should correctly handle negative times

2025-01-15 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116586 Jonathan Wakely changed: What|Removed |Added Ever confirmed|0 |1 Status|UNCONFIRMED

[Bug middle-end/109849] suboptimal code for vector walking loop

2025-01-15 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109849 --- Comment #40 from Jonathan Wakely --- Yes please - thanks for catching it.

[Bug libstdc++/118408] regex does not work under dual ABI

2025-01-13 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118408 --- Comment #8 from Jonathan Wakely --- (In reply to Jakub Jelinek from comment #7) > Some of them, no? Only if one rebuilds all the new ABI std::regex using > objects with newer gcc. Ah yes, good point. > On the other side, was std::regex a

[Bug libstdc++/118408] regex does not work under dual ABI

2025-01-13 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118408 --- Comment #4 from Jonathan Wakely --- (In reply to TC from comment #0) > It may be too late to fix this though, but it's nice to at least have an > issue to track it. I think it might be OK to add the abi_tag("__cxx11") now. It could cause p

[Bug libstdc++/118408] regex does not work under dual ABI

2025-01-13 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118408 --- Comment #3 from Jonathan Wakely --- (In reply to Jonathan Wakely from comment #2) > It fails if you mix old and new ABIs in a single executable. More precisely, if you mix std::regex compiled with the old and new ABIs in a single executable

[Bug libstdc++/118408] regex does not work under dual ABI

2025-01-13 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118408 --- Comment #2 from Jonathan Wakely --- It fails if you mix old and new ABIs in a single executable. Using either ABI consistently throughout the entire program works OK. If you mix them and use std::regex, the linker picks either the old or new

[Bug c/87950] GCC warns about reaching end of non-void function when all switch cases are completely handled

2025-01-11 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87950 --- Comment #19 from Jonathan Wakely --- (In reply to nightstrike from comment #17) > As long as we are hijacking for C++, the following should not warn, given > how enum class works: Are you sure you know how enum class works?

[Bug libstdc++/118408] regex does not work under dual ABI

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118408 Jonathan Wakely changed: What|Removed |Added Keywords||ABI Blocks|

[Bug libstdc++/118402] std::barrier doesn't use futex directly

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118402 --- Comment #1 from Jonathan Wakely --- The code comments say: 2. A great deal of attention has been paid to avoid cache line thrashing by flattening the tree structure into cache-line sized arrays, that are indexed in an efficient way

[Bug libstdc++/99277] C++2a synchronisation is inefficient in GCC 11

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99277 --- Comment #24 from Jonathan Wakely --- (In reply to Jonathan Wakely from comment #14) > > 5) std::barrier implementation also uses a type that futex(2) can't handle > > barrier still uses a 1-byte enum for the atomic waits. I've created PR 1

[Bug libstdc++/118402] New: std::barrier doesn't use futex directly

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
bstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: redi at gcc dot gnu.org Blocks: 88322 Target Milestone: --- Split out from PR 99277 The wait/notify synchronization in std::barrier is done on a 1-byte enum, which means it has to use a proxy wait insid

[Bug c++/118301] Feature request: CLI parament std with explicit experimental values

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118301 --- Comment #7 from Jonathan Wakely --- (In reply to Richard Sandiford from comment #6) > You obviously know better than me :), but I thought c++2a was used for > things that aren't yet fully specified. Here it's about something that is > fully

[Bug libstdc++/108974] std::barrier accepts completion function which is not manifestly noexcept

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108974 --- Comment #7 from Jonathan Wakely --- Patch posted that implements the proposed resolution: https://gcc.gnu.org/pipermail/gcc-patches/2025-January/673200.html

[Bug libstdc++/101825] Atomic wait returns without the value having changed

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101825 Jonathan Wakely changed: What|Removed |Added Resolution|--- |DUPLICATE Status|WAITING

[Bug libstdc++/100334] atomic::notify_one() sometimes wakes wrong thread

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100334 Jonathan Wakely changed: What|Removed |Added CC||tobias.schmidt at in dot tum.de --- C

[Bug libstdc++/118395] Constructor of std::barrier is not constexpr

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118395 --- Comment #4 from Jonathan Wakely --- Patch posted: https://gcc.gnu.org/pipermail/gcc-patches/2025-January/673200.html

[Bug libstdc++/98749] No precondition checks in , and

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98749 --- Comment #2 from Jonathan Wakely --- Patch for std::barrier checks posted: https://gcc.gnu.org/pipermail/gcc-patches/2025-January/673200.html

[Bug libstdc++/118395] Constructor of std::barrier is not constexpr

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118395 --- Comment #3 from Jonathan Wakely --- So all we need to do is add a single point of contention that all threads synchronize on every time they call arrive, to make our contention-avoiding tree barrier work.

[Bug libstdc++/110854] constructor of std::counting_semaphore is not constexpr

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110854 Jonathan Wakely changed: What|Removed |Added See Also||https://github.com/llvm/llv

[Bug libstdc++/118395] Constructor of std::barrier is not constexpr

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118395 --- Comment #2 from Jonathan Wakely --- Making this constexpr requires major changes: size_t const __count = (_M_expected + 1) >> 1; _M_state = std::make_unique<__state_t[]>(__count); We can't allocate an array during constan

[Bug libstdc++/115955] atomic::wait _S_for uses a poor hash function

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115955 --- Comment #2 from Jonathan Wakely --- std::barrier does: std::hash __hasher; size_t __current = __hasher(std::this_thread::get_id()); Maybe this could be improved too, although it doesn't have exactly the same issue (not all

[Bug libstdc++/108974] std::barrier accepts completion function which is not manifestly noexcept

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108974 Jonathan Wakely changed: What|Removed |Added Last reconfirmed|2023-02-28 00:00:00 |2025-1-10 --- Comment #6 from Jonatha

[Bug libstdc++/118395] Constructor of std::barrier is not constexpr

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118395 --- Comment #1 from Jonathan Wakely --- We also have: static constexpr ptrdiff_t max() noexcept { return __PTRDIFF_MAX__; } But this seems wrong, because the constructor does: size_t const __count = (_M_expected + 1

[Bug libstdc++/118395] New: Constructor of std::barrier is not constexpr

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: redi at gcc dot gnu.org Target Milestone: --- The C++20 standard says: constexpr explicit barrier(ptrdiff_t expected, CompletionFunction f

[Bug libstdc++/98749] No precondition checks in , and

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98749 --- Comment #1 from Jonathan Wakely --- r15-4209-gf5021ce9aa6be5 added a check to std::latch::count_down, but with a copy&paste error so that the same check is done twice. Oops.

[Bug libstdc++/115402] std::atomic_ref compile-error in compare_exchange_[weak/strong]() and wait()

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115402 Jonathan Wakely changed: What|Removed |Added Ever confirmed|0 |1 Blocks|

[Bug libstdc++/110854] constructor of std::counting_semaphore is not constexpr

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110854 Jonathan Wakely changed: What|Removed |Added Blocks||88322 Target Milestone|---

[Bug libstdc++/98749] No precondition checks in , and

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98749 Jonathan Wakely changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org

[Bug libstdc++/99572] std::counting_semaphore coalescing wakes

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
|ASSIGNED Ever confirmed|0 |1 Last reconfirmed||2025-01-10 Assignee|rodgertq at gcc dot gnu.org|redi at gcc dot gnu.org Blocks||88322 Referenced Bugs: https

[Bug libstdc++/104928] std::counting_semaphore on Linux can sleep forever

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org Target Milestone|--- |15.0 Last reconfirmed|2023-12-10 00:00:00 |2025-1-10 Blocks||88322 Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88322 [Bug

[Bug libstdc++/115955] atomic::wait _S_for uses a poor hash function

2025-01-10 Thread redi at gcc dot gnu.org via Gcc-bugs
|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org Target Milestone|--- |15.0 Status|NEW |ASSIGNED

[Bug libstdc++/117962] Debug Mode containers with stateful allocators don't work in constexpr

2025-01-09 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117962 Jonathan Wakely changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug libstdc++/118035] [12/13 Regression] deque bug when inserting an empty iterator interval

2025-01-09 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118035 Jonathan Wakely changed: What|Removed |Added Summary|[12/13/14/15 Regression]|[12/13 Regression]

[Bug libstdc++/118093] std::future::wait_until futex call returns EINVAL for negative timeout smaller than 1s

2025-01-09 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118093 Jonathan Wakely changed: What|Removed |Added Target Milestone|--- |13.4

[Bug c++/29593] Missing warning.

2025-01-09 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=29593 --- Comment #8 from Jonathan Wakely --- *** Bug 118386 has been marked as a duplicate of this bug. ***

[Bug c++/118386] Optimizations loose rvalue references from std::tuple and std::tuple

2025-01-09 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118386 Jonathan Wakely changed: What|Removed |Added Resolution|FIXED |DUPLICATE --- Comment #5 from Jonatha

[Bug libstdc++/118260] Automatically add some 'skip's from gdb helper code

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118260 --- Comment #8 from Jonathan Wakely --- std::get for pair is from C++11, but yes it's a good candidate.

[Bug c++/118365] try to define an overloaded function template for a namespace, without having first declared it in that namespace

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118365 --- Comment #4 from Jonathan Wakely --- Dup of PR 97174, or at least related. Oh, I see Andrew already found that :)

[Bug libstdc++/118260] Automatically add some 'skip's from gdb helper code

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118260 --- Comment #6 from Jonathan Wakely --- Good enough? Any other suggestions for functions to skip? std::get for tuples?

[Bug c++/118355] [12 Regression] cannot assign empty braced-init-list to struct containing array

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118355 Jonathan Wakely changed: What|Removed |Added CC||mpolacek at gcc dot gnu.org Know

[Bug libstdc++/118177] C++ Standard Module: ‘mbrtoc8’ has not been declared in ‘std’

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118177 Jonathan Wakely changed: What|Removed |Added Target Milestone|--- |15.0 Status|NEW

[Bug libstdc++/90389] std::deque::emplace tries to call wrong overload internally

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90389 --- Comment #4 from Jonathan Wakely --- Fixed for GCC 15, backports likely at a later date.

[Bug libstdc++/118093] std::future::wait_until futex call returns EINVAL for negative timeout smaller than 1s

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118093 --- Comment #2 from Jonathan Wakely --- Fixed for GCC 15, but probably worth backporting.

[Bug libstdc++/98723] On Windows with CP936 encoding, regex compiles very slow.

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98723 Jonathan Wakely changed: What|Removed |Added Resolution|--- |FIXED Target Milestone|---

[Bug libstdc++/102445] [meta-bug] std::regex issues

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102445 Bug 102445 depends on bug 98723, which changed state. Bug 98723 Summary: On Windows with CP936 encoding, regex compiles very slow. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98723 What|Removed |Added

[Bug libstdc++/102445] [meta-bug] std::regex issues

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102445 Bug 102445 depends on bug 85824, which changed state. Bug 85824 Summary: regex constructor crashes under UTF-8 locale on Solaris SPARC when parsing a simple character class https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85824 What|

[Bug libstdc++/94409] std::regexp (std::collate?) with GCC 7.3.1 on AIX, Japanese

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94409 Jonathan Wakely changed: What|Removed |Added Status|ASSIGNED|RESOLVED Target Milestone|---

[Bug libstdc++/102445] [meta-bug] std::regex issues

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102445 Bug 102445 depends on bug 94409, which changed state. Bug 94409 Summary: std::regexp (std::collate?) with GCC 7.3.1 on AIX, Japanese https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94409 What|Removed |Added --

[Bug libstdc++/85824] regex constructor crashes under UTF-8 locale on Solaris SPARC when parsing a simple character class

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85824 Jonathan Wakely changed: What|Removed |Added Resolution|--- |FIXED Target Milestone|---

[Bug c++/118349] Suggestion for new warning: -Wtemplate-depth= (like -ftemplate-depth= but a warning instead of an error)

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118349 --- Comment #5 from Jonathan Wakely --- (In reply to Eric Gallager from comment #4) > Yes, it's just a hypothetical example, I probably wouldn't actually use such > a low value myself, but rather would determine an appropriate value > experiment

[Bug c++/118301] Feature request: CLI parament std with explicit experimental values

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118301 --- Comment #5 from Jonathan Wakely --- We already have -std=c++2a for that and it doesn't solve anything.

[Bug libstdc++/118341] Missing -D_GLIBCXX_ASSERTIONS checks for

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118341 --- Comment #3 from Jonathan Wakely --- The debug bitset also does checking in its reference type, but only for C++98: // In C++11 we rely on normal reference type to preserve the property // of bitset to be use as a literal.

[Bug libstdc++/118341] Missing -D_GLIBCXX_ASSERTIONS checks for

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118341 --- Comment #2 from Jonathan Wakely --- (In reply to Sam James from comment #1) > -D_GLIBCXX_DEBUG does fire on that mystery c[4] case but none of the others. There's a __gnu_debug::bitset class that replaces std::bitset in debug mode. The con

[Bug c++/118349] Suggestion for new warning: -Wtemplate-depth= (like -ftemplate-depth= but a warning instead of an error)

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118349 --- Comment #2 from Jonathan Wakely --- (In reply to Eric Gallager from comment #0) > for users who are okay with template usage, but just > don't want it to get out of hand. What does "get out of hand" mean? What unwanted consequence would yo

[Bug c++/118349] Suggestion for new warning: -Wtemplate-depth= (like -ftemplate-depth= but a warning instead of an error)

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118349 --- Comment #1 from Jonathan Wakely --- (In reply to Eric Gallager from comment #0) > For example, one could do -Wtemplate-depth=17 > -ftemplate-depth=1024 to get a warning when the pre-C++11 limit is reached, > but only actually fail if the pos

[Bug libstdc++/118341] Missing -D_GLIBCXX_ASSERTIONS checks for

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118341 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug middle-end/118334] Missing internals documentation for: INT_N, FRACTIONAL_INT_MODE, PARTIAL_INT_MODE

2025-01-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118334 --- Comment #4 from Jonathan Wakely --- (In reply to Georg-Johann Lay from comment #2) > Optionally, NAME is the new name of the mode. NAME is the > name of the mode. What does this mean?! It seems confusing to me that INT_MODE an

[Bug target/118329] New: avr defines __int24 but doesn't define __GLIBCXX_TYPE_INT_N_0

2025-01-07 Thread redi at gcc dot gnu.org via Gcc-bugs
ormal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: redi at gcc dot gnu.org CC: avr at gjlay dot de Target Milestone: --- Target: avr Targets that define integers with non-standard sizes should inform li

[Bug c++/118323] Unhelpful diagnostic for consteval failure inside lambda that is immediate-escalating

2025-01-07 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118323 --- Comment #1 from Jonathan Wakely --- Clang does better: esc.cc:8:3: error: call to immediate function 'func()::(anonymous class)::operator()' is not a constant expression 8 | []{ | ^ esc.cc:1:43: note: subexpression not valid i

[Bug c++/118323] New: Unhelpful diagnostic for consteval failure inside lambda that is immediate-escalating

2025-01-07 Thread redi at gcc dot gnu.org via Gcc-bugs
Keywords: diagnostic Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: redi at gcc dot gnu.org Target Milestone: --- This C++20 program gives a nice clear diagnostic: consteval int check(int i) { if (i

[Bug libstdc++/118260] Automatically add some 'skip's from gdb helper code

2025-01-07 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118260 --- Comment #4 from Jonathan Wakely --- Not all of those containers actually have a back() or data() member function, but it doesn't matter.

[Bug libstdc++/118260] Automatically add some 'skip's from gdb helper code

2025-01-07 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118260 --- Comment #3 from Jonathan Wakely --- This seems like a good start: --- a/libstdc++-v3/python/hook.in +++ b/libstdc++-v3/python/hook.in @@ -55,6 +55,11 @@ if gdb.current_objfile () is not None: if not dir_ in sys.path: sys.path.

[Bug libstdc++/118293] Inserting at front of an empty deque shouldn't need to allocate

2025-01-06 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118293 --- Comment #2 from Jonathan Wakely --- It's possible that reusing the "trailing" capacity when pushing at the front of an empty deque will break some invariant which other members rely on (e.g we assume that popping the last element from a dequ

[Bug libstdc++/118293] Inserting at front of an empty deque shouldn't need to allocate

2025-01-06 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118293 --- Comment #1 from Jonathan Wakely --- Similarly: using V = std::deque>; V v; printf("Default-constructed capacity: %zu\n", capacity_of_v()); v.assign(capacity_of_v(), 1); printf("Capacity after assign: %zu\n", capacity_of_

[Bug libstdc++/118244] Errors building libstdc++-v3 for MinGW-w64

2025-01-06 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118244 --- Comment #9 from Jonathan Wakely --- Libstdc++ does this for mingw-w64: // Make sure that POSIX printf/scanf functions are activated. As // libstdc++ depends on POSIX-definitions of those functions, we define // it unconditionally. #undef _

[Bug web/67119] viewvc links in bugzilla don't work anymore

2025-01-06 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67119 --- Comment #5 from Jonathan Wakely --- Or for commits on all branches: $ git log --oneline --grep c++/8805 --tags=releases e94987ae569 re PR c++/8805 (compile time regression with many member variables) bafb714bac2 re PR c++/8805 (compile time

[Bug web/67119] viewvc links in bugzilla don't work anymore

2025-01-06 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67119 --- Comment #4 from Jonathan Wakely --- For example: $ git log --oneline --grep c++/8805 bafb714bac2 re PR c++/8805 (compile time regression with many member variables)

[Bug libstdc++/118293] Inserting at front of an empty deque shouldn't need to allocate

2025-01-06 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118293 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever confirmed|0

[Bug libstdc++/118260] Automatically add some 'skip's from gdb helper code

2025-01-06 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118260 --- Comment #2 from Jonathan Wakely --- I would like it if the libstdc++ code could use an attribute to opt-in to the -ffold-simple-inlines logic used for std::move etc. As noted in PR 96780, at some point I tried using __attribute__((artificia

[Bug c++/102749] ambigous call on different std::variant types with iterators

2025-01-06 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102749 --- Comment #3 from Jonathan Wakely --- >From the error message, I think the code looks like this: #include #include using T = unsigned; using Vec = std::vector; struct Cont { void insert(std::variant&&, int) { } void insert(std::varian

[Bug target/118276] memset 88 uses rep stosq while 80 uses SSE

2025-01-06 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118276 --- Comment #11 from Jonathan Wakely --- N.B. your first godbolt example never tests -DMODE=1 because the second pane uses -DDEFAULTED=1 (In reply to Ben FrantzDale from comment #0) > I think (?) `S() noexcept {}` is semantically the same as `

[Bug c++/118263] Compiler should issue a warning when passing function pointers not marked noexcept to functions where throwing an exception in a callback function is undefined behavior

2025-01-06 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118263 --- Comment #6 from Jonathan Wakely --- (In reply to Richard Yao from comment #0) > WaitForSingleObjectEx() is a C ABI function and thus invoking a C++ > exception in it triggers undefined behavior. No it doesn't. The compiler has no way to kn

[Bug libstdc++/107759] Implement C++23

2024-12-31 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107759 Jonathan Wakely changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot gnu.org

[Bug libstdc++/107758] Implement C++23

2024-12-31 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107758 Jonathan Wakely changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot gnu.org

[Bug c++/118230] `std::is_invocable` gives wrong result when the tested function returns `auto`

2024-12-29 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118230 --- Comment #4 from Jonathan Wakely --- The C++ standard specifies the requirements on hash functions and they must return std::size_t, so what's the benefit of the reduced return type? Why not just return size_t?

[Bug c/118191] missing option to read __float128 from command line argument or string

2024-12-26 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118191 --- Comment #4 from Jonathan Wakely --- This bug database is still the wrong place for your questions. You probably need a newer glibc, strtof128 is relatively new.

[Bug libstdc++/118196] The assignment operator for std::generator does not return, so generators cannot be reassigned

2024-12-24 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118196 Jonathan Wakely changed: What|Removed |Added Last reconfirmed||2024-12-24 Status|UNCONFI

[Bug c/118191] missing option to read __float128 from command line argument or string

2024-12-24 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118191 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug libstdc++/113159] More robust std::sort for silly comparator functions

2024-12-23 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113159 --- Comment #22 from Jonathan Wakely --- (In reply to Yury Gribov from comment #19) > (In reply to Jonathan Wakely from comment #17) > > That's what _GLIBCXX_DEBUG and/or _GLIBCXX_ASSERTIONS are for. > > I'm not sure they solve the issue I'm n

[Bug c++/118177] C++ Standard Module: ‘mbrtoc8’ has not been declared in ‘std’

2024-12-23 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118177 Jonathan Wakely changed: What|Removed |Added Last reconfirmed||2024-12-23 Ever confirmed|0

[Bug libstdc++/113159] More robust std::sort for silly comparator functions

2024-12-23 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113159 --- Comment #17 from Jonathan Wakely --- (In reply to Yury Gribov from comment #10) > As a compiler user I would actually love my STL to crash fast on invalid > comparators rather than produce unpredictable and meaningless results which > will c

[Bug libstdc++/118162] ofstream::write(…, count) fails when count >= 2^31 on darwin

2024-12-23 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118162 Jonathan Wakely changed: What|Removed |Added Ever confirmed|0 |1 Last reconfirmed|

[Bug libstdc++/109442] Dead local copy of std::vector not removed from function

2024-12-21 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109442 --- Comment #39 from Jonathan Wakely --- (In reply to Antony Polukhin from comment #37) > Unfortunately the examples are not artificial. People do write business > logic code as `vector_variable == std::vector{"*"}`. That > particular example is

[Bug libstdc++/109442] Dead local copy of std::vector not removed from function

2024-12-21 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109442 --- Comment #38 from Jonathan Wakely --- That doesn't mean it has to be fast though. If people want to write slow code, they get slow programs!

[Bug libstdc++/102259] ifstream::read(…, count) fails when count >= 2^31 on darwin

2024-12-21 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102259 --- Comment #16 from Jonathan Wakely --- Yes, I saw the freebsd changes and came to the same conclusion. Looping on 2gb chunks won't hurt much. I thought I saw some docs saying >= INT_MAX fails, but maybe I'm wrong. The Rust change uses INT_MAX

[Bug libstdc++/118158] std::filesystem::equivalent unsupported on socket files

2024-12-20 Thread redi at gcc dot gnu.org via Gcc-bugs
|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org --- Comment #7 from Jonathan Wakely --- (In reply to Andrew Pinski from comment #5) > Yes the original C++20 standard was written that way but was changed by LWG > DR 2937 : https://cplusplus.github.io/LWG/issue2937 . C++17 said (is_ot

[Bug c++/99931] Unnamed `struct` defined with `using` having internal linkage instead of external, unlike `typedef`, yielding different semantics for two

2024-12-19 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99931 --- Comment #4 from Jonathan Wakely --- There was a question on the Core reflector about this in June 2017, subject "unnamed class in alias declaration" The replies suggested that no semantic difference is intended and it's just a wording oversi

[Bug c++/99931] Unnamed `struct` defined with `using` having internal linkage instead of external, unlike `typedef`, yielding different semantics for two

2024-12-19 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99931 --- Comment #3 from Jonathan Wakely --- Clang and EDG both treat the using-declaration as equivalent to a typedef-declaration, and the first stackoverflow link says that MSVC does too. I don't see an open Core issue about this, but it seems like

  1   2   3   4   5   6   7   8   9   10   >