Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug] 1.14.7: compile time warnings #3457

Open
kloczek opened this issue Feb 28, 2024 · 1 comment
Open

[bug] 1.14.7: compile time warnings #3457

kloczek opened this issue Feb 28, 2024 · 1 comment

Comments

@kloczek
Copy link

kloczek commented Feb 28, 2024

gcc 14.x from fedora rawhide, boost 1.84.0.
1.14.7 + #3456

First just summary stats:

[tkloczko@pers-jacek SPECS]$ rpmbuild -ba --quiet 2>&1 | grep -- \\[-W | sed 's/.*\[//; s/\]//' | sort | uniq -c | sort -nr
     65 -Wdeprecated-declarations
      8 -Wdangling-reference
      1 -Wunused-function
      1 -Wtemplate-id-cdtor
      1 -Winfinite-recursion

And extracted stderr

rpc/protocol.cpp: In function ‘boost::filesystem::path GetAuthCookieFile()’:
rpc/protocol.cpp:75:26: warning: ‘bool boost::filesystem::path::is_complete() const’ is deprecated: Use path::is_absolute() instead [-Wdeprecated-declarations]
   75 |     if (!path.is_complete()) path = GetDataDir() / path;
      |          ~~~~~~~~~~~~~~~~^~
In file included from /usr/include/boost/filesystem.hpp:16,
                 from ./rpc/protocol.h:14,
                 from rpc/protocol.cpp:7:
/usr/include/boost/filesystem/path.hpp:1136:10: note: declared here
 1136 |     bool is_complete() const { return is_absolute(); }
      |          ^~~~~~~~~~~
bitcoin-cli.cpp: In function ‘int CommandLineRPC(int, char**)’:
bitcoin-cli.cpp:303:33: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  303 |                 const UniValue& result = find_value(reply, "result");
      |                                 ^~~~~~
bitcoin-cli.cpp:303:52: note: the temporary was destroyed at the end of the full expression ‘find_value(reply, std::__cxx11::basic_string<char>(((const char*)"result"), std::allocator<char>()))’
  303 |                 const UniValue& result = find_value(reply, "result");
      |                                          ~~~~~~~~~~^~~~~~~~~~~~~~~~~
bitcoin-cli.cpp:304:33: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  304 |                 const UniValue& error  = find_value(reply, "error");
      |                                 ^~~~~
bitcoin-cli.cpp:304:52: note: the temporary was destroyed at the end of the full expression ‘find_value(reply, std::__cxx11::basic_string<char>(((const char*)"error"), std::allocator<char>()))’
  304 |                 const UniValue& error  = find_value(reply, "error");
      |                                          ~~~~~~~~~~^~~~~~~~~~~~~~~~
util.cpp: In function ‘boost::filesystem::path GetConfigFile(const std::string&)’:
util.cpp:593:36: warning: ‘bool boost::filesystem::path::is_complete() const’ is deprecated: Use path::is_absolute() instead [-Wdeprecated-declarations]
  593 |     if (!pathConfigFile.is_complete())
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from util.h:29,
                 from util.cpp:11:
/usr/include/boost/filesystem/path.hpp:1136:10: note: declared here
 1136 |     bool is_complete() const { return is_absolute(); }
      |          ^~~~~~~~~~~
util.cpp: In function ‘boost::filesystem::path GetPidFile()’:
util.cpp:629:33: warning: ‘bool boost::filesystem::path::is_complete() const’ is deprecated: Use path::is_absolute() instead [-Wdeprecated-declarations]
  629 |     if (!pathPidFile.is_complete()) pathPidFile = GetDataDir() / pathPidFile;
      |          ~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/include/boost/filesystem/path.hpp:1136:10: note: declared here
 1136 |     bool is_complete() const { return is_absolute(); }
      |          ^~~~~~~~~~~
In file included from /usr/include/qt5/QtCore/qfuture.h:45,
                 from /usr/include/qt5/QtCore/QtCore:97,
                 from /usr/include/qt5/QtDBus/QtDBusDepends:3,
                 from /usr/include/qt5/QtDBus/QtDBus:3,
                 from qt/notificator.cpp:19:
/usr/include/qt5/QtCore/qfutureinterface.h:284:37: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
  284 |     explicit QFutureInterface<void>(State initialState = NoState)
      |                                     ^~~~~
/usr/include/qt5/QtCore/qfutureinterface.h:284:37: note: remove the ‘< >’
qt/bitcoinamountfield.cpp: In member function ‘virtual QSize AmountSpinBox::minimumSizeHint() const’:
qt/bitcoinamountfield.cpp:103:29: warning: ‘int QFontMetrics::width(const QString&, int) const’ is deprecated: Use QFontMetrics::horizontalAdvance [-Wdeprecated-declarations]
  103 |             int w = fm.width(BitcoinUnits::format(BitcoinUnits::BTC, BitcoinUnits::maxMoney(), false, BitcoinUnits::separatorAlways));
      |                     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/qt5/QtWidgets/qwidget.h:50,
                 from /usr/include/qt5/QtWidgets/QWidget:1,
                 from qt/bitcoinamountfield.h:10,
                 from qt/bitcoinamountfield.cpp:6:
/usr/include/qt5/QtGui/qfontmetrics.h:106:9: note: declared here
  106 |     int width(const QString &, int len = -1) const;
      |         ^~~~~
qt/bitcoinamountfield.cpp: In member function ‘virtual QAbstractSpinBox::StepEnabled AmountSpinBox::stepEnabled() const’:
qt/bitcoinamountfield.cpp:175:26: warning: ‘constexpr QFlags<T>::QFlags(Zero) [with Enum = QAbstractSpinBox::StepEnabledFlag; Zero = int QFlags<QAbstractSpinBox::StepEnabledFlag>::Private::*]’ is deprecated: Use default constructor instead [-Wdeprecated-declarations]
  175 |         StepEnabled rv = 0;
      |                          ^
In file included from /usr/include/qt5/QtCore/qglobal.h:1307,
                 from /usr/include/qt5/QtGui/qtguiglobal.h:43,
                 from /usr/include/qt5/QtWidgets/qtwidgetsglobal.h:43,
                 from /usr/include/qt5/QtWidgets/qwidget.h:43:
/usr/include/qt5/QtCore/qflags.h:123:80: note: declared here
  123 |     QT_DEPRECATED_X("Use default constructor instead") Q_DECL_CONSTEXPR inline QFlags(Zero) noexcept : i(0) {}
      |                                                                                ^~~~~~
rpc/mining.cpp: In function ‘UniValue getblocktemplate(const JSONRPCRequest&)’:
rpc/mining.cpp:443:25: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  443 |         const UniValue& modeval = find_value(oparam, "mode");
      |                         ^~~~~~~
rpc/mining.cpp:443:45: note: the temporary was destroyed at the end of the full expression ‘find_value((* & oparam), std::__cxx11::basic_string<char>(((const char*)"mode"), std::allocator<char>()))’
  443 |         const UniValue& modeval = find_value(oparam, "mode");
      |                                   ~~~~~~~~~~^~~~~~~~~~~~~~~~
rpc/mining.cpp:456:29: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  456 |             const UniValue& dataval = find_value(oparam, "data");
      |                             ^~~~~~~
rpc/mining.cpp:456:49: note: the temporary was destroyed at the end of the full expression ‘find_value((* & oparam), std::__cxx11::basic_string<char>(((const char*)"data"), std::allocator<char>()))’
  456 |             const UniValue& dataval = find_value(oparam, "data");
      |                                       ~~~~~~~~~~^~~~~~~~~~~~~~~~
rpc/mining.cpp:484:25: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  484 |         const UniValue& aClientRules = find_value(oparam, "rules");
      |                         ^~~~~~~~~~~~
rpc/mining.cpp:484:50: note: the temporary was destroyed at the end of the full expression ‘find_value((* & oparam), std::__cxx11::basic_string<char>(((const char*)"rules"), std::allocator<char>()))’
  484 |         const UniValue& aClientRules = find_value(oparam, "rules");
      |                                        ~~~~~~~~~~^~~~~~~~~~~~~~~~~
rpc/mining.cpp:492:29: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  492 |             const UniValue& uvMaxVersion = find_value(oparam, "maxversion");
      |                             ^~~~~~~~~~~~
rpc/mining.cpp:492:54: note: the temporary was destroyed at the end of the full expression ‘find_value((* & oparam), std::__cxx11::basic_string<char>(((const char*)"maxversion"), std::allocator<char>()))’
  492 |             const UniValue& uvMaxVersion = find_value(oparam, "maxversion");
      |                                            ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
net_processing.cpp: In function ‘bool ProcessMessage(CNode*, const std::string&, CDataStream&, int64_t, const CChainParams&, CConnman&, const std::atomic<bool>&)’:
net_processing.cpp:1644:23: warning: ‘void std::random_shuffle(_RAIter, _RAIter, _Generator&&) [with _RAIter = __gnu_cxx::__normal_iterator<CAddress*, vector<CAddress> >; _Generator = int (&)(int)]’ is deprecated: use 'std::shuffle' instead [-Wdeprecated-declarations]
 1644 |         random_shuffle(vAddr.begin(), vAddr.end(), GetRandInt);
      |         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/14/algorithm:61,
                 from serialize.h:11,
                 from addrdb.h:9,
                 from net.h:10,
                 from net_processing.h:10,
                 from net_processing.cpp:7:
/usr/include/c++/14/bits/stl_algo.h:4530:5: note: declared here
 4530 |     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
      |     ^~~~~~~~~~~~~~
qt/bantablemodel.cpp: In member function ‘void BanTablePriv::refreshBanlist()’:
qt/bantablemodel.cpp:68:24: warning: ‘void qStableSort(RandomAccessIterator, RandomAccessIterator, LessThan) [with RandomAccessIterator = QList<CCombinedBan>::iterator; LessThan = BannedNodeLessThan]’ is deprecated: Use std::stable_sort [-Wdeprecated-declarations]
   68 |             qStableSort(cachedBanlist.begin(), cachedBanlist.end(), BannedNodeLessThan(sortColumn, sortOrder));
      |             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/qt5/QtCore/qlist.h:43,
                 from /usr/include/qt5/QtCore/qvariant.h:45,
                 from /usr/include/qt5/QtCore/qabstractitemmodel.h:43,
                 from /usr/include/qt5/QtCore/QAbstractTableModel:1,
                 from qt/bantablemodel.h:10,
                 from qt/bantablemodel.cpp:5:
/usr/include/qt5/QtCore/qalgorithms.h:206:53: note: declared here
  206 | QT_DEPRECATED_X("Use std::stable_sort") inline void qStableSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan)
      |                                                     ^~~~~~~~~~~
