================ @@ -2033,6 +2033,9 @@ llvm::Value *MicrosoftCXXABI::EmitVirtualDestructorCall( ThisTy = D->getDestroyedType(); } + while (const ArrayType *ATy = ThisTy->getAsArrayTypeUnsafe()) ---------------- Fznamznon wrote:
Thanks for the catch! Yeah, I knew it drops qualifiers. I kind of didn't expect that something cares about qualifiers that deep in the codegen. It seems `EmitCXXDestructorCall` cares about address spaces. Usually targets that care about address spaces don't support virtual calls. So I'm not sure how I can break or test this. But I made it "safe" by using ASTContext since it is anyway easily accessible here. https://github.com/llvm/llvm-project/pull/134088 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits