https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112882
Jonathan Wakely changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112882
--- Comment #6 from GCC Commits ---
The master branch has been updated by Jonathan Wakely :
https://gcc.gnu.org/g:1395c573c523762957bde8c2a08832c5f4350815
commit r14-6291-g1395c573c523762957bde8c2a08832c5f4350815
Author: Jonathan Wakely
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112882
--- Comment #5 from Jonathan Wakely ---
The original effect of --disable-libstdcxx-verbose was to change the default
std::terminate handler, which is a configure-time property.
But it's now also used to decide whether to use the verbose
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112882
--- Comment #4 from Tamar Christina ---
Awesome! Thanks for taking a look!
> > It seems that undefining `_GLIBCXX_VERBOSE_ASSERT` gets it to go to
> > `__builtin_abort()` which makes it work again.
> >
> > If this change was intentional,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112882
--- Comment #3 from Jonathan Wakely ---
This minimal fix is enough to remove the reference to __glibcxx_assert_fail
when optimization is enabled (at any level):
--- a/libstdc++-v3/include/bits/c++config
+++
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112882
Jonathan Wakely changed:
What|Removed |Added
Priority|P3 |P1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112882
--- Comment #2 from Jonathan Wakely ---
That change was broken anyway: when _GLIBCXX_ASSERTIONS was not defined, the
condition in the assertion is if constexpr (is_constant_evaluated()) which is
always true, even when not actually doing
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112882
Jonathan Wakely changed:
What|Removed |Added
Status|NEW |ASSIGNED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112882
Jonathan Wakely changed:
What|Removed |Added
Ever confirmed|0 |1
Last reconfirmed|