From 84a68fcdd282689f36cd574431687b5913b5f495 Mon Sep 17 00:00:00 2001 From: firewave Date: Wed, 2 Apr 2025 21:10:32 +0200 Subject: [PATCH] fixed #13853 - updated Qt to 6.9.0 --- .github/workflows/CI-windows.yml | 2 +- .github/workflows/asan.yml | 6 +++--- .github/workflows/clang-tidy.yml | 2 +- .github/workflows/iwyu.yml | 4 ++-- .github/workflows/release-windows.yml | 2 +- .github/workflows/selfcheck.yml | 10 +++++----- .github/workflows/tsan.yml | 6 +++--- .github/workflows/ubsan.yml | 6 +++--- gui/CMakeLists.txt | 4 ++++ gui/test/cppchecklibrarydata/CMakeLists.txt | 4 ++++ gui/test/filelist/CMakeLists.txt | 4 ++++ gui/test/projectfile/CMakeLists.txt | 4 ++++ gui/test/resultstree/CMakeLists.txt | 4 ++++ gui/test/translationhandler/CMakeLists.txt | 4 ++++ gui/test/xmlreportv2/CMakeLists.txt | 4 ++++ releasenotes.txt | 2 +- tools/triage/CMakeLists.txt | 4 ++++ 17 files changed, 52 insertions(+), 20 deletions(-) diff --git a/.github/workflows/CI-windows.yml b/.github/workflows/CI-windows.yml index ffe1333934a..e07cedbc9f3 100644 --- a/.github/workflows/CI-windows.yml +++ b/.github/workflows/CI-windows.yml @@ -27,7 +27,7 @@ jobs: strategy: matrix: os: [windows-2022, windows-2025] - qt_ver: [5.15.2, 6.8.2] + qt_ver: [5.15.2, 6.9.0] fail-fast: false runs-on: ${{ matrix.os }} diff --git a/.github/workflows/asan.yml b/.github/workflows/asan.yml index 53cd49000c5..3e8fc4053f1 100644 --- a/.github/workflows/asan.yml +++ b/.github/workflows/asan.yml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-22.04 env: - QT_VERSION: 6.8.2 + QT_VERSION: 6.9.0 ASAN_OPTIONS: detect_stack_use_after_return=1 # TODO: figure out why there are cache misses with PCH enabled CCACHE_SLOPPINESS: pch_defines,time_macros @@ -147,7 +147,7 @@ jobs: ./cmake.output/bin/cppcheck $selfcheck_options externals || ec=1 ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options --addon=naming.json cli || ec=1 ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options --addon=naming.json --enable=internal lib || ec=1 - ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt --addon=naming.json -Icmake.output/gui -Igui gui/*.cpp cmake.output/gui/*.cpp || ec=1 + ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=69 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt --addon=naming.json -Icmake.output/gui -Igui gui/*.cpp cmake.output/gui/*.cpp || ec=1 ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -Icli test/*.cpp tools/dmake/*.cpp || ec=1 - ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt -Icmake.output/tools/triage -Igui tools/triage/*.cpp cmake.output/tools/triage/*.cpp || ec=1 + ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -DQ_MOC_OUTPUT_REVISION=69 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt -Icmake.output/tools/triage -Igui tools/triage/*.cpp cmake.output/tools/triage/*.cpp || ec=1 exit $ec diff --git a/.github/workflows/clang-tidy.yml b/.github/workflows/clang-tidy.yml index 459ac498736..9f854cbad6f 100644 --- a/.github/workflows/clang-tidy.yml +++ b/.github/workflows/clang-tidy.yml @@ -24,7 +24,7 @@ jobs: runs-on: ubuntu-22.04 env: - QT_VERSION: 6.8.2 + QT_VERSION: 6.9.0 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index 02dd115b7f5..ae084c446f8 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -36,7 +36,7 @@ jobs: image: ${{ matrix.image }} env: - QT_VERSION: 6.8.2 + QT_VERSION: 6.9.0 steps: - uses: actions/checkout@v4 @@ -184,7 +184,7 @@ jobs: if: ${{ github.repository_owner == 'danmar' }} env: - QT_VERSION: 6.8.2 + QT_VERSION: 6.9.0 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/release-windows.yml b/.github/workflows/release-windows.yml index 640e7123107..5edbc8d6b67 100644 --- a/.github/workflows/release-windows.yml +++ b/.github/workflows/release-windows.yml @@ -27,7 +27,7 @@ jobs: env: # see https://www.pcre.org/original/changelog.txt PCRE_VERSION: 8.45 - QT_VERSION: 6.8.2 + QT_VERSION: 6.9.0 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/selfcheck.yml b/.github/workflows/selfcheck.yml index fe0f9c18b0c..8e0c3859522 100644 --- a/.github/workflows/selfcheck.yml +++ b/.github/workflows/selfcheck.yml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-22.04 env: - QT_VERSION: 6.8.2 + QT_VERSION: 6.9.0 steps: - uses: actions/checkout@v4 @@ -80,7 +80,7 @@ jobs: - name: Self check (unusedFunction) if: false # TODO: fails with preprocessorErrorDirective - see #10667 run: | - ./cppcheck -q --template=selfcheck --error-exitcode=1 --library=cppcheck-lib --library=qt -D__CPPCHECK__ -D__GNUC__ -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --enable=unusedFunction --exception-handling -rp=. --project=cmake.output/compile_commands.json --suppressions-list=.selfcheck_unused_suppressions --inline-suppr + ./cppcheck -q --template=selfcheck --error-exitcode=1 --library=cppcheck-lib --library=qt -D__CPPCHECK__ -D__GNUC__ -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=69 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --enable=unusedFunction --exception-handling -rp=. --project=cmake.output/compile_commands.json --suppressions-list=.selfcheck_unused_suppressions --inline-suppr env: DISABLE_VALUEFLOW: 1 UNUSEDFUNCTION_ONLY: 1 @@ -105,7 +105,7 @@ jobs: # TODO: find a way to report unmatched suppressions without need to add information checks - name: Self check (unusedFunction / no test) run: | - ./cppcheck -q --template=selfcheck --error-exitcode=1 --library=cppcheck-lib --library=qt -D__CPPCHECK__ -D__GNUC__ -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --enable=unusedFunction --exception-handling -rp=. --project=cmake.output.notest/compile_commands.json --suppressions-list=.selfcheck_unused_suppressions --inline-suppr + ./cppcheck -q --template=selfcheck --error-exitcode=1 --library=cppcheck-lib --library=qt -D__CPPCHECK__ -D__GNUC__ -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=69 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --enable=unusedFunction --exception-handling -rp=. --project=cmake.output.notest/compile_commands.json --suppressions-list=.selfcheck_unused_suppressions --inline-suppr env: DISABLE_VALUEFLOW: 1 UNUSEDFUNCTION_ONLY: 1 @@ -148,7 +148,7 @@ jobs: - name: Self check (unusedFunction / no test / no cli) if: false # TODO: the findings are currently too intrusive run: | - ./cppcheck -q --template=selfcheck --error-exitcode=1 --library=cppcheck-lib --library=qt -D__CPPCHECK__ -D__GNUC__ -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --enable=unusedFunction --exception-handling -rp=. --project=cmake.output.notest_nocli/compile_commands.json --suppressions-list=.selfcheck_unused_suppressions --inline-suppr + ./cppcheck -q --template=selfcheck --error-exitcode=1 --library=cppcheck-lib --library=qt -D__CPPCHECK__ -D__GNUC__ -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=69 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --enable=unusedFunction --exception-handling -rp=. --project=cmake.output.notest_nocli/compile_commands.json --suppressions-list=.selfcheck_unused_suppressions --inline-suppr env: DISABLE_VALUEFLOW: 1 UNUSEDFUNCTION_ONLY: 1 @@ -176,7 +176,7 @@ jobs: - name: Self check (unusedFunction / corpus / no test / callgrind) run: | # TODO: fix -rp so the suppressions actually work - valgrind --tool=callgrind ./cppcheck --template=selfcheck --error-exitcode=0 --library=cppcheck-lib --library=qt -D__GNUC__ -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --enable=unusedFunction --exception-handling -rp=. --project=cmake.output.corpus/compile_commands.json --suppressions-list=.selfcheck_unused_suppressions --inline-suppr 2>callgrind.log || (cat callgrind.log && false) + valgrind --tool=callgrind ./cppcheck --template=selfcheck --error-exitcode=0 --library=cppcheck-lib --library=qt -D__GNUC__ -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=69 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --enable=unusedFunction --exception-handling -rp=. --project=cmake.output.corpus/compile_commands.json --suppressions-list=.selfcheck_unused_suppressions --inline-suppr 2>callgrind.log || (cat callgrind.log && false) cat callgrind.log callgrind_annotate --auto=no > callgrind.annotated.log head -50 callgrind.annotated.log diff --git a/.github/workflows/tsan.yml b/.github/workflows/tsan.yml index 2134dbb7b6c..2f6b1ef38e0 100644 --- a/.github/workflows/tsan.yml +++ b/.github/workflows/tsan.yml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-22.04 env: - QT_VERSION: 6.8.2 + QT_VERSION: 6.9.0 TSAN_OPTIONS: halt_on_error=1 # TODO: figure out why there are cache misses with PCH enabled CCACHE_SLOPPINESS: pch_defines,time_macros @@ -150,7 +150,7 @@ jobs: ./cmake.output/bin/cppcheck $selfcheck_options externals || ec=1 ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options --addon=naming.json cli || ec=1 ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options --addon=naming.json --enable=internal lib || ec=1 - ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt --addon=naming.json -Icmake.output/gui -Igui gui/*.cpp cmake.output/gui/*.cpp || ec=1 + ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=69 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt --addon=naming.json -Icmake.output/gui -Igui gui/*.cpp cmake.output/gui/*.cpp || ec=1 ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -Icli test/*.cpp tools/dmake/*.cpp || ec=1 - ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt -Icmake.output/tools/triage -Igui tools/triage/*.cpp cmake.output/tools/triage/*.cpp || ec=1 + ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -DQ_MOC_OUTPUT_REVISION=69 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt -Icmake.output/tools/triage -Igui tools/triage/*.cpp cmake.output/tools/triage/*.cpp || ec=1 exit $ec diff --git a/.github/workflows/ubsan.yml b/.github/workflows/ubsan.yml index b50601e6b58..5720cbf35d5 100644 --- a/.github/workflows/ubsan.yml +++ b/.github/workflows/ubsan.yml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-22.04 env: - QT_VERSION: 6.8.2 + QT_VERSION: 6.9.0 UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1:report_error_type=1 # TODO: figure out why there are cache misses with PCH enabled CCACHE_SLOPPINESS: pch_defines,time_macros @@ -144,7 +144,7 @@ jobs: ./cmake.output/bin/cppcheck $selfcheck_options externals || ec=1 ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options --addon=naming.json cli || ec=1 ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options --addon=naming.json --enable=internal lib || ec=1 - ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt --addon=naming.json -Icmake.output/gui -Igui gui/*.cpp cmake.output/gui/*.cpp || ec=1 + ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=69 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt --addon=naming.json -Icmake.output/gui -Igui gui/*.cpp cmake.output/gui/*.cpp || ec=1 ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -Icli test/*.cpp tools/dmake/*.cpp || ec=1 - ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt -Icmake.output/tools/triage -Igui tools/triage/*.cpp cmake.output/tools/triage/*.cpp || ec=1 + ./cmake.output/bin/cppcheck $selfcheck_options $cppcheck_options -DQ_MOC_OUTPUT_REVISION=69 -DQT_CHARTS_LIB -DQT_MOC_HAS_STRINGDATA --library=qt -Icmake.output/tools/triage -Igui tools/triage/*.cpp cmake.output/tools/triage/*.cpp || ec=1 exit $ec diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt index d684ef4b7c2..21375fbd784 100644 --- a/gui/CMakeLists.txt +++ b/gui/CMakeLists.txt @@ -75,6 +75,10 @@ CheckOptions: # caused by Qt generated moc code - see https://bugreports.qt.io/browse/QTBUG-100915 target_compile_options_safe(cppcheck-gui -Wno-redundant-parens) endif() + if(QT_VERSION VERSION_EQUAL "6.9.0") + # caused by Qt generated moc code in 6.9.0 - see https://bugreports.qt.io/browse/QTBUG-135638 + target_compile_options_safe(cppcheck-gui -Wno-ctad-maybe-unsupported) + endif() endif() if(QT_VERSION VERSION_GREATER_EQUAL "6.9.1") # QBrush fails to compile before 6.9.0 - see https://bugreports.qt.io/browse/QTBUG-134038 diff --git a/gui/test/cppchecklibrarydata/CMakeLists.txt b/gui/test/cppchecklibrarydata/CMakeLists.txt index c5ac6e4c9c8..8a508c45ba0 100644 --- a/gui/test/cppchecklibrarydata/CMakeLists.txt +++ b/gui/test/cppchecklibrarydata/CMakeLists.txt @@ -17,6 +17,10 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") # Q_UNUSED() in generated code - see https://bugreports.qt.io/browse/QTBUG-82978 target_compile_options_safe(test-cppchecklibrarydata -Wno-extra-semi-stmt) endif() + if(QT_VERSION VERSION_EQUAL "6.9.0") + # caused by Qt generated moc code in 6.9.0 - see https://bugreports.qt.io/browse/QTBUG-135638 + target_compile_options_safe(test-cppchecklibrarydata -Wno-ctad-maybe-unsupported) + endif() endif() if (REGISTER_GUI_TESTS) diff --git a/gui/test/filelist/CMakeLists.txt b/gui/test/filelist/CMakeLists.txt index 8c94cfda2e3..8710fd949bb 100644 --- a/gui/test/filelist/CMakeLists.txt +++ b/gui/test/filelist/CMakeLists.txt @@ -20,6 +20,10 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") # Q_UNUSED() in generated code - see https://bugreports.qt.io/browse/QTBUG-82978 target_compile_options_safe(test-filelist -Wno-extra-semi-stmt) endif() + if(QT_VERSION VERSION_EQUAL "6.9.0") + # caused by Qt generated moc code in 6.9.0 - see https://bugreports.qt.io/browse/QTBUG-135638 + target_compile_options_safe(test-filelist -Wno-ctad-maybe-unsupported) + endif() endif() if (REGISTER_GUI_TESTS) diff --git a/gui/test/projectfile/CMakeLists.txt b/gui/test/projectfile/CMakeLists.txt index e039d9dd916..95609df4483 100644 --- a/gui/test/projectfile/CMakeLists.txt +++ b/gui/test/projectfile/CMakeLists.txt @@ -15,6 +15,10 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") # Q_UNUSED() in generated code - see https://bugreports.qt.io/browse/QTBUG-82978 target_compile_options_safe(test-projectfile -Wno-extra-semi-stmt) endif() + if(QT_VERSION VERSION_EQUAL "6.9.0") + # caused by Qt generated moc code in 6.9.0 - see https://bugreports.qt.io/browse/QTBUG-135638 + target_compile_options_safe(test-projectfile -Wno-ctad-maybe-unsupported) + endif() endif() if (REGISTER_GUI_TESTS) diff --git a/gui/test/resultstree/CMakeLists.txt b/gui/test/resultstree/CMakeLists.txt index 4b1e9d28aac..5348f460af7 100644 --- a/gui/test/resultstree/CMakeLists.txt +++ b/gui/test/resultstree/CMakeLists.txt @@ -43,6 +43,10 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") # Q_UNUSED() in generated code - see https://bugreports.qt.io/browse/QTBUG-82978 target_compile_options_safe(test-resultstree -Wno-extra-semi-stmt) endif() + if(QT_VERSION VERSION_EQUAL "6.9.0") + # caused by Qt generated moc code in 6.9.0 - see https://bugreports.qt.io/browse/QTBUG-135638 + target_compile_options_safe(test-resultstree -Wno-ctad-maybe-unsupported) + endif() # caused by mocks target_compile_options_safe(test-resultstree -Wno-missing-noreturn) endif() diff --git a/gui/test/translationhandler/CMakeLists.txt b/gui/test/translationhandler/CMakeLists.txt index 9bdafe8096e..03e53b2eb50 100644 --- a/gui/test/translationhandler/CMakeLists.txt +++ b/gui/test/translationhandler/CMakeLists.txt @@ -15,6 +15,10 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") # Q_UNUSED() in generated code - see https://bugreports.qt.io/browse/QTBUG-82978 target_compile_options_safe(test-translationhandler -Wno-extra-semi-stmt) endif() + if(QT_VERSION VERSION_EQUAL "6.9.0") + # caused by Qt generated moc code in 6.9.0 - see https://bugreports.qt.io/browse/QTBUG-135638 + target_compile_options_safe(test-translationhandler -Wno-ctad-maybe-unsupported) + endif() endif() if (REGISTER_GUI_TESTS) diff --git a/gui/test/xmlreportv2/CMakeLists.txt b/gui/test/xmlreportv2/CMakeLists.txt index 2405b0ff59e..905377f5764 100644 --- a/gui/test/xmlreportv2/CMakeLists.txt +++ b/gui/test/xmlreportv2/CMakeLists.txt @@ -33,6 +33,10 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") # Q_UNUSED() in generated code - see https://bugreports.qt.io/browse/QTBUG-82978 target_compile_options_safe(test-xmlreportv2 -Wno-extra-semi-stmt) endif() + if(QT_VERSION VERSION_EQUAL "6.9.0") + # caused by Qt generated moc code in 6.9.0 - see https://bugreports.qt.io/browse/QTBUG-135638 + target_compile_options_safe(test-xmlreportv2 -Wno-ctad-maybe-unsupported) + endif() endif() if (REGISTER_GUI_TESTS) diff --git a/releasenotes.txt b/releasenotes.txt index 97e15bfa662..28ed742ea86 100644 --- a/releasenotes.txt +++ b/releasenotes.txt @@ -17,7 +17,7 @@ Deprecations: - Other: -- Updated Qt to 6.8.2 (official Windows release only). +- Updated Qt to 6.9.0 (official Windows release only). - added CMake target `run-clang-tidy-csa` to run Clang Static Analyzer - added CMake option `ENABLE_CSA_ALPHA` to enable the Clang Static Analyzer alpha checkers - Updated TinyXML-2 to v11.0.0 diff --git a/tools/triage/CMakeLists.txt b/tools/triage/CMakeLists.txt index f03ec43888d..7fe6e403b42 100644 --- a/tools/triage/CMakeLists.txt +++ b/tools/triage/CMakeLists.txt @@ -39,6 +39,10 @@ CheckOptions: # QBrush fails to compile before 6.9.0 - see https://bugreports.qt.io/browse/QTBUG-134038 target_compile_definitions(triage PRIVATE -DQT_NO_QPAIR) endif() + if(QT_VERSION VERSION_EQUAL "6.9.0") + # caused by Qt generated moc code in 6.9.0 - see https://bugreports.qt.io/browse/QTBUG-135638 + target_compile_options_safe(triage -Wno-ctad-maybe-unsupported) + endif() target_compile_definitions(triage PRIVATE -DQT_NO_FOREACH) target_compile_definitions(triage PRIVATE $<$>:QT_NO_DEBUG>)