================
@@ -4777,6 +4783,13 @@ class CodeGenFunction : public CodeGenTypeCache {
   /// aggregate type into a temporary LValue.
   LValue EmitAggExprToLValue(const Expr *E);
 
+  enum ExprValueKind { EVK_RValue, EVK_NonRValue };
+
+  /// EmitAggFinalDestCopy - Emit copy of the specified aggregate into
+  /// destination address.
+  void EmitAggFinalDestCopy(QualType Type, AggValueSlot Dest, const LValue 
&Src,
----------------
efriedma-quic wrote:

It feels strange to be adding this API now... but I guess it's fine?  The 
alternative would be to use EmitAggregateCopy directly.  It only really makes a 
difference for structs containing pointers to ObjC types, which can't be passed 
by va_arg anyway, but I guess it's better for EmitLoadOfAnyValue to be fully 
general in case we add other uses in the future.

https://github.com/llvm/llvm-project/pull/94635
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to