qt/bantablemodel.cpp: In member function ‘virtual Qt::ItemFlags BanTableModel::flags(const QModelIndex&) const’:
qt/bantablemodel.cpp:152:16: warning: ‘constexpr QFlags<T>::QFlags(Zero) [with Enum = Qt::ItemFlag; Zero = int QFlags<Qt::ItemFlag>::Private::*]’ is deprecated: Use default constructor instead [-Wdeprecated-declarations]
  152 |         return 0;
      |                ^
In file included from /usr/include/qt5/QtCore/qglobal.h:1307,
                 from /usr/include/qt5/QtCore/qatomic.h:41,
                 from /usr/include/qt5/QtCore/qvariant.h:43:
/usr/include/qt5/QtCore/qflags.h:123:80: note: declared here
  123 |     QT_DEPRECATED_X("Use default constructor instead") Q_DECL_CONSTEXPR inline QFlags(Zero) noexcept : i(0) {}
      |                                                                                ^~~~~~
rpc/rawtransaction.cpp: In function ‘UniValue createrawtransaction(const JSONRPCRequest&)’:
rpc/rawtransaction.cpp:414:25: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  414 |         const UniValue& vout_v = find_value(o, "vout");
      |                         ^~~~~~
rpc/rawtransaction.cpp:414:44: note: the temporary was destroyed at the end of the full expression ‘find_value((* & o), std::__cxx11::basic_string<char>(((const char*)"vout"), std::allocator<char>()))’
  414 |         const UniValue& vout_v = find_value(o, "vout");
      |                                  ~~~~~~~~~~^~~~~~~~~~~
rpc/rawtransaction.cpp:424:25: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  424 |         const UniValue& sequenceObj = find_value(o, "sequence");
      |                         ^~~~~~~~~~~
rpc/rawtransaction.cpp:424:49: note: the temporary was destroyed at the end of the full expression ‘find_value((* & o), std::__cxx11::basic_string<char>(((const char*)"sequence"), std::allocator<char>()))’
  424 |         const UniValue& sequenceObj = find_value(o, "sequence");
      |                                       ~~~~~~~~~~^~~~~~~~~~~~~~~
qt/peertablemodel.cpp: In member function ‘void PeerTablePriv::refreshPeers()’:
qt/peertablemodel.cpp:94:24: warning: ‘void qStableSort(RandomAccessIterator, RandomAccessIterator, LessThan) [with RandomAccessIterator = QList<CNodeCombinedStats>::iterator; LessThan = NodeLessThan]’ is deprecated: Use std::stable_sort [-Wdeprecated-declarations]
   94 |             qStableSort(cachedNodeStats.begin(), cachedNodeStats.end(), NodeLessThan(sortColumn, sortOrder));
      |             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/qt5/QtCore/qlist.h:43,
                 from /usr/include/qt5/QtCore/qvariant.h:45,
                 from /usr/include/qt5/QtCore/qabstractitemmodel.h:43,
                 from /usr/include/qt5/QtCore/QAbstractTableModel:1,
                 from qt/peertablemodel.h:12,
                 from qt/peertablemodel.cpp:6:
/usr/include/qt5/QtCore/qalgorithms.h:206:53: note: declared here
  206 | QT_DEPRECATED_X("Use std::stable_sort") inline void qStableSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan)
      |                                                     ^~~~~~~~~~~
qt/peertablemodel.cpp: In member function ‘virtual Qt::ItemFlags PeerTableModel::flags(const QModelIndex&) const’:
qt/peertablemodel.cpp:209:16: warning: ‘constexpr QFlags<T>::QFlags(Zero) [with Enum = Qt::ItemFlag; Zero = int QFlags<Qt::ItemFlag>::Private::*]’ is deprecated: Use default constructor instead [-Wdeprecated-declarations]
  209 |         return 0;
      |                ^
In file included from /usr/include/qt5/QtCore/qglobal.h:1307,
                 from /usr/include/qt5/QtCore/qatomic.h:41,
                 from /usr/include/qt5/QtCore/qvariant.h:43:
/usr/include/qt5/QtCore/qflags.h:123:80: note: declared here
  123 |     QT_DEPRECATED_X("Use default constructor instead") Q_DECL_CONSTEXPR inline QFlags(Zero) noexcept : i(0) {}
      |                                                                                ^~~~~~
