https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118395
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- 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) >> 1; This means that std::barrier{std::barrier::max()} would overflow, with undefined behaviour.