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

qtopcua fails to build due to -Werror=dangling-reference in QOpen62541Subscription::convertWhereClause

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P2: Important
    • None
    • 6.5.1
    • OpcUA
    • None
    • Archlinux, GCC 13.1.1
    • aad361cd6991b50cf4c96ea7b22be66a677c5452

    Description

      Building the v6.5.1 tag with -developer-build:

      [46/1183] Building CXX object qtopcua/src/plugins/opcua/open62541/CMakeFiles/QOpen62541Plugin.dir/qopen62541subscription.cpp.o
      FAILED: qtopcua/src/plugins/opcua/open62541/CMakeFiles/QOpen62541Plugin.dir/qopen62541subscription.cpp.o 
      /usr/bin/ccache /usr/lib/ccache/bin/c++ -DQOpen62541Plugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_UP_TO=0x050000 -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_LEAN_HEADERS=1 -DQT_NETWORK_LIB -DQT_NO_AS_CONST=1 -DQT_NO_EXCEPTIONS -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_OPCUA_LIB -DQT_PLUGIN -DQT_STRICT_QLIST_ITERATORS -DQT_WARN_DEPRECATED_UP_TO=0x070000 -DUA_ENABLE_ENCRYPTION_OPENSSL -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/home/florian/proj/qt/dev6/qt5/qtopcua/src/plugins/opcua/open62541/QOpen62541Plugin_autogen/include -I/home/florian/proj/qt/dev6/qt5/qtopcua/src/plugins/opcua/open62541 -I/home/florian/proj/qt/dev6/qt5/qtbase/include -I/home/florian/proj/qt/dev6/qt5/qtopcua/src/plugins/opcua/open62541/../../../3rdparty/open62541 -I/home/florian/proj/qt/dev6/qt5/qtbase/include/QtCore -I/home/florian/proj/qt/dev6/qt5/qtbase/mkspecs/linux-g++ -I/home/florian/proj/qt/dev6/qt5/qtbase/src/corelib -I/home/florian/proj/qt/dev6/qt5/qtbase/include/QtCore/6.5.1 -I/home/florian/proj/qt/dev6/qt5/qtbase/include/QtCore/6.5.1/QtCore -I/home/florian/proj/qt/dev6/qt5/qtbase/include/QtNetwork -I/home/florian/proj/qt/dev6/qt5/qtbase/include/QtOpcUa -I/home/florian/proj/qt/dev6/qt5/qtopcua/src/opcua -I/home/florian/proj/qt/dev6/qt5/qtbase/include/QtOpcUa/6.5.1 -I/home/florian/proj/qt/dev6/qt5/qtbase/include/QtOpcUa/6.5.1/QtOpcUa -I/home/florian/proj/qt/dev6/qt5/qtbase/src/network -I/home/florian/proj/qt/dev6/qt5/qtbase/include/QtNetwork/6.5.1 -I/home/florian/proj/qt/dev6/qt5/qtbase/include/QtNetwork/6.5.1/QtNetwork -g -std=c++17 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -fno-exceptions -fPIC -Werror -Wno-error=cpp -Wno-error=deprecated-declarations -Wno-error=strict-overflow -Wno-error=implicit-fallthrough -Wno-error=deprecated-copy -Wno-error=redundant-move -Wno-error=init-list-lifetime -Wno-error=format-overflow -Wno-error=stringop-overflow -Wno-error=deprecated-enum-enum-conversion -Wno-error=deprecated-enum-float-conversion -Wsuggest-override -MD -MT qtopcua/src/plugins/opcua/open62541/CMakeFiles/QOpen62541Plugin.dir/qopen62541subscription.cpp.o -MF qtopcua/src/plugins/opcua/open62541/CMakeFiles/QOpen62541Plugin.dir/qopen62541subscription.cpp.o.d -o qtopcua/src/plugins/opcua/open62541/CMakeFiles/QOpen62541Plugin.dir/qopen62541subscription.cpp.o -c /home/florian/proj/qt/dev6/qt5/qtopcua/src/plugins/opcua/open62541/qopen62541subscription.cpp
      qtopcua/src/plugins/opcua/open62541/qopen62541subscription.cpp: In member function ‘bool QOpen62541Subscription::convertWhereClause(const QOpcUaMonitoringParameters::EventFilter&, UA_ContentFilter*)’:
      qtopcua/src/plugins/opcua/open62541/qopen62541subscription.cpp:493:33: error: possibly dangling reference to a temporary [-Werror=dangling-reference]
        493 |                 const QVariant &currentOperand = filter.whereClause().at(i).filterOperands().at(j);
            |                                 ^~~~~~~~~~~~~~
      qtopcua/src/plugins/opcua/open62541/qopen62541subscription.cpp:493:96: note: the temporary was destroyed at the end of the full expression ‘QOpcUaContentFilterElement::filterOperands() const().QList<QVariant>::at(((qsizetype)j))’
        493 |                 const QVariant &currentOperand = filter.whereClause().at(i).filterOperands().at(j);
            |                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
      cc1plus: all warnings being treated as errors
      [63/1183] Building CXX object qtvirtualkeyboard/src/components/CMakeFiles/qtvkbcomponentsplugin.dir/.rcc/qmlcache/qtvkbcomponentsplugin_Keyboard_qml.cpp.o
      ninja: build stopped: subcommand failed.
      

      Attachments

        Issue Links

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

          Activity

            People

              fmeerkoetter Frank Meerkötter
              the compiler Florian Bruhin
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes