<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 10, 2016 at 2:29 PM, Joe Groff <span dir="ltr">&lt;<a href="mailto:jgroff@apple.com" target="_blank">jgroff@apple.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div id=":19c" class="">It might help to centralize the logic. In IRGen, there&#39;s a function getIRLinkage that decomposes a semantic SIL visibility into an LLVM linkage and visibility pair:<br>
<br>
<a href="https://github.com/apple/swift/blob/master/lib/IRGen/GenDecl.cpp#L1201" rel="noreferrer" target="_blank">https://github.com/apple/swift/blob/master/lib/IRGen/GenDecl.cpp#L1201</a><br>
<br>
It could be modified to produce a three-element tuple that includes the DLL storage class too.</div></blockquote></div><br>Hah.  You should have a look at the pull request :-).  Thats exactly what I had done.  However, that function is not used globally and I just audited the other calls for llvm::Function::Create and llvm::GlobalAlias::create.  I believe that it should be correct now.  Thanks for the original hint that I had missed an instance of the GlobalAlias.  I also updated the test cases that I had for this.  Additional input on what would be good test cases would be good too.</div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="https://github.com/apple/swift/pull/2080">https://github.com/apple/swift/pull/2080</a></div><div class="gmail_extra"><br>-- <br><div class="gmail_signature">Saleem Abdulrasool<br>compnerd (at) compnerd (dot) org</div>
</div></div>