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> {
206
206
uint64_t paddingBytes = elementTI.getFixedStride ().getValue ()
207
207
- elementTI.getFixedSize ().getValue ();
208
208
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
+ }
213
218
}
214
219
215
220
return llvm::ArrayType::get (elementTy, arraySize);
You can’t perform that action at this time.
0 commit comments