File tree Expand file tree Collapse file tree 1 file changed +9
-4
lines changed Expand file tree Collapse file tree 1 file changed +9
-4
lines changed Original file line number Diff line number Diff line change @@ -206,10 +206,15 @@ class FixedArrayTypeInfoBase : public ArrayTypeInfoBase<BaseTypeInfo> {
206206 uint64_t paddingBytes = elementTI.getFixedStride ().getValue ()
207207 - elementTI.getFixedSize ().getValue ();
208208 auto byteTy = llvm::IntegerType::get (LLVMContext, 8 );
209- elementTy = llvm::StructType::get (LLVMContext,
210- {elementTy,
211- llvm::ArrayType::get (byteTy, paddingBytes)},
212- /* packed*/ true );
209+ auto paddingArrayTy = llvm::ArrayType::get (byteTy, paddingBytes);
210+
211+ if (elementTI.getFixedSize () == Size (0 )) {
212+ elementTy = paddingArrayTy;
213+ } else {
214+ elementTy = llvm::StructType::get (LLVMContext,
215+ {elementTy, paddingArrayTy},
216+ /* packed*/ true );
217+ }
213218 }
214219
215220 return llvm::ArrayType::get (elementTy, arraySize);
You can’t perform that action at this time.
0 commit comments