[libcxx-commits] [PATCH] D93456: [libcxx] Avoid overflows in the windows __libcpp_steady_clock_now()
Adrian McCarthy via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Dec 17 09:08:48 PST 2020
amccarth accepted this revision.
amccarth added a comment.
This looks correct and straightforward, so LGTM.
There's probably a "clever" solution involving finding the greatest common divisor (once) of `nano::den` and `freq.QuadPart`. That would depend on there being a significant common divisor (which I assume is probably true, but not guaranteed). I think the straightforward solution in this patch is better.
================
Comment at: libcxx/test/std/utilities/time/time.clock/time.clock.steady/now.pass.cpp:28
assert(t2 >= t1);
+ assert(t2 > std::chrono::time_point<C>());
----------------
I don't know what the libcxx style guidelines say, but my inclination would be to add a comment explaining this assertion. Since the original bug would only occasionally be caught by this assertion, somebody who encounters it might need a hint to look for arithmetic overflows.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D93456/new/
https://reviews.llvm.org/D93456
More information about the libcxx-commits
mailing list