[clang] [clang] Fix crashes when passing VLA to va_arg (PR #119563)

Eli Friedman via cfe-commits cfe-commits at lists.llvm.org
Fri Dec 13 14:36:52 PST 2024


================
@@ -6121,6 +6121,8 @@ RValue CodeGenFunction::EmitVAArg(VAArgExpr *VE, Address &VAListAddr,
   VAListAddr = VE->isMicrosoftABI() ? EmitMSVAListRef(VE->getSubExpr())
                                     : EmitVAListRef(VE->getSubExpr());
   QualType Ty = VE->getType();
+  if (Ty->isVariableArrayType())
+    EmitVariablyModifiedType(Ty);
----------------
efriedma-quic wrote:

You can drop the call to EmitVariablyModifiedType in ScalarExprEmitter::VisitVAArgExpr, since it's now redundant.

https://github.com/llvm/llvm-project/pull/119563


More information about the cfe-commits mailing list