On Thu, May 23, 2013 at 3:02 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">
<div class="im">> By revised rules you mean the one you proposed, making<br>
><br>
> InternalLinkage        VisibleNoLinkage       -> NoLinkage<br>
> UniqueExternalLinkage  VisibleNoLinkage       -> NoLinkage<br>
><br>
> I am OK with it, but I was unable to write any testcase :-(<br>
<br>
</div>The attached patch implements your proposed semantics (but keeps the<br>
single bitfield representation, at least for now). Any ideas of a<br>
testcase we could add?</blockquote><div><br></div><div>The former case goes from externally visible to not-externally-visible. You should be able to catch that by looking at the CodeGen output.</div><div><br></div><div>The latter case goes from external linkage to no linkage. That should cause us to error if we use the address of a function with that linkage as a template argument. (I'm not 100% sure that's the right behavior, but it seems like it should be observable at least.) </div>
</div>