<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Nov 14, 2017, at 7:52 AM, Arnold Schwaighofer <<a href="mailto:aschwaighofer@apple.com" class="">aschwaighofer@apple.com</a>> wrote:</div><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Nov 14, 2017, at 12:33 AM, Slava Pestov via swift-dev <<a href="mailto:swift-dev@swift.org" class="">swift-dev@swift.org</a>> wrote:</div><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""></div></div></blockquote></div><div class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><div class=""><blockquote type="cite" class=""><div class="">On Nov 13, 2017, at 10:47 PM, Greg Parker via swift-dev <<a href="mailto:swift-dev@swift.org" class="">swift-dev@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">I see that in our Linux builds clang complains that it does not support the swiftcall attribute.<div class=""><br class=""></div><div class=""><div class=""> In file included from /home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/swift/unittests/runtime/Metadata.cpp:13:</div><div class=""> /home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/swift/include/swift/Runtime/Metadata.h:3015:1: warning: unknown attribute 'swiftcall' ignored [-Wunknown-attributes]</div><br class="Apple-interchange-newline">How bad is this? Do we not use a custom calling convention on Linux platforms today?</div></div></div></blockquote></div></div></div></div></blockquote></div></div></div></blockquote><blockquote type="cite" class=""><blockquote type="cite" class=""><br class=""></blockquote></blockquote><blockquote type="cite" class=""><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div class=""><blockquote type="cite" class=""><div class=""><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">This is while building the metadata unit tests — I’m assuming those are built with the host clang? Do we build the runtime with the Swift clang on Linux? If so, we should still be able to use swiftcall.</div></div></blockquote><div class=""><br class=""></div>Yes we build the runtime with the “just built clang”. We should switch over the unit tests tests too. They definitely could call code in the runtime where the ABI difference matters: for example heap object destructors use swiftcc.</div></div></blockquote></div><br class=""><div class="">You're right. I filed <a href="https://bugs.swift.org/browse/SR-6387" class="">https://bugs.swift.org/browse/SR-6387</a> .</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">-- </div><div class="">Greg Parker <a href="mailto:gparker@apple.com" class="">gparker@apple.com</a> Runtime Wrangler</div><div class=""><br class=""></div><div class=""><br class=""></div></body></html>