smokegen generates wrong cast function for smokeqt

Bug #1361354 reported by Matthias Klose
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
smokegen (Debian)
Fix Released
Unknown
smokegen (Ubuntu)
Fix Released
High
Unassigned
Utopic
Fix Released
High
Unassigned
smokeqt (Debian)
Fix Released
Unknown
smokeqt (Ubuntu)
Fix Released
High
Unassigned
Utopic
Fix Released
High
Unassigned

Bug Description

In trusty, 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 utopic, 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]

Revision history for this message
Matthias Klose (doko) wrote :

this looks in some issues in smokegen.

Changed in smokegen (Ubuntu Utopic):
importance: Undecided → High
status: New → Confirmed
Changed in smokeqt (Ubuntu Utopic):
importance: Undecided → High
status: New → Confirmed
Changed in smokeqt (Debian):
status: Unknown → New
Changed in smokegen (Debian):
status: Unknown → New
Changed in smokeqt (Debian):
status: New → Fix Released
Changed in smokegen (Debian):
status: New → Fix Released
Revision history for this message
Felix Geyer (debfx) wrote :

This has been fixed in smokegen 4:4.14.0-0ubuntu2.

Changed in smokegen (Ubuntu Utopic):
status: Confirmed → Fix Released
Changed in smokeqt (Ubuntu Utopic):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.