[PyQt] SIP and multiple inheritance ambiguity
Scott Talbert
swt at techie.net
Wed Jun 8 04:25:11 BST 2016
On Mon, 6 Jun 2016, Scott Talbert wrote:
>> Hi,
>>
>> I'm trying to wrap a set of classes that have a diamond multiple
>> inheritance hierarchy (A inherits from B and C; B and C inherit from D).
>>
>> When SIP generates the cast_A function, it won't compile under GCC 6.1.1
>> due to an ambiguous base error:
>> error: 'D' is an ambiguous base of 'A'
>> return static_cast<D *>(sipCpp);
>>
>> Any ideas on how to work around this, other than hand editing the cast_X
>> function?
>
> Actually, I was wrong about this being related to a change in GCC. It turns
> out this is related to a SIP change in 4.18:
> https://www.riverbankcomputing.com/hg/sip/rev/14bfbaf7431a
>
> I'm thinking SIP could possibly check the list of target types and if there
> are duplicates, it could omit those from the cast function?
Simple patch attached.
Scott
-------------- next part --------------
A non-text attachment was scrubbed...
Name: duplicate_supers.patch
Type: text/x-diff
Size: 739 bytes
Desc:
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20160607/65d79291/attachment.patch>
More information about the PyQt
mailing list