[cfe-dev] checking for virtual members

Douglas Gregor dgregor at apple.com
Tue Nov 2 13:28:34 PDT 2010


On Nov 2, 2010, at 12:04 PM, John Thompson wrote:

> >Why? Is this what GCC does?
> 
> Yes.  The class example I enclosed previously will build with our gcc, whereas Clang would not, as Clang only allows a strict POD class or struct in the original code.  I just posted a patch on cfe-commits to fix this.

Okay. This patch uses isDynamicClass(), which means that we still permit classes that involve multiple inheritance. Is that intended? Does it make sense?

It seems to me that the right language idea might be the C++0x standard-layout class, rather than the idea of a non-dynamic class.
	- Doug

> -John
> 
> On Tue, Nov 2, 2010 at 11:54 AM, Douglas Gregor <dgregor at apple.com> wrote:
> 
> On Nov 1, 2010, at 5:05 PM, John Thompson wrote:
> 
> > I need a way easily check to make sure a function has no virtual functions, or other stuff that would inject extra stuff into an object or structure, as part of the validation for the vecreturn attribute.  How do I do it?
> >
> > Checking the CXXRecordDecl::PlainOldData flag with isPOD doesn't work, because the the strict definition of POD goes too far for this case.
> 
> Why? Is this what GCC does?
> 
>        - Doug
> 
> 
> 
> -- 
> John Thompson
> John.Thompson.JTSoftware at gmail.com
> 
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20101102/784641d3/attachment.html>


More information about the cfe-dev mailing list