[Bug libstdc++/105995] QoI: constexpr basic_string variable must use all of its SSO buffer
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jun 16 11:14:19 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105995
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
Last reconfirmed| |2022-06-16
Severity|normal |enhancement
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
This makes it work:
--- a/libstdc++-v3/include/bits/basic_string.h
+++ b/libstdc++-v3/include/bits/basic_string.h
@@ -352,7 +352,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
{
#if __cpp_lib_is_constant_evaluated
if (std::is_constant_evaluated())
- _M_local_buf[0] = _CharT();
+ for (_CharT& __c : _M_local_buf)
+ __c = _CharT();
#endif
return _M_local_data();
}
More information about the Gcc-bugs
mailing list