[cfe-commits] [Patch] Fix for r163013 regression and further __interface enhancement

John McCall rjmccall at apple.com
Wed Sep 12 09:26:41 PDT 2012


On Sep 12, 2012, at 4:24 AM, Richard Smith wrote:
> On Wed, Sep 12, 2012 at 2:08 AM, Andy Gibbs <andyg1001 at hotmail.co.uk> wrote:
> Hi,
> 
> Attached are two patches to complement the recent work done by David Robins on __interface.
> 
> The first, interface-fix.diff, corrects a codegen regression created by r163013 whereby all methods (including constructors) inside an __interface were being marked pure virtual and were causing the vtable generation to be invalid.
> 
> Applying this to operators doesn't seem correct, since an __interface shouldn't have any operators in the first place.  Also, getOverloadedOperator doesn't check for conversion operators.

Presumably it gets the implicit copy/move assignment operators, which should definitely not be virtual.

Oh, and could someone check whether __interface implicitly declares a virtual destructor?  That seems like a possibility.

John.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120912/6cf3dc7f/attachment.html>


More information about the cfe-commits mailing list