qt/recentrequeststablemodel.cpp: In member function ‘virtual void RecentRequestsTableModel::sort(int, Qt::SortOrder)’:
qt/recentrequeststablemodel.cpp:211:10: warning: ‘void qSort(RandomAccessIterator, RandomAccessIterator, LessThan) [with RandomAccessIterator = QList<RecentRequestEntry>::iterator; LessThan = RecentRequestEntryLessThan]’ is deprecated: Use std::sort [-Wdeprecated-declarations]
  211 |     qSort(list.begin(), list.end(), RecentRequestEntryLessThan(column, order));
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/qt5/QtCore/qlist.h:43,
                 from /usr/include/qt5/QtCore/QList:1,
                 from qt/paymentrequestplus.h:18,
                 from qt/walletmodel.h:8,
                 from qt/recentrequeststablemodel.h:8,
                 from qt/recentrequeststablemodel.cpp:5:
/usr/include/qt5/QtCore/qalgorithms.h:181:46: note: declared here
  181 | QT_DEPRECATED_X("Use std::sort") inline void qSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan)
      |                                              ^~~~~
qt/receivecoinsdialog.cpp: In member function ‘void ReceiveCoinsDialog::copyColumnToClipboard(int)’:
qt/receivecoinsdialog.cpp:254:86: warning: ‘QModelIndex QModelIndex::child(int, int) const’ is deprecated: Use QAbstractItemModel::index [-Wdeprecated-declarations]
  254 |     GUIUtil::setClipboard(model->getRecentRequestsTableModel()->data(firstIndex.child(firstIndex.row(), column), Qt::EditRole).toString());
      |                                                                      ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/qt5/QtWidgets/qabstractitemview.h:45,
                 from /usr/include/qt5/QtWidgets/qheaderview.h:44,
                 from /usr/include/qt5/QtWidgets/QHeaderView:1,
                 from qt/guiutil.h:12,
                 from qt/receivecoinsdialog.h:8,
                 from qt/receivecoinsdialog.cpp:5:
/usr/include/qt5/QtCore/qabstractitemmodel.h:455:20: note: declared here
  455 | inline QModelIndex QModelIndex::child(int arow, int acolumn) const
      |                    ^~~~~~~~~~~
In file included from qt/bitcoingui.cpp:24:
qt/utilitydialog.h:72:57: warning: ‘constexpr QFlags<T>::QFlags(Zero) [with Enum = Qt::WindowType; Zero = int QFlags<Qt::WindowType>::Private::*]’ is deprecated: Use default constructor instead [-Wdeprecated-declarations]
   72 |     ShutdownWindow(QWidget *parent=0, Qt::WindowFlags f=0);
      |                                                         ^
In file included from /usr/include/qt5/QtCore/qglobal.h:1307,
                 from /usr/include/qt5/QtGui/qtguiglobal.h:43,
                 from /usr/include/qt5/QtWidgets/qtwidgetsglobal.h:43,
                 from /usr/include/qt5/QtWidgets/qlabel.h:43,
                 from /usr/include/qt5/QtWidgets/QLabel:1,
                 from qt/bitcoingui.h:15,
                 from qt/bitcoingui.cpp:10:
/usr/include/qt5/QtCore/qflags.h:123:80: note: declared here
  123 |     QT_DEPRECATED_X("Use default constructor instead") Q_DECL_CONSTEXPR inline QFlags(Zero) noexcept : i(0) {}
      |                                                                                ^~~~~~
qt/bitcoingui.cpp: In constructor ‘UnitDisplayStatusBarControl::UnitDisplayStatusBarControl(const PlatformStyle*)’:
qt/bitcoingui.cpp:1255:45: warning: ‘int QFontMetrics::width(const QString&, int) const’ is deprecated: Use QFontMetrics::horizontalAdvance [-Wdeprecated-declarations]
 1255 |         max_width = qMax(max_width, fm.width(BitcoinUnits::name(unit)));
      |                                     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/qt5/QtWidgets/qwidget.h:50,
                 from /usr/include/qt5/QtWidgets/qframe.h:44,
                 from /usr/include/qt5/QtWidgets/qlabel.h:44:
/usr/include/qt5/QtGui/qfontmetrics.h:106:9: note: declared here
  106 |     int width(const QString &, int len = -1) const;
      |         ^~~~~
qt/receiverequestdialog.cpp: In member function ‘QImage QRImageWidget::exportImage()’:
qt/receiverequestdialog.cpp:46:15: warning: ‘const QPixmap* QLabel::pixmap() const’ is deprecated: Use the other overload which returns QPixmap by-value [-Wdeprecated-declarations]
   46 |     if(!pixmap())
      |         ~~~~~~^~
In file included from /usr/include/qt5/QtWidgets/QLabel:1,
                 from qt/receiverequestdialog.h:12,
                 from qt/receiverequestdialog.cpp:5:
/usr/include/qt5/QtWidgets/qlabel.h:78:20: note: declared here
   78 |     const QPixmap *pixmap() const; // ### Qt 7: Remove function
      |                    ^~~~~~
qt/receiverequestdialog.cpp:48:18: warning: ‘const QPixmap* QLabel::pixmap() const’ is deprecated: Use the other overload which returns QPixmap by-value [-Wdeprecated-declarations]
   48 |     return pixmap()->toImage();
      |            ~~~~~~^~
/usr/include/qt5/QtWidgets/qlabel.h:78:20: note: declared here
   78 |     const QPixmap *pixmap() const; // ### Qt 7: Remove function
      |                    ^~~~~~
qt/receiverequestdialog.cpp: In member function ‘virtual void QRImageWidget::mousePressEvent(QMouseEvent*)’:
qt/receiverequestdialog.cpp:53:51: warning: ‘const QPixmap* QLabel::pixmap() const’ is deprecated: Use the other overload which returns QPixmap by-value [-Wdeprecated-declarations]
   53 |     if(event->button() == Qt::LeftButton && pixmap())
      |                                             ~~~~~~^~
/usr/include/qt5/QtWidgets/qlabel.h:78:20: note: declared here
   78 |     const QPixmap *pixmap() const; // ### Qt 7: Remove function
      |                    ^~~~~~
qt/receiverequestdialog.cpp: In member function ‘void QRImageWidget::saveImage()’:
qt/receiverequestdialog.cpp:69:15: warning: ‘const QPixmap* QLabel::pixmap() const’ is deprecated: Use the other overload which returns QPixmap by-value [-Wdeprecated-declarations]
   69 |     if(!pixmap())
      |         ~~~~~~^~
/usr/include/qt5/QtWidgets/qlabel.h:78:20: note: declared here
   78 |     const QPixmap *pixmap() const; // ### Qt 7: Remove function
      |                    ^~~~~~
qt/receiverequestdialog.cpp: In member function ‘void QRImageWidget::copyImage()’:
qt/receiverequestdialog.cpp:80:15: warning: ‘const QPixmap* QLabel::pixmap() const’ is deprecated: Use the other overload which returns QPixmap by-value [-Wdeprecated-declarations]
   80 |     if(!pixmap())
      |         ~~~~~~^~
/usr/include/qt5/QtWidgets/qlabel.h:78:20: note: declared here
   78 |     const QPixmap *pixmap() const; // ### Qt 7: Remove function
      |                    ^~~~~~
qt/receiverequestdialog.cpp: In member function ‘virtual void QRImageWidget::contextMenuEvent(QContextMenuEvent*)’:
qt/receiverequestdialog.cpp:87:15: warning: ‘const QPixmap* QLabel::pixmap() const’ is deprecated: Use the other overload which returns QPixmap by-value [-Wdeprecated-declarations]
   87 |     if(!pixmap())
      |         ~~~~~~^~
/usr/include/qt5/QtWidgets/qlabel.h:78:20: note: declared here
   78 |     const QPixmap *pixmap() const; // ### Qt 7: Remove function
      |                    ^~~~~~
validation.cpp:3373:13: warning: ‘bool IsSuperMajority(int, const CBlockIndex*, unsigned int, const Consensus::Params&)’ defined but not used [-Wunused-function]
 3373 | static bool IsSuperMajority(int minVersion, const CBlockIndex* pstart, unsigned nRequired, const Consensus::Params& consensusParams)
      |             ^~~~~~~~~~~~~~~
qt/optionsmodel.cpp: In member function ‘virtual QVariant OptionsModel::data(const QModelIndex&, int) const’:
qt/optionsmodel.cpp:221:82: warning: ‘QStringList QString::split(const QString&, SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use split(const QString &sep, Qt::SplitBehavior ...) variant instead [-Wdeprecated-declarations]
  221 |             QStringList strlIpPort = settings.value("addrProxy").toString().split(":", QString::SkipEmptyParts);
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/qt5/QtCore/qhashfunctions.h:44,
                 from /usr/include/qt5/QtCore/qlist.h:47,
                 from /usr/include/qt5/QtCore/qvariant.h:45,
                 from /usr/include/qt5/QtCore/qabstractitemmodel.h:43,
                 from /usr/include/qt5/QtCore/QAbstractListModel:1,
                 from qt/optionsmodel.h:11,
                 from qt/optionsmodel.cpp:10:
/usr/include/qt5/QtCore/qstring.h:609:17: note: declared here
  609 |     QStringList split(const QString &sep, SplitBehavior behavior,
      |                 ^~~~~
qt/optionsmodel.cpp:226:82: warning: ‘QStringList QString::split(const QString&, SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use split(const QString &sep, Qt::SplitBehavior ...) variant instead [-Wdeprecated-declarations]
  226 |             QStringList strlIpPort = settings.value("addrProxy").toString().split(":", QString::SkipEmptyParts);
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt5/QtCore/qstring.h:609:17: note: declared here
  609 |     QStringList split(const QString &sep, SplitBehavior behavior,
      |                 ^~~~~
qt/optionsmodel.cpp:235:93: warning: ‘QStringList QString::split(const QString&, SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use split(const QString &sep, Qt::SplitBehavior ...) variant instead [-Wdeprecated-declarations]
  235 |             QStringList strlIpPort = settings.value("addrSeparateProxyTor").toString().split(":", QString::SkipEmptyParts);
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt5/QtCore/qstring.h:609:17: note: declared here
  609 |     QStringList split(const QString &sep, SplitBehavior behavior,
      |                 ^~~~~
qt/optionsmodel.cpp:240:93: warning: ‘QStringList QString::split(const QString&, SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use split(const QString &sep, Qt::SplitBehavior ...) variant instead [-Wdeprecated-declarations]
  240 |             QStringList strlIpPort = settings.value("addrSeparateProxyTor").toString().split(":", QString::SkipEmptyParts);
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt5/QtCore/qstring.h:609:17: note: declared here
  609 |     QStringList split(const QString &sep, SplitBehavior behavior,
      |                 ^~~~~
qt/optionsmodel.cpp: In member function ‘virtual bool OptionsModel::setData(const QModelIndex&, const QVariant&, int)’:
qt/optionsmodel.cpp:312:82: warning: ‘QStringList QString::split(const QString&, SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use split(const QString &sep, Qt::SplitBehavior ...) variant instead [-Wdeprecated-declarations]
  312 |             QStringList strlIpPort = settings.value("addrProxy").toString().split(":", QString::SkipEmptyParts);
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt5/QtCore/qstring.h:609:17: note: declared here
  609 |     QStringList split(const QString &sep, SplitBehavior behavior,
      |                 ^~~~~
qt/optionsmodel.cpp:324:82: warning: ‘QStringList QString::split(const QString&, SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use split(const QString &sep, Qt::SplitBehavior ...) variant instead [-Wdeprecated-declarations]
  324 |             QStringList strlIpPort = settings.value("addrProxy").toString().split(":", QString::SkipEmptyParts);
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt5/QtCore/qstring.h:609:17: note: declared here
  609 |     QStringList split(const QString &sep, SplitBehavior behavior,
      |                 ^~~~~
qt/optionsmodel.cpp:344:93: warning: ‘QStringList QString::split(const QString&, SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use split(const QString &sep, Qt::SplitBehavior ...) variant instead [-Wdeprecated-declarations]
  344 |             QStringList strlIpPort = settings.value("addrSeparateProxyTor").toString().split(":", QString::SkipEmptyParts);
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt5/QtCore/qstring.h:609:17: note: declared here
  609 |     QStringList split(const QString &sep, SplitBehavior behavior,
      |                 ^~~~~
qt/optionsmodel.cpp:356:93: warning: ‘QStringList QString::split(const QString&, SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use split(const QString &sep, Qt::SplitBehavior ...) variant instead [-Wdeprecated-declarations]
  356 |             QStringList strlIpPort = settings.value("addrSeparateProxyTor").toString().split(":", QString::SkipEmptyParts);
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt5/QtCore/qstring.h:609:17: note: declared here
  609 |     QStringList split(const QString &sep, SplitBehavior behavior,
      |                 ^~~~~
In file included from qt/utilitydialog.cpp:10:
qt/utilitydialog.h:72:57: warning: ‘constexpr QFlags<T>::QFlags(Zero) [with Enum = Qt::WindowType; Zero = int QFlags<Qt::WindowType>::Private::*]’ is deprecated: Use default constructor instead [-Wdeprecated-declarations]
   72 |     ShutdownWindow(QWidget *parent=0, Qt::WindowFlags f=0);
      |                                                         ^
In file included from /usr/include/qt5/QtCore/qglobal.h:1307,
                 from /usr/include/qt5/QtGui/qtguiglobal.h:43,
                 from /usr/include/qt5/QtWidgets/qtwidgetsglobal.h:43,
                 from /usr/include/qt5/QtWidgets/qdialog.h:43,
                 from /usr/include/qt5/QtWidgets/QDialog:1,
                 from qt/utilitydialog.h:9:
/usr/include/qt5/QtCore/qflags.h:123:80: note: declared here
  123 |     QT_DEPRECATED_X("Use default constructor instead") Q_DECL_CONSTEXPR inline QFlags(Zero) noexcept : i(0) {}
      |                                                                                ^~~~~~
qt/utilitydialog.cpp: In member function ‘void PaperWalletDialog::on_printButton_clicked()’:
qt/utilitydialog.cpp:364:27: warning: ‘void QPrinter::setOrientation(Orientation)’ is deprecated: Use setPageOrientation() instead. [-Wdeprecated-declarations]
  364 |     printer.setOrientation(QPrinter::Portrait);
      |     ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/qt5/QtPrintSupport/QPrinter:1,
                 from qt/utilitydialog.cpp:58:
/usr/include/qt5/QtPrintSupport/qprinter.h:172:10: note: declared here
  172 |     void setOrientation(Orientation);
      |          ^~~~~~~~~~~~~~
qt/utilitydialog.cpp:381:38: warning: ‘QRect QPrinter::pageRect() const’ is deprecated: Use pageLayout().paintRectPixels(resolution()) instead. [-Wdeprecated-declarations]
  381 |     int pageHeight = printer.pageRect().height() - PAPER_WALLET_PAGE_MARGIN;
      |                      ~~~~~~~~~~~~~~~~^~
/usr/include/qt5/QtPrintSupport/qprinter.h:259:11: note: declared here
  259 |     QRect pageRect() const;
      |           ^~~~~~~~
qt/utilitydialog.h: In static member function ‘static QWidget* ShutdownWindow::showShutdownWindow(BitcoinGUI*)’:
qt/utilitydialog.h:72:57: warning: ‘constexpr QFlags<T>::QFlags(Zero) [with Enum = Qt::WindowType; Zero = int QFlags<Qt::WindowType>::Private::*]’ is deprecated: Use default constructor instead [-Wdeprecated-declarations]
   72 |     ShutdownWindow(QWidget *parent=0, Qt::WindowFlags f=0);
      |                                                         ^
/usr/include/qt5/QtCore/qflags.h:123:80: note: declared here
  123 |     QT_DEPRECATED_X("Use default constructor instead") Q_DECL_CONSTEXPR inline QFlags(Zero) noexcept : i(0) {}
      |                                                                                ^~~~~~
qt/guiutil.cpp: In function ‘void GUIUtil::restoreWindowGeometry(const QString&, const QSize&, QWidget*)’:
qt/guiutil.cpp:870:63: warning: ‘const QRect QDesktopWidget::screenGeometry(int) const’ is deprecated: Use QGuiApplication::screens() [-Wdeprecated-declarations]
  870 |         QRect screen = QApplication::desktop()->screenGeometry();
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /usr/include/qt5/QtWidgets/QDesktopWidget:1,
                 from qt/guiutil.cpp:55:
/usr/include/qt5/QtWidgets/qdesktopwidget.h:79:67: note: declared here
   79 |     QT_DEPRECATED_X("Use QGuiApplication::screens()") const QRect screenGeometry(int screen = -1) const;
      |                                                                   ^~~~~~~~~~~~~~
In file included from qt/bitcoin.cpp:22:
qt/utilitydialog.h:72:57: warning: ‘constexpr QFlags<T>::QFlags(Zero) [with Enum = Qt::WindowType; Zero = int QFlags<Qt::WindowType>::Private::*]’ is deprecated: Use default constructor instead [-Wdeprecated-declarations]
   72 |     ShutdownWindow(QWidget *parent=0, Qt::WindowFlags f=0);
      |                                                         ^
In file included from /usr/include/qt5/QtCore/qglobal.h:1307,
                 from /usr/include/qt5/QtGui/qtguiglobal.h:43,
                 from /usr/include/qt5/QtWidgets/qtwidgetsglobal.h:43,
                 from /usr/include/qt5/QtWidgets/qlabel.h:43,
                 from /usr/include/qt5/QtWidgets/QLabel:1,
                 from qt/bitcoingui.h:15,
                 from qt/bitcoin.cpp:10:
/usr/include/qt5/QtCore/qflags.h:123:80: note: declared here
  123 |     QT_DEPRECATED_X("Use default constructor instead") Q_DECL_CONSTEXPR inline QFlags(Zero) noexcept : i(0) {}
      |                                                                                ^~~~~~
qt/bitcoin.cpp: In member function ‘void BitcoinApplication::createSplashScreen(const NetworkStyle*)’:
qt/bitcoin.cpp:391:60: warning: ‘constexpr QFlags<T>::QFlags(Zero) [with Enum = Qt::WindowType; Zero = int QFlags<Qt::WindowType>::Private::*]’ is deprecated: Use default constructor instead [-Wdeprecated-declarations]
  391 |     SplashScreen *splash = new SplashScreen(0, networkStyle);
      |                                                            ^
/usr/include/qt5/QtCore/qflags.h:123:80: note: declared here
  123 |     QT_DEPRECATED_X("Use default constructor instead") Q_DECL_CONSTEXPR inline QFlags(Zero) noexcept : i(0) {}
      |                                                                                ^~~~~~
qt/transactionview.cpp: In member function ‘void TransactionView::setModel(WalletModel*)’:
qt/transactionview.cpp:221:90: warning: ‘QStringList QString::split(const QString&, SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use split(const QString &sep, Qt::SplitBehavior ...) variant instead [-Wdeprecated-declarations]
  221 |             QStringList listUrls = _model->getOptionsModel()->getThirdPartyTxUrls().split("|", QString::SkipEmptyParts);
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/qt5/QtCore/qobject.h:47,
                 from /usr/include/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/qt5/QtWidgets/qframe.h:44,
                 from /usr/include/qt5/QtWidgets/qabstractscrollarea.h:44,
                 from /usr/include/qt5/QtWidgets/qabstractitemview.h:44,
                 from /usr/include/qt5/QtWidgets/qheaderview.h:44,
                 from /usr/include/qt5/QtWidgets/QHeaderView:1,
                 from qt/guiutil.h:12,
                 from qt/transactionview.h:8,
                 from qt/transactionview.cpp:6:
/usr/include/qt5/QtCore/qstring.h:609:17: note: declared here
  609 |     QStringList split(const QString &sep, SplitBehavior behavior,
      |                 ^~~~~
qt/transactionview.cpp: In member function ‘void TransactionView::chooseDate(int)’:
qt/transactionview.cpp:261:34: warning: ‘QDateTime::QDateTime(const QDate&)’ is deprecated: Use QDate::startOfDay() [-Wdeprecated-declarations]
  261 |                 QDateTime(current),
      |                                  ^
In file included from /usr/include/qt5/QtCore/QDateTime:1,
                 from qt/transactionfilterproxy.h:10,
                 from qt/transactionview.cpp:16:
/usr/include/qt5/QtCore/qdatetime.h:298:57: note: declared here
  298 |     QT_DEPRECATED_X("Use QDate::startOfDay()") explicit QDateTime(const QDate &);
      |                                                         ^~~~~~~~~
qt/transactionview.cpp:268:38: warning: ‘QDateTime::QDateTime(const QDate&)’ is deprecated: Use QDate::startOfDay() [-Wdeprecated-declarations]
  268 |                 QDateTime(startOfWeek),
      |                                      ^
/usr/include/qt5/QtCore/qdatetime.h:298:57: note: declared here
  298 |     QT_DEPRECATED_X("Use QDate::startOfDay()") explicit QDateTime(const QDate &);
      |                                                         ^~~~~~~~~
qt/transactionview.cpp:274:68: warning: ‘QDateTime::QDateTime(const QDate&)’ is deprecated: Use QDate::startOfDay() [-Wdeprecated-declarations]
  274 |                 QDateTime(QDate(current.year(), current.month(), 1)),
      |                                                                    ^
/usr/include/qt5/QtCore/qdatetime.h:298:57: note: declared here
  298 |     QT_DEPRECATED_X("Use QDate::startOfDay()") explicit QDateTime(const QDate &);
      |                                                         ^~~~~~~~~
qt/transactionview.cpp:279:82: warning: ‘QDateTime::QDateTime(const QDate&)’ is deprecated: Use QDate::startOfDay() [-Wdeprecated-declarations]
  279 |                 QDateTime(QDate(current.year(), current.month(), 1).addMonths(-1)),
      |                                                                                  ^
/usr/include/qt5/QtCore/qdatetime.h:298:57: note: declared here
  298 |     QT_DEPRECATED_X("Use QDate::startOfDay()") explicit QDateTime(const QDate &);
      |                                                         ^~~~~~~~~
qt/transactionview.cpp:280:68: warning: ‘QDateTime::QDateTime(const QDate&)’ is deprecated: Use QDate::startOfDay() [-Wdeprecated-declarations]
  280 |                 QDateTime(QDate(current.year(), current.month(), 1)));
      |                                                                    ^
/usr/include/qt5/QtCore/qdatetime.h:298:57: note: declared here
  298 |     QT_DEPRECATED_X("Use QDate::startOfDay()") explicit QDateTime(const QDate &);
      |                                                         ^~~~~~~~~
qt/transactionview.cpp:284:54: warning: ‘QDateTime::QDateTime(const QDate&)’ is deprecated: Use QDate::startOfDay() [-Wdeprecated-declarations]
  284 |                 QDateTime(QDate(current.year(), 1, 1)),
      |                                                      ^
/usr/include/qt5/QtCore/qdatetime.h:298:57: note: declared here
  298 |     QT_DEPRECATED_X("Use QDate::startOfDay()") explicit QDateTime(const QDate &);
      |                                                         ^~~~~~~~~
qt/transactionview.cpp: In member function ‘void TransactionView::dateRangeChanged()’:
qt/transactionview.cpp:541:39: warning: ‘QDateTime::QDateTime(const QDate&)’ is deprecated: Use QDate::startOfDay() [-Wdeprecated-declarations]
  541 |             QDateTime(dateFrom->date()),
      |                                       ^
/usr/include/qt5/QtCore/qdatetime.h:298:57: note: declared here
  298 |     QT_DEPRECATED_X("Use QDate::startOfDay()") explicit QDateTime(const QDate &);
      |                                                         ^~~~~~~~~
qt/transactionview.cpp:542:37: warning: ‘QDateTime::QDateTime(const QDate&)’ is deprecated: Use QDate::startOfDay() [-Wdeprecated-declarations]
  542 |             QDateTime(dateTo->date()).addDays(1));
      |                                     ^
/usr/include/qt5/QtCore/qdatetime.h:298:57: note: declared here
  298 |     QT_DEPRECATED_X("Use QDate::startOfDay()") explicit QDateTime(const QDate &);
      |                                                         ^~~~~~~~~
In file included from qt/rpcconsole.cpp:20:
qt/utilitydialog.h:72:57: warning: ‘constexpr QFlags<T>::QFlags(Zero) [with Enum = Qt::WindowType; Zero = int QFlags<Qt::WindowType>::Private::*]’ is deprecated: Use default constructor instead [-Wdeprecated-declarations]
   72 |     ShutdownWindow(QWidget *parent=0, Qt::WindowFlags f=0);
      |                                                         ^
In file included from /usr/include/qt5/QtCore/qglobal.h:1307,
                 from /usr/include/qt5/QtGui/qtguiglobal.h:43,
                 from /usr/include/qt5/QtWidgets/qtwidgetsglobal.h:43,
                 from /usr/include/qt5/QtWidgets/qlabel.h:43,
                 from /usr/include/qt5/QtWidgets/QLabel:1,
                 from qt/bitcoingui.h:15,
                 from qt/rpcconsole.cpp:6:
/usr/include/qt5/QtCore/qflags.h:123:80: note: declared here
  123 |     QT_DEPRECATED_X("Use default constructor instead") Q_DECL_CONSTEXPR inline QFlags(Zero) noexcept : i(0) {}
      |                                                                                ^~~~~~
In file included from qt/walletview.cpp:23:
qt/utilitydialog.h:72:57: warning: ‘constexpr QFlags<T>::QFlags(Zero) [with Enum = Qt::WindowType; Zero = int QFlags<Qt::WindowType>::Private::*]’ is deprecated: Use default constructor instead [-Wdeprecated-declarations]
   72 |     ShutdownWindow(QWidget *parent=0, Qt::WindowFlags f=0);
      |                                                         ^
In file included from /usr/include/qt5/QtCore/qglobal.h:1307,
                 from /usr/include/qt5/QtGui/qtguiglobal.h:43,
                 from /usr/include/qt5/QtWidgets/qtwidgetsglobal.h:43,
                 from /usr/include/qt5/QtWidgets/qstackedwidget.h:43,
                 from /usr/include/qt5/QtWidgets/QStackedWidget:1,
                 from qt/walletview.h:11,
                 from qt/walletview.cpp:6:
/usr/include/qt5/QtCore/qflags.h:123:80: note: declared here
  123 |     QT_DEPRECATED_X("Use default constructor instead") Q_DECL_CONSTEXPR inline QFlags(Zero) noexcept : i(0) {}
      |                                                                                ^~~~~~
qt/splashscreen.cpp: In constructor ‘SplashScreen::SplashScreen(Qt::WindowFlags, const NetworkStyle*)’:
qt/splashscreen.cpp:85:34: warning: ‘int QFontMetrics::width(const QString&, int) const’ is deprecated: Use QFontMetrics::horizontalAdvance [-Wdeprecated-declarations]
   85 |     int titleTextWidth = fm.width(titleText);
      |                          ~~~~~~~~^~~~~~~~~~~
In file included from /usr/include/qt5/QtWidgets/qwidget.h:50,
                 from /usr/include/qt5/QtWidgets/qsplashscreen.h:45,
                 from /usr/include/qt5/QtWidgets/QSplashScreen:1,
                 from qt/splashscreen.h:8,
                 from qt/splashscreen.cpp:10:
/usr/include/qt5/QtGui/qfontmetrics.h:106:9: note: declared here
  106 |     int width(const QString &, int len = -1) const;
      |         ^~~~~
qt/splashscreen.cpp:92:31: warning: ‘int QFontMetrics::width(const QString&, int) const’ is deprecated: Use QFontMetrics::horizontalAdvance [-Wdeprecated-declarations]
   92 |     titleTextWidth  = fm.width(titleText);
      |                       ~~~~~~~~^~~~~~~~~~~
/usr/include/qt5/QtGui/qfontmetrics.h:106:9: note: declared here
  106 |     int width(const QString &, int len = -1) const;
      |         ^~~~~
qt/splashscreen.cpp:99:37: warning: ‘int QFontMetrics::width(const QString&, int) const’ is deprecated: Use QFontMetrics::horizontalAdvance [-Wdeprecated-declarations]
   99 |     int versionTextWidth  = fm.width(versionText);
      |                             ~~~~~~~~^~~~~~~~~~~~~
/usr/include/qt5/QtGui/qfontmetrics.h:106:9: note: declared here
  106 |     int width(const QString &, int len = -1) const;
      |         ^~~~~
qt/splashscreen.cpp:121:42: warning: ‘int QFontMetrics::width(const QString&, int) const’ is deprecated: Use QFontMetrics::horizontalAdvance [-Wdeprecated-declarations]
  121 |         int titleAddTextWidth  = fm.width(titleAddText);
      |                                  ~~~~~~~~^~~~~~~~~~~~~~
/usr/include/qt5/QtGui/qfontmetrics.h:106:9: note: declared here
  106 |     int width(const QString &, int len = -1) const;
      |         ^~~~~
qt/splashscreen.cpp:134:49: warning: ‘const QRect QDesktopWidget::screenGeometry(int) const’ is deprecated: Use QGuiApplication::screens() [-Wdeprecated-declarations]
  134 |     move(QApplication::desktop()->screenGeometry().center() - r.center());
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /usr/include/qt5/QtWidgets/QDesktopWidget:1,
                 from qt/splashscreen.cpp:26:
/usr/include/qt5/QtWidgets/qdesktopwidget.h:79:67: note: declared here
   79 |     QT_DEPRECATED_X("Use QGuiApplication::screens()") const QRect screenGeometry(int screen = -1) const;
      |                                                                   ^~~~~~~~~~~~~~
qt/addresstablemodel.cpp: In member function ‘void AddressTablePriv::refreshAddressTable()’:
qt/addresstablemodel.cpp:99:14: warning: ‘void qSort(RandomAccessIterator, RandomAccessIterator, LessThan) [with RandomAccessIterator = QList<AddressTableEntry>::iterator; LessThan = AddressTableEntryLessThan]’ is deprecated: Use std::sort [-Wdeprecated-declarations]
   99 |         qSort(cachedAddressTable.begin(), cachedAddressTable.end(), AddressTableEntryLessThan());
      |         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/qt5/QtCore/qlist.h:43,
                 from /usr/include/qt5/QtCore/qvariant.h:45,
                 from /usr/include/qt5/QtCore/qabstractitemmodel.h:43,
                 from /usr/include/qt5/QtCore/QAbstractTableModel:1,
                 from qt/addresstablemodel.h:8,
                 from qt/addresstablemodel.cpp:5:
/usr/include/qt5/QtCore/qalgorithms.h:181:46: note: declared here
  181 | QT_DEPRECATED_X("Use std::sort") inline void qSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan)
      |                                              ^~~~~
qt/addresstablemodel.cpp: In member function ‘void AddressTablePriv::updateEntry(const QString&, const QString&, bool, const QString&, int)’:
qt/addresstablemodel.cpp:105:63: warning: ‘RandomAccessIterator qLowerBound(RandomAccessIterator, RandomAccessIterator, const T&, LessThan) [with RandomAccessIterator = QList<AddressTableEntry>::iterator; T = QString; LessThan = AddressTableEntryLessThan]’ is deprecated: Use std::lower_bound [-Wdeprecated-declarations]
  105 |         QList<AddressTableEntry>::iterator lower = qLowerBound(
      |                                                    ~~~~~~~~~~~^
  106 |             cachedAddressTable.begin(), cachedAddressTable.end(), address, AddressTableEntryLessThan());
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt5/QtCore/qalgorithms.h:247:83: note: declared here
  247 | QT_DEPRECATED_X("Use std::lower_bound") Q_OUTOFLINE_TEMPLATE RandomAccessIterator qLowerBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan)
      |                                                                                   ^~~~~~~~~~~
qt/addresstablemodel.cpp:107:63: warning: ‘RandomAccessIterator qUpperBound(RandomAccessIterator, RandomAccessIterator, const T&, LessThan) [with RandomAccessIterator = QList<AddressTableEntry>::iterator; T = QString; LessThan = AddressTableEntryLessThan]’ is deprecated: Use std::upper_bound [-Wdeprecated-declarations]
  107 |         QList<AddressTableEntry>::iterator upper = qUpperBound(
      |                                                    ~~~~~~~~~~~^
  108 |             cachedAddressTable.begin(), cachedAddressTable.end(), address, AddressTableEntryLessThan());
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt5/QtCore/qalgorithms.h:280:83: note: declared here
  280 | QT_DEPRECATED_X("Use std::upper_bound") Q_OUTOFLINE_TEMPLATE RandomAccessIterator qUpperBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan)
      |                                                                                   ^~~~~~~~~~~
qt/addresstablemodel.cpp: In member function ‘virtual Qt::ItemFlags AddressTableModel::flags(const QModelIndex&) const’:
qt/addresstablemodel.cpp:310:16: warning: ‘constexpr QFlags<T>::QFlags(Zero) [with Enum = Qt::ItemFlag; Zero = int QFlags<Qt::ItemFlag>::Private::*]’ is deprecated: Use default constructor instead [-Wdeprecated-declarations]
  310 |         return 0;
      |                ^
In file included from /usr/include/qt5/QtCore/qglobal.h:1307,
                 from /usr/include/qt5/QtCore/qatomic.h:41,
                 from /usr/include/qt5/QtCore/qvariant.h:43:
/usr/include/qt5/QtCore/qflags.h:123:80: note: declared here
  123 |     QT_DEPRECATED_X("Use default constructor instead") Q_DECL_CONSTEXPR inline QFlags(Zero) noexcept : i(0) {}
      |                                                                                ^~~~~~
In file included from qt/moc_utilitydialog.cpp:9:
./qt/utilitydialog.h:72:57: warning: ‘constexpr QFlags<T>::QFlags(Zero) [with Enum = Qt::WindowType; Zero = int QFlags<Qt::WindowType>::Private::*]’ is deprecated: Use default constructor instead [-Wdeprecated-declarations]
   72 |     ShutdownWindow(QWidget *parent=0, Qt::WindowFlags f=0);
      |                                                         ^
In file included from /usr/include/qt5/QtCore/qglobal.h:1307,
                 from /usr/include/qt5/QtGui/qtguiglobal.h:43,
                 from /usr/include/qt5/QtWidgets/qtwidgetsglobal.h:43,
                 from /usr/include/qt5/QtWidgets/qdialog.h:43,
                 from /usr/include/qt5/QtWidgets/QDialog:1,
                 from ./qt/utilitydialog.h:9:
/usr/include/qt5/QtCore/qflags.h:123:80: note: declared here
  123 |     QT_DEPRECATED_X("Use default constructor instead") Q_DECL_CONSTEXPR inline QFlags(Zero) noexcept : i(0) {}
      |                                                                                ^~~~~~
qt/paymentserver.cpp: In static member function ‘static void PaymentServer::LoadRootCAs(X509_STORE*)’:
qt/paymentserver.cpp:148:45: warning: ‘static void QSslSocket::setDefaultCaCertificates(const QList<QSslCertificate>&)’ is deprecated [-Wdeprecated-declarations]
  148 |         QSslSocket::setDefaultCaCertificates(certList);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
In file included from /usr/include/qt5/QtNetwork/qsslconfiguration.h:62,
                 from /usr/include/qt5/QtNetwork/QSslConfiguration:1,
                 from /usr/include/qt5/QtNetwork/qnetworkaccessmanager.h:49,
                 from /usr/include/qt5/QtNetwork/QNetworkAccessManager:1,
                 from qt/paymentserver.cpp:35:
/usr/include/qt5/QtNetwork/qsslsocket.h:184:31: note: declared here
  184 |     QT_DEPRECATED static void setDefaultCaCertificates(const QList<QSslCertificate> &certificates);
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~
qt/paymentserver.cpp:150:52: warning: ‘static QList<QSslCertificate> QSslSocket::systemCaCertificates()’ is deprecated: Use QSslConfiguration::systemCaCertificates() [-Wdeprecated-declarations]
  150 |         certList = QSslSocket::systemCaCertificates();
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/include/qt5/QtNetwork/qsslsocket.h:186:100: note: declared here
  186 |     QT_DEPRECATED_X("Use QSslConfiguration::systemCaCertificates()") static QList<QSslCertificate> systemCaCertificates();
      |                                                                                                    ^~~~~~~~~~~~~~~~~~~~
qt/sendcoinsdialog.cpp: In member function ‘void SendCoinsDialog::updateFeeLabel()’:
qt/sendcoinsdialog.cpp:670:103: warning: ‘int QFontMetrics::width(const QString&, int) const’ is deprecated: Use QFontMetrics::horizontalAdvance [-Wdeprecated-declarations]
  670 |         ui->fallbackFeeWarningLabel->setIndent(QFontMetrics(ui->fallbackFeeWarningLabel->font()).width("x"));
      |                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
In file included from /usr/include/qt5/QtWidgets/qwidget.h:50,
                 from /usr/include/qt5/QtWidgets/qdialog.h:44,
                 from /usr/include/qt5/QtWidgets/QDialog:1,
                 from qt/sendcoinsdialog.h:11,
                 from qt/sendcoinsdialog.cpp:6:
/usr/include/qt5/QtGui/qfontmetrics.h:106:9: note: declared here
  106 |     int width(const QString &, int len = -1) const;
      |         ^~~~~
wallet/wallet.cpp: In static member function ‘static bool CWallet::Verify()’:
wallet/wallet.cpp:462:50: warning: ‘std::string boost::filesystem::basename(const path&)’ is deprecated: Use path::stem() instead [-Wdeprecated-declarations]
  462 |     if (walletFile != boost::filesystem::basename(walletFile) + boost::filesystem::extension(walletFile))
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/boost/filesystem.hpp:21,
                 from wallet/wallet.cpp:35:
/usr/include/boost/filesystem/convenience.hpp:35:20: note: declared here
   35 | inline std::string basename(const path& p)
      |                    ^~~~~~~~
wallet/wallet.cpp:462:93: warning: ‘std::string boost::filesystem::extension(const path&)’ is deprecated: Use path::extension() instead [-Wdeprecated-declarations]
  462 |     if (walletFile != boost::filesystem::basename(walletFile) + boost::filesystem::extension(walletFile))
      |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/usr/include/boost/filesystem/convenience.hpp:29:20: note: declared here
   29 | inline std::string extension(const path& p)
      |                    ^~~~~~~~~
wallet/wallet.cpp: In member function ‘bool CWallet::SelectCoinsMinConf(const CAmount&, int, int, uint64_t, std::vector<COutput>, std::set<std::pair<const CWalletTx*, unsigned int> >&, CAmount&) const’:
wallet/wallet.cpp:2168:19: warning: ‘void std::random_shuffle(_RAIter, _RAIter, _Generator&&) [with _RAIter = __gnu_cxx::__normal_iterator<COutput*, vector<COutput> >; _Generator = int (&)(int)]’ is deprecated: use 'std::shuffle' instead [-Wdeprecated-declarations]
 2168 |     random_shuffle(vCoins.begin(), vCoins.end(), GetRandInt);
      |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/14/algorithm:61,
                 from ./serialize.h:11,
                 from ./amount.h:10,
                 from ./wallet/wallet.h:10,
                 from wallet/wallet.cpp:7:
/usr/include/c++/14/bits/stl_algo.h:4530:5: note: declared here
 4530 |     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
      |     ^~~~~~~~~~~~~~
wallet/wallet.cpp: In member function ‘bool CWallet::BackupWallet(const std::string&)’:
wallet/wallet.cpp:4022:49: warning: ‘bool boost::filesystem::copy_file(const path&, const path&, copy_option)’ is deprecated: Use copy_options instead of copy_option [-Wdeprecated-declarations]
 4022 |                     boost::filesystem::copy_file(pathSrc, pathDest, boost::filesystem::copy_option::overwrite_if_exists);
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/filesystem.hpp:19:
/usr/include/boost/filesystem/operations.hpp:473:13: note: declared here
  473 | inline bool copy_file(path const& from, path const& to, // See ticket #2925
      |             ^~~~~~~~~
qt/transactiontablemodel.cpp: In member function ‘void TransactionTablePriv::updateWallet(const uint256&, int, bool)’:
qt/transactiontablemodel.cpp:105:63: warning: ‘RandomAccessIterator qLowerBound(RandomAccessIterator, RandomAccessIterator, const T&, LessThan) [with RandomAccessIterator = QList<TransactionRecord>::iterator; T = uint256; LessThan = TxLessThan]’ is deprecated: Use std::lower_bound [-Wdeprecated-declarations]
  105 |         QList<TransactionRecord>::iterator lower = qLowerBound(
      |                                                    ~~~~~~~~~~~^
  106 |             cachedWallet.begin(), cachedWallet.end(), hash, TxLessThan());
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/qt5/QtCore/qlist.h:43,
                 from /usr/include/qt5/QtCore/qvariant.h:45,
                 from /usr/include/qt5/QtCore/qabstractitemmodel.h:43,
                 from /usr/include/qt5/QtCore/QAbstractListModel:1,
                 from qt/bitcoinunits.h:11,
                 from qt/transactiontablemodel.h:8,
                 from qt/transactiontablemodel.cpp:6:
/usr/include/qt5/QtCore/qalgorithms.h:247:83: note: declared here
  247 | QT_DEPRECATED_X("Use std::lower_bound") Q_OUTOFLINE_TEMPLATE RandomAccessIterator qLowerBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan)
      |                                                                                   ^~~~~~~~~~~
qt/transactiontablemodel.cpp:107:63: warning: ‘RandomAccessIterator qUpperBound(RandomAccessIterator, RandomAccessIterator, const T&, LessThan) [with RandomAccessIterator = QList<TransactionRecord>::iterator; T = uint256; LessThan = TxLessThan]’ is deprecated: Use std::upper_bound [-Wdeprecated-declarations]
  107 |         QList<TransactionRecord>::iterator upper = qUpperBound(
      |                                                    ~~~~~~~~~~~^
  108 |             cachedWallet.begin(), cachedWallet.end(), hash, TxLessThan());
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/qt5/QtCore/qalgorithms.h:280:83: note: declared here
  280 | QT_DEPRECATED_X("Use std::upper_bound") Q_OUTOFLINE_TEMPLATE RandomAccessIterator qUpperBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan)
      |                                                                                   ^~~~~~~~~~~
In file included from qt/walletmodel.cpp:6:
qt/walletmodel.h: In member function ‘WalletModel::UnlockContext::operator=(WalletModel::UnlockContext const&)’:
qt/walletmodel.h:181:24: warning: infinite recursion detected [-Winfinite-recursion]
  181 |         UnlockContext& operator=(const UnlockContext& rhs) { CopyFrom(rhs); return *this; }
      |                        ^~~~~~~~
In member function ‘WalletModel::UnlockContext::CopyFrom(WalletModel::UnlockContext const&)’,
    inlined from ‘WalletModel::UnlockContext::operator=(WalletModel::UnlockContext const&)’ at qt/walletmodel.h:181:70:
qt/walletmodel.cpp:582:13: note: recursive call
  582 |     *this = rhs;
      |             ^~~
@patricklodder
Copy link
Member

Thanks!

  • For boost and qt deprecation warnings: we can as of 3 hours ago do breaking changes for the first time in almost 5 years, so these can get picked up when we upgrade the pinned dependencies of these. I think the same goes for -Wtemplate-id-cdtor
  • The unused function is needed for the future, but can be put somewhere separate where we just don't compile it if there's nothing that uses it. I'll pick that up because I caused the warning by not deleting it.
  • Dangling refs and inf recursion should be fixed; these fall in the category "best job ever" so that'll get done in a blink.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants