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

qmimeprovider_p.h: compilation error with GCC 7

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Not Evaluated
    • 5.6.3
    • 5.6.2
    • Core: Other
    • None
    • 7740f5e98b2f3ab5d9c1f512d1a89e9e1b64434d

    Description

      g++ (GCC) 7.0.0 20161013 (experimental)

      /usr/local/bin/g++ -c -include .pch/Qt5Core -pipe -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_NO_TSLIB -DQT_NO_USING_NAMESPACE -DELF_INTERPRETER=\"/lib64/ld-linux-x86-64.so.2\" -DQT_USE_ICU -DQT_BUILD_CORE_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -I. -Iglobal -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I../3rdparty/sha3 -I../3rdparty/forkfd -I../../include -I../../include/QtCore -I../../include/QtCore/5.6.2 -I../../include/QtCore/5.6.2/QtCore -I.moc -I../../mkspecs/linux-g++ -o .obj/qmimeprovider.o mimetypes/qmimeprovider.cpp
      In file included from ../../include/QtCore/qtypeinfo.h:1:0,
                       from global/qglobal.h:1104,
                       from global/qt_pch.h:50:
      ../../include/QtCore/../../src/corelib/global/qtypeinfo.h: In instantiation of 'class QTypeInfo<QMimeMagicRuleMatcher>':
      ../../include/QtCore/../../src/corelib/tools/qlist.h:483:31:   required from 'void QList<T>::node_destruct(QList<T>::Node*, QList<T>::Node*) [with T = QMimeMagicRuleMatcher]'
      ../../include/QtCore/../../src/corelib/tools/qlist.h:855:18:   required from 'void QList<T>::dealloc(QListData::Data*) [with T = QMimeMagicRuleMatcher]'
      ../../include/QtCore/../../src/corelib/tools/qlist.h:817:16:   required from 'QList<T>::~QList() [with T = QMimeMagicRuleMatcher]'
      mimetypes/qmimeprovider_p.h:131:7:   required from here
      ../../include/QtCore/../../src/corelib/global/qtypeinfo.h:60:26: error: invalid application of 'sizeof' to incomplete type 'QMimeMagicRuleMatcher'
               isLarge = (sizeof(T)>sizeof(void*)),
                                ^
      ../../include/QtCore/../../src/corelib/global/qtypeinfo.h:62:24: error: invalid application of 'sizeof' to incomplete type 'QMimeMagicRuleMatcher'
               sizeOf = sizeof(T)
                              ^
      In file included from ../../include/QtCore/qlist.h:1:0,
                       from ../../include/QtCore/../../src/corelib/kernel/qobject.h:43,
                       from ../../include/QtCore/qobject.h:1,
                       from ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:40,
                       from ../../include/QtCore/qcoreapplication.h:1,
                       from global/qt_pch.h:56:
      ../../include/QtCore/../../src/corelib/tools/qlist.h: In instantiation of 'void QList<T>::node_destruct(QList<T>::Node*, QList<T>::Node*) [with T = QMimeMagicRuleMatcher]':
      ../../include/QtCore/../../src/corelib/tools/qlist.h:855:18:   required from 'void QList<T>::dealloc(QListData::Data*) [with T = QMimeMagicRuleMatcher]'
      ../../include/QtCore/../../src/corelib/tools/qlist.h:817:16:   required from 'QList<T>::~QList() [with T = QMimeMagicRuleMatcher]'
      mimetypes/qmimeprovider_p.h:131:7:   required from here
      ../../include/QtCore/../../src/corelib/tools/qlist.h:484:31: warning: possible problem detected in invocation of delete operator: [-Wdelete-incomplete]
               while(from != to) --to, delete reinterpret_cast<T*>(to->v);
      ../../include/QtCore/../../src/corelib/tools/qlist.h:484:65: warning: invalid use of incomplete type 'class QMimeMagicRuleMatcher'
               while(from != to) --to, delete reinterpret_cast<T*>(to->v);
                                                                   ~~~~^
      In file included from mimetypes/qmimedatabase.cpp:42:0:
      mimetypes/qmimeprovider_p.h:59:7: note: forward declaration of 'class QMimeMagicRuleMatcher'
       class QMimeMagicRuleMatcher;
             ^~~~~~~~~~~~~~~~~~~~~
      In file included from ../../include/QtCore/qlist.h:1:0,
                       from ../../include/QtCore/../../src/corelib/kernel/qobject.h:43,
                       from ../../include/QtCore/qobject.h:1,
                       from ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:40,
                       from ../../include/QtCore/qcoreapplication.h:1,
                       from global/qt_pch.h:56:
      ../../include/QtCore/../../src/corelib/tools/qlist.h:484:31: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined
               while(from != to) --to, delete reinterpret_cast<T*>(to->v);
      ../../include/QtCore/../../src/corelib/tools/qlist.h:486:61: error: invalid use of incomplete type 'class QMimeMagicRuleMatcher'
               while (from != to) --to, reinterpret_cast<T*>(to)->~T();
                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
      In file included from mimetypes/qmimedatabase.cpp:42:0:
      mimetypes/qmimeprovider_p.h:59:7: note: forward declaration of 'class QMimeMagicRuleMatcher'
       class QMimeMagicRuleMatcher;
             ^~~~~~~~~~~~~~~~~~~~~
      

      Attachments

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

        Activity

          People

            mmutz Marc Mutz
            jpnurmi J-P Nurmi
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes