From: Jakob Stoklund Olesen Date: Thu, 13 Aug 2009 06:24:02 +0000 (+0000) Subject: Fix the N>=64 case in the isInt<> and isUint<> templates. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=d4c00c0f558193b492aed9ab6aacf84bf1d3fb4e;p=oota-llvm.git Fix the N>=64 case in the isInt<> and isUint<> templates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78899 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Support/MathExtras.h b/include/llvm/Support/MathExtras.h index 15a67e40299..7ba5d8661cc 100644 --- a/include/llvm/Support/MathExtras.h +++ b/include/llvm/Support/MathExtras.h @@ -54,12 +54,12 @@ inline bool isUInt32(int64_t Value) { template 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 inline bool isUint(uint64_t x) { - return x < (UINT64_C(1)<= 64 || x < (UINT64_C(1)<