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

Generated code of qt_add_qml_module fails to build

    XMLWordPrintable

Details

    • 72d15389a (dev), 6b609c796 (dev), e416518a2 (6.7), 0af2b4b06 (6.7)

    Description

      We tried to use qt_add_qml_module and it fails to compile with our application compiler flags because it is not compatible with our code base.

       resources/qml/CMakeFiles/AusweisAppQmlModules.dir/.rcc/qmlcache/AusweisAppQmlModules_Governikus/Animations/AnimationLoader_qml.cpp.o -MF resources/qml/CMakeFiles/AusweisAppQmlModules.dir/.rcc/qmlcache/AusweisAppQmlModules_Governikus/Animations/AnimationLoader_qml.cpp.o.d -o resources/qml/CMakeFiles/AusweisAppQmlModules.dir/.rcc/qmlcache/AusweisAppQmlModules_Governikus/Animations/AnimationLoader_qml.cpp.o -c /.../apk/resources/qml/.rcc/qmlcache/AusweisAppQmlModules_Governikus/Animations/AnimationLoader_qml.cpp
      /.../apk/resources/qml/.rcc/qmlcache/AusweisAppQmlModules_Governikus/Animations/AnimationLoader_qml.cpp:935:1: error: empty expression statement has no effect; remove unnecessary ';' to silence this warning [-Werror,-Wextra-semi-stmt]
      ;
      ^
      /.../apk/resources/qml/.rcc/qmlcache/AusweisAppQmlModules_Governikus/Animations/AnimationLoader_qml.cpp:944:1: error: empty expression statement has no effect; remove unnecessary ';' to silence this warning [-Werror,-Wextra-semi-stmt]
      ;
      ^
      /.../apk/resources/qml/.rcc/qmlcache/AusweisAppQmlModules_Governikus/Animations/AnimationLoader_qml.cpp:953:1: error: empty expression statement has no effect; remove unnecessary ';' to silence this warning [-Werror,-Wextra-semi-stmt]
      ;
      ^
      /.../apk/resources/qml/.rcc/qmlcache/AusweisAppQmlModules_Governikus/Animations/AnimationLoader_qml.cpp:962:1: error: empty expression statement has no effect; remove unnecessary ';' to silence this warning [-Werror,-Wextra-semi-stmt]
      ;
      ^
      /.../apk/resources/qml/.rcc/qmlcache/AusweisAppQmlModules_Governikus/Animations/AnimationLoader_qml.cpp:971:1: error: empty expression statement has no effect; remove unnecessary ';' to silence this warning [-Werror,-Wextra-semi-stmt]
      ;
      ^
      /.../apk/resources/qml/.rcc/qmlcache/AusweisAppQmlModules_Governikus/Animations/AnimationLoader_qml.cpp:980:1: error: empty expression statement has no effect; remove unnecessary ';' to silence this warning [-Werror,-Wextra-semi-stmt]
      ;
      ^
      /.../apk/resources/qml/.rcc/qmlcache/AusweisAppQmlModules_Governikus/Animations/AnimationLoader_qml.cpp:989:1: error: empty expression statement has no effect; remove unnecessary ';' to silence this warning [-Werror,-Wextra-semi-stmt]
      ;
      ^
      /.../apk/resources/qml/.rcc/qmlcache/AusweisAppQmlModules_Governikus/Animations/AnimationLoader_qml.cpp:998:1: error: empty expression statement has no effect; remove unnecessary ';' to silence this warning [-Werror,-Wextra-semi-stmt]
      ;
      ^
      /.../apk/resources/qml/.rcc/qmlcache/AusweisAppQmlModules_Governikus/Animations/AnimationLoader_qml.cpp:1007:1: error: empty expression statement has no effect; remove unnecessary ';' to silence this warning [-Werror,-Wextra-semi-stmt]
      ;
      ^
      /.../apk/resources/qml/.rcc/qmlcache/AusweisAppQmlModules_Governikus/Animations/AnimationLoader_qml.cpp:1016:1: error: empty expression statement has no effect; remove unnecessary ';' to silence this warning [-Werror,-Wextra-semi-stmt]
      ;
      ^
      /.../apk/resources/qml/.rcc/qmlcache/AusweisAppQmlModules_Governikus/Animations/AnimationLoader_qml.cpp:1021:1: error: empty expression statement has no effect; remove unnecessary ';' to silence this warning [-Werror,-Wextra-semi-stmt]
      ;
      ^
      /.../apk/resources/qml/.rcc/qmlcache/AusweisAppQmlModules_Governikus/Animations/AnimationLoader_qml.cpp:1159:1: error: empty expression statement has no effect; remove unnecessary ';' to silence this warning [-Werror,-Wextra-semi-stmt]
      ;
      ^
      12 errors generated.
      
      while (!aotContext->loadScopeObjectPropertyLookup(0, &r2_0)) {
      aotContext->setInstructionPointer(5);
      aotContext->initLoadScopeObjectPropertyLookup(0, QMetaType::fromType<int>());
      if (aotContext->engine->hasError())
          return static_cast<QQmlComponent *>(nullptr);
      }
      // generate_StoreReg
      r7_0 = std::move(r2_0);
      // generate_GetLookup
      r2_0 = 1;
      // generate_CmpStrictEqual
      r2_1 = r7_0 == std::move(r2_0);
      // generate_JumpTrue
      if (r2_1) {
          goto label_0;
      }
      ;
      // generate_GetLookup
      r2_0 = 2;
      // generate_CmpStrictEqual
      r2_1 = r7_0 == std::move(r2_0);
      // generate_JumpTrue
      if (r2_1) {
          goto label_1;
      }
      ;
      

      Maybe it would be helpful to have a work-around like for QTBUG-82978 to disable certain compiler flags for Qt generated files like moc files. But I do not see a general solution for this.

      set_source_files_properties("${_name}_autogen/mocs_compilation.cpp" PROPERTIES COMPILE_OPTIONS "-Wno-extra-semi-stmt")
      

      Attachments

        Issue Links

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

          Activity

            People

              ulherman Ulf Hermann
              misery André Klitzing
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes