Unsolved 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?
-
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-psabiHowever, 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