================
@@ -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),
----------------
efriedma-quic 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.

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

Reply via email to