workaround for gcc bug 106757

see: https://github.com/HowardHinnant/date/issues/750
This commit is contained in:
Miles Sherman 2024-03-16 20:43:39 +00:00 committed by Howard Hinnant
parent 88a3b15126
commit 0e65940a7f

View File

@ -6527,7 +6527,14 @@ read(std::basic_istream<CharT, Traits>& is, int a0, Args&& ...args)
*e++ = static_cast<CharT>(CharT(u % 10) + CharT{'0'}); *e++ = static_cast<CharT>(CharT(u % 10) + CharT{'0'});
u /= 10; u /= 10;
} while (u > 0); } while (u > 0);
#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstringop-overflow"
#endif
std::reverse(buf, e); std::reverse(buf, e);
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif
for (auto p = buf; p != e && is.rdstate() == std::ios::goodbit; ++p) for (auto p = buf; p != e && is.rdstate() == std::ios::goodbit; ++p)
read(is, *p); read(is, *p);
} }