diff options
author | Mariya Podchishchaeva <mariya.podchishchaeva@intel.com> | 2024-06-17 14:29:20 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-17 13:29:20 +0200 |
commit | 6d973b4548e281d0b8e75e85833804bb45b6a0e8 (patch) | |
tree | 10fd095a7efd752a78668205d597e4f95f4af96d /clang/lib/CodeGen/CGExprComplex.cpp | |
parent | 52d87de7a42d608ac1da33795ca0a892f2b53f36 (diff) | |
download | llvm-6d973b4548e281d0b8e75e85833804bb45b6a0e8.zip llvm-6d973b4548e281d0b8e75e85833804bb45b6a0e8.tar.gz llvm-6d973b4548e281d0b8e75e85833804bb45b6a0e8.tar.bz2 |
[clang][CodeGen] Return RValue from `EmitVAArg` (#94635)
This should simplify handling of resulting value by the callers.
Diffstat (limited to 'clang/lib/CodeGen/CGExprComplex.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGExprComplex.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/clang/lib/CodeGen/CGExprComplex.cpp b/clang/lib/CodeGen/CGExprComplex.cpp index f193344..84ad3b5 100644 --- a/clang/lib/CodeGen/CGExprComplex.cpp +++ b/clang/lib/CodeGen/CGExprComplex.cpp @@ -1448,9 +1448,9 @@ ComplexPairTy ComplexExprEmitter::VisitInitListExpr(InitListExpr *E) { ComplexPairTy ComplexExprEmitter::VisitVAArgExpr(VAArgExpr *E) { Address ArgValue = Address::invalid(); - Address ArgPtr = CGF.EmitVAArg(E, ArgValue); + RValue RV = CGF.EmitVAArg(E, ArgValue); - if (!ArgPtr.isValid()) { + if (!ArgValue.isValid()) { CGF.ErrorUnsupported(E, "complex va_arg expression"); llvm::Type *EltTy = CGF.ConvertType(E->getType()->castAs<ComplexType>()->getElementType()); @@ -1458,8 +1458,7 @@ ComplexPairTy ComplexExprEmitter::VisitVAArgExpr(VAArgExpr *E) { return ComplexPairTy(U, U); } - return EmitLoadOfLValue(CGF.MakeAddrLValue(ArgPtr, E->getType()), - E->getExprLoc()); + return RV.getComplexVal(); } //===----------------------------------------------------------------------===// |