qcustomplot warning note: parameter passing for argument of type changed in GCC 7.1



  • After build project with including qcustomplot I get warning:

    In file included from /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qvariant.h:49:0,
                     from /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qmimedata.h:45,
                     from /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtGui/qmime.h:45,
                     from ../../work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtGui/qevent.h:52,
                     from ../../work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtGui/QPaintEvent:1,
                     from ../tion28/qcustomplot.h:33,
                     from ../tion28/qcustomplot.cpp:26:
    /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qmap.h: In member function ‘QMap<Key, T>::iterator QMap<Key, T>::erase(QMap<Key, T>::iterator) [with Key = double; T = QCPData]’:
    /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qmap.h:717:54: note: parameter passing for argument of type ‘QMap<double, QCPData>::iterator’ changed in GCC 7.1
     Q_OUTOFLINE_TEMPLATE typename QMap<Key, T>::iterator QMap<Key, T>::erase(iterator it)
                                                          ^~~~~~~~~~~~
    ../tion28/qcustomplot.cpp: In member function ‘void QCPGraph::removeDataBefore(double)’:
    ../tion28/qcustomplot.cpp:14918:8: note: parameter passing for argument of type ‘QMap<double, QCPData>::iterator’ changed in GCC 7.1
         it = mData->erase(it);
         ~~~^~~~~~~~~~~~~~~~~~
    ../tion28/qcustomplot.cpp: In member function ‘void QCPGraph::removeDataAfter(double)’:
    ../tion28/qcustomplot.cpp:14930:8: note: parameter passing for argument of type ‘QMap<double, QCPData>::iterator’ changed in GCC 7.1
         it = mData->erase(it);
         ~~~^~~~~~~~~~~~~~~~~~
    ../tion28/qcustomplot.cpp: In member function ‘void QCPGraph::removeData(double, double)’:
    ../tion28/qcustomplot.cpp:14946:8: note: parameter passing for argument of type ‘QMap<double, QCPData>::iterator’ changed in GCC 7.1
         it = mData->erase(it);
         ~~~^~~~~~~~~~~~~~~~~~
    In file included from /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qvariant.h:49:0,
                     from /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qmimedata.h:45,
                     from /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtGui/qmime.h:45,
                     from ../../work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtGui/qevent.h:52,
                     from ../../work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtGui/QPaintEvent:1,
                     from ../tion28/qcustomplot.h:33,
                     from ../tion28/qcustomplot.cpp:26:
    /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qmap.h: In member function ‘QMap<Key, T>::iterator QMap<Key, T>::erase(QMap<Key, T>::iterator) [with Key = double; T = QCPCurveData]’:
    /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qmap.h:717:54: note: parameter passing for argument of type ‘QMap<double, QCPCurveData>::iterator’ changed in GCC 7.1
     Q_OUTOFLINE_TEMPLATE typename QMap<Key, T>::iterator QMap<Key, T>::erase(iterator it)
                                                          ^~~~~~~~~~~~
    ../tion28/qcustomplot.cpp: In member function ‘void QCPCurve::removeDataBefore(double)’:
    ../tion28/qcustomplot.cpp:16990:8: note: parameter passing for argument of type ‘QMap<double, QCPCurveData>::iterator’ changed in GCC 7.1
         it = mData->erase(it);
         ~~~^~~~~~~~~~~~~~~~~~
    ../tion28/qcustomplot.cpp: In member function ‘void QCPCurve::removeDataAfter(double)’:
    ../tion28/qcustomplot.cpp:17002:8: note: parameter passing for argument of type ‘QMap<double, QCPCurveData>::iterator’ changed in GCC 7.1
         it = mData->erase(it);
         ~~~^~~~~~~~~~~~~~~~~~
    ../tion28/qcustomplot.cpp: In member function ‘void QCPCurve::removeData(double, double)’:
    ../tion28/qcustomplot.cpp:17018:8: note: parameter passing for argument of type ‘QMap<double, QCPCurveData>::iterator’ changed in GCC 7.1
         it = mData->erase(it);
         ~~~^~~~~~~~~~~~~~~~~~
    In file included from /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qvariant.h:49:0,
                     from /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qmimedata.h:45,
                     from /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtGui/qmime.h:45,
                     from ../../work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtGui/qevent.h:52,
                     from ../../work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtGui/QPaintEvent:1,
                     from ../tion28/qcustomplot.h:33,
                     from ../tion28/qcustomplot.cpp:26:
    /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qmap.h: In member function ‘QMap<Key, T>::iterator QMap<Key, T>::erase(QMap<Key, T>::iterator) [with Key = double; T = QCPBarData]’:
    /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qmap.h:717:54: note: parameter passing for argument of type ‘QMap<double, QCPBarData>::iterator’ changed in GCC 7.1
     Q_OUTOFLINE_TEMPLATE typename QMap<Key, T>::iterator QMap<Key, T>::erase(iterator it)
                                                          ^~~~~~~~~~~~
    ../tion28/qcustomplot.cpp: In member function ‘void QCPBars::removeDataBefore(double)’:
    ../tion28/qcustomplot.cpp:18694:8: note: parameter passing for argument of type ‘QMap<double, QCPBarData>::iterator’ changed in GCC 7.1
         it = mData->erase(it);
         ~~~^~~~~~~~~~~~~~~~~~
    ../tion28/qcustomplot.cpp: In member function ‘void QCPBars::removeDataAfter(double)’:
    ../tion28/qcustomplot.cpp:18706:8: note: parameter passing for argument of type ‘QMap<double, QCPBarData>::iterator’ changed in GCC 7.1
         it = mData->erase(it);
         ~~~^~~~~~~~~~~~~~~~~~
    ../tion28/qcustomplot.cpp: In member function ‘void QCPBars::removeData(double, double)’:
    ../tion28/qcustomplot.cpp:18722:8: note: parameter passing for argument of type ‘QMap<double, QCPBarData>::iterator’ changed in GCC 7.1
         it = mData->erase(it);
         ~~~^~~~~~~~~~~~~~~~~~
    In file included from /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qvariant.h:49:0,
                     from /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qmimedata.h:45,
                     from /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtGui/qmime.h:45,
                     from ../../work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtGui/qevent.h:52,
                     from ../../work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtGui/QPaintEvent:1,
                     from ../tion28/qcustomplot.h:33,
                     from ../tion28/qcustomplot.cpp:26:
    /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qmap.h: In member function ‘QMap<Key, T>::iterator QMap<Key, T>::erase(QMap<Key, T>::iterator) [with Key = double; T = QCPFinancialData]’:
    /home/alexey/work1/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/QtCore/qmap.h:717:54: note: parameter passing for argument of type ‘QMap<double, QCPFinancialData>::iterator’ changed in GCC 7.1
     Q_OUTOFLINE_TEMPLATE typename QMap<Key, T>::iterator QMap<Key, T>::erase(iterator it)
                                                          ^~~~~~~~~~~~
    ../tion28/qcustomplot.cpp: In member function ‘void QCPFinancial::removeDataBefore(double)’:
    ../tion28/qcustomplot.cpp:20858:8: note: parameter passing for argument of type ‘QMap<double, QCPFinancialData>::iterator’ changed in GCC 7.1
         it = mData->erase(it);
         ~~~^~~~~~~~~~~~~~~~~~
    ../tion28/qcustomplot.cpp: In member function ‘void QCPFinancial::removeDataAfter(double)’:
    ../tion28/qcustomplot.cpp:20871:8: note: parameter passing for argument of type ‘QMap<double, QCPFinancialData>::iterator’ changed in GCC 7.1
         it = mData->erase(it);
         ~~~^~~~~~~~~~~~~~~~~~
    ../tion28/qcustomplot.cpp: In member function ‘void QCPFinancial::removeData(double, double)’:
    ../tion28/qcustomplot.cpp:20887:8: note: parameter passing for argument of type ‘QMap<double, QCPFinancialData>::iterator’ changed in GCC 7.1
         it = mData->erase(it);
    

    How solve a problem?


  • Lifetime Qt Champion

    Hi
    it seems to be an ABI warning.
    If both your toolchain, Qt version and your app is compiled with the same compiler (aka version), it should be ok to ignore.
    The warning can be disabled with -Wno-psabi

    However, please read a bit about it before just using it.
    https://stackoverflow.com/questions/52020305/what-exactly-does-gccs-wpsabi-option-do-what-are-the-implications-of-supressi


Log in to reply