Casting to unsigned long can cause the time to get truncated to 32-bits,
making it appear to be a valid timestamp. Just use isUInt<32> instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246840
91177308-0d34-0410-b5e6-
96231b3b80d8
// MS LINK expects to be able to use this timestamp to implement their
// /INCREMENTAL feature.
std::time_t Now = time(nullptr);
- if (Now < 0 || (unsigned long)Now > UINT32_MAX)
+ if (Now < 0 || !isUInt<32>(Now))
Now = UINT32_MAX;
Header.TimeDateStamp = Now;