================
@@ -2097,6 +2092,61 @@ CGDebugInfo::CreateRecordStaticField(const VarDecl *Var,
llvm::DIType *RecordTy,
C = llvm::ConstantInt::get(CGM.getLLVMContext(), Value->getInt());
if (Value->isFloat())
C = llvm::ConstantFP::get(CGM.getLLVMContext(), Value->getFloat());
+ if (Value->isArray()) {
+ // Handle constexpr array constants for debug info
+ // We handle arrays of integer types (char, short, int, long)
+ // with element width up to 64 bits.
+ auto TryEmitArrayConstant = [&]() -> llvm::Constant * {
+ const auto *ArrayTy =
CGM.getContext().getAsArrayType(Var->getType());
+ if (!ArrayTy)
+ return nullptr;
+
+ const QualType ElemQTy = ArrayTy->getElementType();
+ if (!ElemQTy->isIntegerType())
----------------
Michael137 wrote:
```suggestion
if (!ElemQTy.isNull() && !ElemQTy->isIntegerType())
```
https://github.com/llvm/llvm-project/pull/182442
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits