On Feb 1, 2013, at 5:16 PM, Nick Lewycky <[email protected]> wrote: > On 1 February 2013 16:44, John McCall <[email protected]> wrote: > On Feb 1, 2013, at 4:30 PM, Richard Smith <[email protected]> wrote: > > On Fri, Feb 1, 2013 at 4:25 PM, Nick Lewycky <[email protected]> wrote: > >> Author: nicholas > >> Date: Fri Feb 1 18:25:55 2013 > >> New Revision: 174242 > >> > >> URL: http://llvm.org/viewvc/llvm-project?rev=174242&view=rev > >> Log: > >> This patch makes "&Cls::purevfn" not an odr use. This isn't what the > >> standard > >> says, but that's a defect (to be filed). "Cls::purevfn()" is still an odr > >> use. > > Why is this specific to *pure* virtual functions? Shouldn't it be > *any* virtual function? > > I mean, non-pure virtual functions are universally ODR-used anyway, > but there's no plausible implementation model in which &Cls::vfn > specifically requires a reference to the function. > > I think you're right. I had been focusing on pure functions, as the standard > calls out pure function specifically in the odr section. > > 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.
Please. We certainly don't need to (e.g.) instantiate functions in this case. John.
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
