From 3e72411db011dfdd35d8eb9b2f51ea5c55a61d1e Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 13 Oct 2018 15:18:00 -0400 Subject: C ABI and compiler rt improvements for ARM * add __multi3 compiler rt function. See #1290 * compiler rt includes ARM functions for thumb and aarch64 and other sub-arches left out. See #1526 * support C ABI for returning structs on ARM. see #1481 --- src/analyze.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/analyze.cpp') diff --git a/src/analyze.cpp b/src/analyze.cpp index 42737a22e5..46a8aa7ee8 100644 --- a/src/analyze.cpp +++ b/src/analyze.cpp @@ -1084,6 +1084,8 @@ bool want_first_arg_sret(CodeGen *g, FnTypeId *fn_type_id) { } zig_panic("TODO implement C ABI for x86_64 return types. type '%s'\nSee https://github.com/ziglang/zig/issues/1481", buf_ptr(&fn_type_id->return_type->name)); + } else if (g->zig_target.arch.arch == ZigLLVM_arm || g->zig_target.arch.arch == ZigLLVM_armeb) { + return type_size(g, fn_type_id->return_type) > 16; } zig_panic("TODO implement C ABI for this architecture. See https://github.com/ziglang/zig/issues/1481"); } -- cgit v1.2.3