Make sure this method just return value equal or less than Limit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35509 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Zhou Sheng 2007-03-30 16:50:28 +00:00
parent 97e0c22330
commit 4ac93f9fa3

View File

@ -187,7 +187,8 @@ public:
/// not greater than 64, otherwise, just return the given uint64_t number.
/// @brief Get the constant's value if possible.
uint64_t getLimitedValue(uint64_t Limit) {
return (Val.getActiveBits() > 64) ? Limit : Val.getZExtValue();
return (Val.getActiveBits() > 64 || Val.getZExtValue() > Limit) ?
Limit : Val.getZExtValue();
}
/// @returns the value for an integer constant of the given type that has all