I know we’re late in the release process, but I’ve discovered a regression I believe is serious enough to hold the release .
The regression is in usages of
__builtin_constant_p applied to a dereferenced pointer in a constant expression. In certain cases Clang now rejects this as a non-constant expression .
This regression will have a larger impact than it initially appears.
libstdc++ 7.1 and newer use
__builtin_constant_p to implement C++17
std::char_traits . This means that any usage of
std::string_view in a constant expression has the possibility to break.
__builtin_constant_p may be rare, but
std::string_view is not.
This regression was first found because it breaks
absl::StrFormat . This bug will break Abseil’s LTS w/ libstdc++. Abseil cannot fully work around this bug.
I would implore us to fix this bug in the upcoming 8 release.