<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Feb 1, 2013, at 5:16 PM, Nick Lewycky <<a href="mailto:nlewycky@google.com">nlewycky@google.com</a>> wrote:</div><blockquote type="cite"><div dir="ltr">On 1 February 2013 16:44, John McCall <span dir="ltr"><<a href="mailto:rjmccall@apple.com" target="_blank">rjmccall@apple.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div>On Feb 1, 2013, at 4:30 PM, Richard Smith <<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>> wrote:<br>
> On Fri, Feb 1, 2013 at 4:25 PM, Nick Lewycky <<a href="mailto:nicholas@mxc.ca" target="_blank">nicholas@mxc.ca</a>> wrote:<br>
>> Author: nicholas<br>
>> Date: Fri Feb  1 18:25:55 2013<br>
>> New Revision: 174242<br>
>><br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=174242&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=174242&view=rev</a><br>
>> Log:<br>
>> This patch makes "&Cls::purevfn" not an odr use. This isn't what the standard<br>
>> says, but that's a defect (to be filed). "Cls::purevfn()" is still an odr use.<br>
<br>
</div>Why is this specific to *pure* virtual functions?  Shouldn't it be<br>
*any* virtual function?<br>
<br>
I mean, non-pure virtual functions are universally ODR-used anyway,<br>
but there's no plausible implementation model in which &Cls::vfn<br>
specifically requires a reference to the function.<br></blockquote><div><br></div><div>I think you're right. I had been focusing on pure functions, as the standard calls out pure function specifically in the odr section.</div>

<div><br></div><div style="">Do you want me to change the "if (Method->isPure())" to "if (Method->isVirtual)" then? It seems odd to have comments talking about pure members then suddenly testing for virtual instead.</div>

</div></div></div></blockquote><div><br></div>Please.  We certainly don't need to (e.g.) instantiate functions in this case.</div><div><br></div><div>John.</div></body></html>