[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#759286: smokegen generates wrong cast function for smokeqt



Package: src:smokeqt
Version: 4:4.14.0-1
Severity: serious
Tags: sid jessie

This causes #759239 and #759205:

In stable, smokegen generates smokedata.cpp(cast), which ends with:

[...]
    case 152: //QXmlStreamWriter
      switch(to) {
        case 152: return (void*)(QXmlStreamWriter*)xptr;
        default: return xptr;
      }
    default: return xptr;
  }
}

in unstable, the function ends as:

    case 155: //QXmlStreamWriter
      switch(to) {
        case 155: return (void*)(QXmlStreamWriter*)xptr;
        default: return xptr;
      }
    case 157: //iterator
      switch(to) {
        case 157: return (void*)(iterator*)xptr;
        default: return xptr;
      }
    default: return xptr;
  }
}

This doesn't look right, and ends with a build error. Removing the 157 case lets
the build continue and then fails further on with

/scratch/packages/tmp/smokeqt-4.14.0/obj-x86_64-linux-gnu/qtcore/x_3.cpp: In
member function 'void __smokeqtcore::x_QBitArray::x_36(Smoke::Stack)':
/scratch/packages/tmp/smokeqt-4.14.0/obj-x86_64-linux-gnu/qtcore/x_3.cpp:1003:57: warning:
ISO C++ forbids taking the address of an unqualified or parenthesized non-static
member function to form a pointer to member function. Say
'&__smokeqtcore::x_QBitArray::operator=' [-fpermissive]
         x[0].s_class = (void*)&this->QBitArray::operator=;
                                                         ^
/scratch/packages/tmp/smokeqt-4.14.0/obj-x86_64-linux-gnu/qtcore/x_3.cpp:1003:57: warning:
converting from 'QBitArray& (QBitArray::*)(const QBitArray&)' to 'void*'
[-Wpmf-conversions]


Reply to: