aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Sema/SemaType.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Sema/SemaType.cpp')
-rw-r--r--clang/lib/Sema/SemaType.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaType.cpp b/clang/lib/Sema/SemaType.cpp
index 959f4903b030..ab47e9f03eaf 100644
--- a/clang/lib/Sema/SemaType.cpp
+++ b/clang/lib/Sema/SemaType.cpp
@@ -2257,7 +2257,7 @@ QualType Sema::BuildBitIntType(bool IsUnsigned, Expr *BitWidth,
if (ICE.isInvalid())
return QualType();
- int64_t NumBits = Bits.getSExtValue();
+ size_t NumBits = Bits.getZExtValue();
if (!IsUnsigned && NumBits < 2) {
Diag(Loc, diag::err_bit_int_bad_size) << 0;
return QualType();
@@ -2268,9 +2268,10 @@ QualType Sema::BuildBitIntType(bool IsUnsigned, Expr *BitWidth,
return QualType();
}
- if (NumBits > llvm::IntegerType::MAX_INT_BITS) {
+ const TargetInfo &TI = getASTContext().getTargetInfo();
+ if (NumBits > TI.getMaxBitIntWidth()) {
Diag(Loc, diag::err_bit_int_max_size)
- << IsUnsigned << llvm::IntegerType::MAX_INT_BITS;
+ << IsUnsigned << static_cast<uint64_t>(TI.getMaxBitIntWidth());
return QualType();
}