Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-68330

cast between incompatible function types in QIBaseDriver

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.9.7, 5.11
    • Fix Version/s: 5.9.8, 5.11.2
    • Component/s: SQL Support
    • Labels:
      None
    • Environment:
      Archlinux, GCC 8.1.0, libfbclient 2.5.7.27050-5
    • Commits:
      6108d8f515d7911427b764647f1d6ab487ad5203 cd02eb5b2090a8e263642ce900de9160e60f7d0f 8b9a771ec0b70822f4a34d289459d3e60b9510ce

      Description

      Trying to build the current 5.11 branch, I get:

      g++ -c -pipe -g -Og -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -Werror -Wno-error=cpp -Wno-error=deprecated-declarations -Wno-error=strict-overflow -Wno-error=implicit-fallthrough -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_PLUGIN -DQT_GUI_LIB -DQT_DBUS_LIB -DQT_CORE_LIB -I. -I../../../../include/QtGui/5.11.0 -I../../../../include/QtGui/5.11.0/QtGui -I../../../../include -I../../../../include/QtGui -I../../../../include/QtDBus -I../../../../include/QtCore/5.11.0 -I../../../../include/QtCore/5.11.0/QtCore -I../../../../include/QtCore -I.moc -isystem /usr/include/libdrm -I../../../../mkspecs/linux-g++ -o .obj/qibustypes.o qibustypes.cpp
      qsql_ibase.cpp: In member function ‘bool QIBaseDriverPrivate::isError(const char*, QSqlError::ErrorType)’:
      qsql_ibase.cpp:326:48: warning: ‘QSqlError::QSqlError(const QString&, const QString&, QSqlError::ErrorType, int)’ is deprecated [-Wdeprecated-declarations]
                               imsg, typ, int(sqlcode)));
                                                      ^
      In file included from ../../../../include/QtSql/qsqlerror.h:1,
                       from qsql_ibase.cpp:44:
      ../../../../include/QtSql/../../src/sql/kernel/qsqlerror.h:61:19: note: declared here
           QT_DEPRECATED QSqlError(const QString &driverText, const QString &databaseText,
                         ^~~~~~~~~
      qsql_ibase.cpp: In member function ‘virtual bool QIBaseDriver::subscribeToNotification(const QString&)’:
      qsql_ibase.cpp:1847:40: error: cast between incompatible function types from ‘void (* (*)(char*, ISC_USHORT, const ISC_UCHAR*))(void*, ISC_USHORT, const ISC_UCHAR*)’ {aka ‘void (* (*)(char*, short unsigned int, const unsigned char*))(void*, short unsigned int, const unsigned char*)’} to ‘ISC_EVENT_CALLBACK’ {aka ‘void (*)(void*, short unsigned int, const unsigned char*)’} [-Werror=cast-function-type]
                          (ISC_EVENT_CALLBACK)qEventCallback,
                                              ^~~~~~~~~~~~~~
      qsql_ibase.cpp: In member function ‘void QIBaseDriver::qHandleEventNotification(void*)’:
      qsql_ibase.cpp:1927:57: error: cast between incompatible function types from ‘void (* (*)(char*, ISC_USHORT, const ISC_UCHAR*))(void*, ISC_USHORT, const ISC_UCHAR*)’ {aka ‘void (* (*)(char*, short unsigned int, const unsigned char*))(void*, short unsigned int, const unsigned char*)’} to ‘ISC_EVENT_CALLBACK’ {aka ‘void (*)(void*, short unsigned int, const unsigned char*)’} [-Werror=cast-function-type]
                                           (ISC_EVENT_CALLBACK)qEventCallback,
                                                               ^~~~~~~~~~~~~~
      

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            Assignee:
            andysh Andy Shaw
            Reporter:
            the compiler Florian Bruhin
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes