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

fatal warning: parseLocationOrError returning a dangling reference to a temporary

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P1: Critical
    • 6.5.10
    • 6.5
    • None
    • gcc 15.1.1 on Arch Linux
    • 0a346c719 (tqtc/lts-6.5)

    Description

      FAILED: qtbase/src/tools/qtpaths/CMakeFiles/qtpaths.dir/qtpaths.cpp.o 
      /usr/lib/ccache/bin/c++ -DPROEVALUATOR_FULL -DQMAKE_VERSION_STR=\"3.1\" -DQTPATHS_VERSION_STR=\"2.0\" -DQT_BUILD_QMAKE -DQT_CORE_LIB -DQT_DISABLE_DEPRECATED_UP_TO=0x050000 -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_HOST_DATADIR=\".\" -DQT_HOST_MKSPEC=\"linux-g++\" -DQT_LEAN_HEADERS=1 -DQT_NO_AS_CONST=1 -DQT_NO_EXCEPTIONS -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_STRICT_QLIST_ITERATORS -DQT_TARGET_MKSPEC=\"linux-g++\" -DQT_USE_QSTRINGBUILDER -DQT_WARN_DEPRECATED_UP_TO=0x070000 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/home/rutledge/dev/qt-lts-dbg/qtbase/src/tools/qtpaths/qtpaths_autogen/include -I/home/rutledge/dev/qt-lts/qtbase/src/tools/qtpaths -I/home/rutledge/dev/qt-lts-dbg/qtbase/src/tools/qtpaths -I/home/rutledge/dev/qt-lts-dbg/qtbase/mkspecs/linux-g++ -I/home/rutledge/dev/qt-lts-dbg/qtbase/include -I/home/rutledge/dev/qt-lts-dbg/qtbase/include/QtCore -I/home/rutledge/dev/qt-lts/qtbase/qmake -I/home/rutledge/dev/qt-lts/qtbase/qmake/library -I/home/rutledge/dev/qt-lts-dbg/qtbase/src/corelib -I/home/rutledge/dev/qt-lts-dbg/qtbase/include/QtCore/6.5.9 -I/home/rutledge/dev/qt-lts-dbg/qtbase/include/QtCore/6.5.9/QtCore -g -std=c++17 -fPIE -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -fno-exceptions -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 -fPIC -MD -MT qtbase/src/tools/qtpaths/CMakeFiles/qtpaths.dir/qtpaths.cpp.o -MF qtbase/src/tools/qtpaths/CMakeFiles/qtpaths.dir/qtpaths.cpp.o.d -o qtbase/src/tools/qtpaths/CMakeFiles/qtpaths.dir/qtpaths.cpp.o -c /home/rutledge/dev/qt-lts/qtbase/src/tools/qtpaths/qtpaths.cpp
      /home/rutledge/dev/qt-lts/qtbase/src/tools/qtpaths/qtpaths.cpp: In function ‘int main(int, char**)’:
      /home/rutledge/dev/qt-lts/qtbase/src/tools/qtpaths/qtpaths.cpp:260:27: error: possibly dangling reference to a temporary [-Werror=dangling-reference]
        260 |         const StringEnum &location = parseLocationOrError(parser.value(display));
            |                           ^~~~~~~~
      /home/rutledge/dev/qt-lts/qtbase/src/tools/qtpaths/qtpaths.cpp:260:71: note: ‘QString’ temporary created here
        260 |         const StringEnum &location = parseLocationOrError(parser.value(display));
            |                                                           ~~~~~~~~~~~~^~~~~~~~~
      /home/rutledge/dev/qt-lts/qtbase/src/tools/qtpaths/qtpaths.cpp:266:27: error: possibly dangling reference to a temporary [-Werror=dangling-reference]
        266 |         const StringEnum &location = parseLocationOrError(parser.value(paths));
            |                           ^~~~~~~~
      /home/rutledge/dev/qt-lts/qtbase/src/tools/qtpaths/qtpaths.cpp:266:71: note: ‘QString’ temporary created here
        266 |         const StringEnum &location = parseLocationOrError(parser.value(paths));
            |                                                           ~~~~~~~~~~~~^~~~~~~
      /home/rutledge/dev/qt-lts/qtbase/src/tools/qtpaths/qtpaths.cpp:272:27: error: possibly dangling reference to a temporary [-Werror=dangling-reference]
        272 |         const StringEnum &location = parseLocationOrError(parser.value(writablePath));
            |                           ^~~~~~~~
      /home/rutledge/dev/qt-lts/qtbase/src/tools/qtpaths/qtpaths.cpp:272:71: note: ‘QString’ temporary created here
        272 |         const StringEnum &location = parseLocationOrError(parser.value(writablePath));
            |                                                           ~~~~~~~~~~~~^~~~~~~~~~~~~~
      /home/rutledge/dev/qt-lts/qtbase/src/tools/qtpaths/qtpaths.cpp:284:27: error: possibly dangling reference to a temporary [-Werror=dangling-reference]
        284 |         const StringEnum &location = parseLocationOrError(parser.value(locateDir));
            |                           ^~~~~~~~
      /home/rutledge/dev/qt-lts/qtbase/src/tools/qtpaths/qtpaths.cpp:284:71: note: ‘QString’ temporary created here
        284 |         const StringEnum &location = parseLocationOrError(parser.value(locateDir));
            |                                                           ~~~~~~~~~~~~^~~~~~~~~~~
      /home/rutledge/dev/qt-lts/qtbase/src/tools/qtpaths/qtpaths.cpp:291:27: error: possibly dangling reference to a temporary [-Werror=dangling-reference]
        291 |         const StringEnum &location = parseLocationOrError(parser.value(locateFile));
            |                           ^~~~~~~~
      /home/rutledge/dev/qt-lts/qtbase/src/tools/qtpaths/qtpaths.cpp:291:71: note: ‘QString’ temporary created here
        291 |         const StringEnum &location = parseLocationOrError(parser.value(locateFile));
            |                                                           ~~~~~~~~~~~~^~~~~~~~~~~~
      /home/rutledge/dev/qt-lts/qtbase/src/tools/qtpaths/qtpaths.cpp:298:27: error: possibly dangling reference to a temporary [-Werror=dangling-reference]
        298 |         const StringEnum &location = parseLocationOrError(parser.value(locateDirs));
            |                           ^~~~~~~~
      /home/rutledge/dev/qt-lts/qtbase/src/tools/qtpaths/qtpaths.cpp:298:71: note: ‘QString’ temporary created here
        298 |         const StringEnum &location = parseLocationOrError(parser.value(locateDirs));
            |                                                           ~~~~~~~~~~~~^~~~~~~~~~~~
      /home/rutledge/dev/qt-lts/qtbase/src/tools/qtpaths/qtpaths.cpp:305:27: error: possibly dangling reference to a temporary [-Werror=dangling-reference]
        305 |         const StringEnum &location = parseLocationOrError(parser.value(locateFiles));
            |                           ^~~~~~~~
      /home/rutledge/dev/qt-lts/qtbase/src/tools/qtpaths/qtpaths.cpp:305:71: note: ‘QString’ temporary created here
        305 |         const StringEnum &location = parseLocationOrError(parser.value(locateFiles));
            |                                                           ~~~~~~~~~~~~^~~~~~~~~~~~~
      cc1plus: all warnings being treated as errors
      

      Attachments

        For Gerrit Dashboard: QTBUG-137861
        # Subject Branch Project Status CR V

        Activity

          People

            liaqi Liang Qi
            srutledg Shawn Rutledge
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes