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. Nick
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
