<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Feb 20, 2013, at 8:00 PM, Richard Smith <<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>> wrote:</div><blockquote type="cite">On Wed, Feb 20, 2013 at 5:22 PM, Richard Smith <span dir="ltr"><<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span> wrote:<br><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; position: static; z-index: auto; ">
On Wed, Feb 20, 2013 at 3:19 PM, Rafael Espíndola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


Ping. Any preferences?</blockquote><div><br></div><div>Both patches seem like an improvement on the status quo to me. I'm waiting to hear opinions from CWG.</div></div></blockquote><div><br></div><div>OK, apparently CWG discussed and decided this 12 years ago.</div>
<div><br></div><div><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#4">http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#4</a></div><div><br></div><div>I wonder how much code is actually broken by mangle_static_extern_c.patch. LLVM is probably not a representative measure here -- IIRC all the hits in LLVM code were in the JITs.</div>
</div></blockquote><br></div><div>Well, you have to be doing either a dynamic symbol lookup or reverse lookup.  The former's not particularly unlikely in scripting environments.  The latter seems pretty implausible — I mean, I can imagine some *hilarious* caller-inspection code doing it, but we don't need to fall over ourselves supporting that.</div><div><br></div><div>Of course, we're talking about static functions, so an environment trying to find it with dynamic lookup will probably have to throw __attribute__((used)) on the declaration.  I really don't want to key something like mangling or overloading on that, though!</div><div><br></div><div>My worry here is that nobody will actually benefit from this (your symbol tables are slightly larger! hooray!), but somebody out there might be *really* unhappy (you have to give all these functions external linkage! hooray!).  But maybe we'd get lucky and nobody would have a problem.</div><div><br></div><div>John.</div><br></body></html>