<div dir="ltr">On Wed, Jul 10, 2013 at 9:31 PM, Bill Wendling <span dir="ltr"><<a href="mailto:wendling@apple.com" target="_blank">wendling@apple.com</a>></span> wrote:<div class="gmail_extra"><div class="gmail_quote">
<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">
My initial thought would be that adding new linkage types would be the way to go. However, if there are going to be a lot of them, then it's a combinatoric nightmare. If you can mix all other linkage types with the dll* types, then maybe it should be a new field (sub-linkage type?) in the GlobalValue object. Or even expand the size of the linkage field and make it a bit-mask with the dll linkage types.<br>
</blockquote><div><br></div><div style>I think this approach was essentially rejected in the original thread on llvm-dev:</div><div style><a href="http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-March/060646.html">http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-March/060646.html</a><br>
</div><div style><br></div><div style>Basically, it's a bit of a combinatoric nightmare.  We don't need the full combination of (export, import) cross all linkages, but we need a bunch.</div><div style><br></div><div style>
Again, I think dllexport/import should be visibilities.</div></div></div></div>