================
@@ -144,12 +148,25 @@ ArgInfo AArch64TargetInfo::classifyArgumentType(
                                            RecordArgABI::RAA_DirectInMemory);
   }
 
+  // Empty records:
+  // AAPCS64 does not say that empty records are ignored as arguments,
----------------
smithp35 wrote:

AFAIK Darwin uses a modified version of the AAPCS. The only public document 
that I know of is 
https://developer.apple.com/documentation/xcode/writing-arm64-code-for-apple-platforms#Pass-arguments-to-functions-correctly
 

> Functions may ignore parameters that contain empty struct types. This 
> behavior applies to the GNU extension in C and, where permitted by the 
> language, in C++. The AArch64 documentation doesn’t address the issue of 
> empty structures as parameters, but Apple chose this path for its 
> implementation.

https://github.com/llvm/llvm-project/pull/224476
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to