@@ -393,7 +393,7 @@ bool ConstantAggregateBuilder::split(size_t Index, CharUnits Hint) {
393
393
394
394
static llvm::Constant *
395
395
EmitArrayConstant (CodeGenModule &CGM, llvm::ArrayType *DesiredType,
396
- llvm::Type *CommonElementType, unsigned ArrayBound,
396
+ llvm::Type *CommonElementType, uint64_t ArrayBound,
397
397
SmallVectorImpl<llvm::Constant *> &Elements,
398
398
llvm::Constant *Filler);
399
399
@@ -949,11 +949,11 @@ tryEmitGlobalCompoundLiteral(ConstantEmitter &emitter,
949
949
950
950
static llvm::Constant *
951
951
EmitArrayConstant (CodeGenModule &CGM, llvm::ArrayType *DesiredType,
952
- llvm::Type *CommonElementType, unsigned ArrayBound,
952
+ llvm::Type *CommonElementType, uint64_t ArrayBound,
953
953
SmallVectorImpl<llvm::Constant *> &Elements,
954
954
llvm::Constant *Filler) {
955
955
// Figure out how long the initial prefix of non-zero elements is.
956
- unsigned NonzeroLength = ArrayBound;
956
+ uint64_t NonzeroLength = ArrayBound;
957
957
if (Elements.size () < NonzeroLength && Filler->isNullValue ())
958
958
NonzeroLength = Elements.size ();
959
959
if (NonzeroLength == Elements.size ()) {
@@ -965,7 +965,7 @@ EmitArrayConstant(CodeGenModule &CGM, llvm::ArrayType *DesiredType,
965
965
return llvm::ConstantAggregateZero::get (DesiredType);
966
966
967
967
// Add a zeroinitializer array filler if we have lots of trailing zeroes.
968
- unsigned TrailingZeroes = ArrayBound - NonzeroLength;
968
+ uint64_t TrailingZeroes = ArrayBound - NonzeroLength;
969
969
if (TrailingZeroes >= 8 ) {
970
970
assert (Elements.size () >= NonzeroLength &&
971
971
" missing initializer for non-zero element" );
@@ -1252,12 +1252,12 @@ class ConstExprEmitter
1252
1252
llvm::Constant *EmitArrayInitialization (const InitListExpr *ILE, QualType T) {
1253
1253
auto *CAT = CGM.getContext ().getAsConstantArrayType (ILE->getType ());
1254
1254
assert (CAT && " can't emit array init for non-constant-bound array" );
1255
- unsigned NumInitElements = ILE->getNumInits ();
1256
- unsigned NumElements = CAT->getZExtSize ();
1255
+ const uint64_t NumElements = CAT->getZExtSize ();
1257
1256
1258
1257
// Initialising an array requires us to automatically
1259
1258
// initialise any elements that have not been initialised explicitly
1260
- unsigned NumInitableElts = std::min (NumInitElements, NumElements);
1259
+ uint64_t NumInitableElts =
1260
+ std::min<uint64_t >(ILE->getNumInits (), NumElements);
1261
1261
1262
1262
QualType EltType = CAT->getElementType ();
1263
1263
0 commit comments