================ @@ -535,20 +535,23 @@ void AggExprEmitter::EmitArrayInit(Address DestPtr, llvm::ArrayType *AType, elementType.isTriviallyCopyableType(CGF.getContext())) { CodeGen::CodeGenModule &CGM = CGF.CGM; ConstantEmitter Emitter(CGF); - LangAS AS = ArrayQTy.getAddressSpace(); + QualType GVArrayQTy = CGM.getContext().getAddrSpaceQualType( + CGM.getContext().removeAddrSpaceQualType(ArrayQTy), ---------------- changpeng wrote:
> I think it's a bug in removeAddrSpaceQualType(): it needs to special-case > arrays. Arrays are weird because qualifiers on the element type also count as > qualifiers on the type, so getSingleStepDesugaredType() can't remove the > sugar on arrays. So it needs to strip the qualifier off the element type, > then reconstruct the array type. Maybe it can use > ASTContext::getUnqualifiedArrayType. Thanks for the suggestion. I drafted a fix: https://github.com/llvm/llvm-project/pull/92612 https://github.com/llvm/llvm-project/pull/90048 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits