From 7a762a66c67190e8d3c0ec65b102dd55638c1982 Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Sat, 18 Sep 2021 21:40:52 +0100 Subject: [PATCH] stdlib: add support for WebAssembly in VarArgs When targeting `wasm32` we're relying on the alignment padding here branch that's used for 32-bit ARM. --- stdlib/public/core/VarArgs.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/public/core/VarArgs.swift b/stdlib/public/core/VarArgs.swift index 1f875b777be33..f2ccadd157df5 100644 --- a/stdlib/public/core/VarArgs.swift +++ b/stdlib/public/core/VarArgs.swift @@ -601,7 +601,7 @@ final internal class __VaListBuilder { // supported vararg type is greater than the alignment of Int, such // as non-iOS ARM. Note that we can't use alignof because it // differs from ABI alignment on some architectures. -#if (arch(arm) && !os(iOS)) || arch(arm64_32) +#if (arch(arm) && !os(iOS)) || arch(arm64_32) || arch(wasm32) if let arg = arg as? _CVarArgAligned { let alignmentInWords = arg._cVarArgAlignment / MemoryLayout.size let misalignmentInWords = count % alignmentInWords