https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68519

--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The problem is that duration<float> doesn't have sufficient precision to
represent now+1s as a float (the value is the same as now)

#include <chrono>
constexpr std::chrono::seconds now(1513266095);
constexpr auto then = now + std::chrono::duration<float>(1);
static_assert( now < then, "" );

The timed waiting functions would have to check for such rounding errors.

Reply via email to