forked from OSchip/llvm-project
Fix the N>=64 case in the isInt<> and isUint<> templates.
llvm-svn: 78899
This commit is contained in:
parent
f59e9f4288
commit
33733c0342
|
@ -54,12 +54,12 @@ inline bool isUInt32(int64_t Value) {
|
|||
|
||||
template<unsigned N>
|
||||
inline bool isInt(int64_t x) {
|
||||
return -(INT64_C(1)<<(N-1)) <= x && x < (INT64_C(1)<<(N-1));
|
||||
return N >= 64 || (-(INT64_C(1)<<(N-1)) <= x && x < (INT64_C(1)<<(N-1)));
|
||||
}
|
||||
|
||||
template<unsigned N>
|
||||
inline bool isUint(uint64_t x) {
|
||||
return x < (UINT64_C(1)<<N);
|
||||
return N >= 64 || x < (UINT64_C(1)<<N);
|
||||
}
|
||||
|
||||
/// isMask_32 - This function returns true if the argument is a sequence of ones
|
||||
|
|
Loading…
Reference in New Issue