diff --git a/.clang-tidy b/.clang-tidy index 68d0a8f9de..b70dcc03d7 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -2,6 +2,7 @@ Checks: "-*,\ bugprone-*,\ -bugprone-assignment-in-if-condition,\ +-bugprone-crtp-constructor-accessibility,\ -bugprone-easily-swappable-parameters,\ -bugprone-empty-catch,\ -bugprone-implicit-widening-of-multiplication-result,\ @@ -9,19 +10,23 @@ bugprone-*,\ -bugprone-macro-parentheses,\ -bugprone-multi-level-implicit-pointer-conversion,\ -bugprone-narrowing-conversions,\ +-bugprone-return-const-ref-from-parameter,\ +-bugprone-suspicious-stringview-data-usage,\ -bugprone-switch-missing-default-case,\ -bugprone-too-small-loop-variable,\ -bugprone-unchecked-optional-access,\ -bugprone-unused-local-non-trivial-variable,\ -bugprone-unused-return-value,\ +-bugprone-use-after-move,\ misc-*,\ -misc-confusable-identifiers,\ -misc-const-correctness,\ -misc-include-cleaner,\ --misc-no-recursion,\ -misc-non-private-member-variables-in-classes,\ +-misc-no-recursion,\ -misc-static-assert,\ -misc-use-anonymous-namespace,\ +-misc-use-internal-linkage,\ modernize-*,\ -modernize-avoid-c-arrays,\ -modernize-macro-to-enum,\ @@ -35,10 +40,13 @@ modernize-*,\ performance-*,\ -performance-avoid-endl,\ -performance-enum-size,\ +-performance-unnecessary-copy-initialization,\ +-performance-unnecessary-value-param,\ readability-*,\ -readability-avoid-nested-conditional-operator,\ -readability-avoid-unconditional-preprocessor-if,\ -readability-convert-member-functions-to-static,\ +-readability-enum-initial-value,\ -readability-function-cognitive-complexity,\ -readability-function-size,\ -readability-identifier-length,\ @@ -47,11 +55,13 @@ readability-*,\ -readability-inconsistent-declaration-parameter-name,\ -readability-magic-numbers,\ -readability-make-member-function-const,\ +-readability-math-missing-parentheses,\ -readability-named-parameter,\ -readability-simplify-boolean-expr,\ -readability-static-accessed-through-instance,\ -readability-suspicious-call-argument,\ -readability-uppercase-literal-suffix,\ +-readability-use-std-min-max,\ cmake-*,\ -cmake-ostringstream-use-cmstrcat,\ -cmake-string-concatenation-use-cmstrcat,\ diff --git a/.codespellrc b/.codespellrc index 00c6c521a8..c227872db1 100644 --- a/.codespellrc +++ b/.codespellrc @@ -5,4 +5,4 @@ check-hidden = quiet-level = 2 builtin = clear,rare,en-GB_to_en-US skip = */.git,*/build,*/Copyright.txt,*/CTestCustom.cmake.in,*/doxygen.config,*/Modules/Internal/CPack/NSIS.template.in,*/Source/CursesDialog/form/*,*/Source/kwsys/*,*/Tests/RunCMake/CPack/tests/DMG_SLA/German.*,*/Tests/RunCMake/ParseImplicitData/*.input,*/Tests/StringFileTest/test.utf8,*.pfx,*/Utilities/cm* -ignore-words-list = aci,ags,ake,ans,ba,ccompiler,cconfiguration,certi,conly,dependees,dne,dum,earch,ect,filetest,fo,helpfull,hiden,isnt,keypair,nd,ned,nin,nknown,ot,pard,seh,ser,te,upto,varn,vas,wee +ignore-words-list = aci,ags,ake,ans,ba,ccompiler,cconfiguration,certi,conly,copyin,dependees,dne,dum,earch,ect,filetest,fo,helpfull,hiden,isnt,keypair,nd,ned,nin,nknown,ot,pard,sectionin,seh,ser,te,upto,varn,vas,wee diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 43bb7ccf97..ba7084bf07 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -59,7 +59,7 @@ p:source-package: p:doc-package: extends: - - .fedora40_sphinx_package + - .fedora41_sphinx_package - .cmake_prep_doc_linux - .linux_x86_64_tags - .cmake_doc_artifacts @@ -108,18 +108,18 @@ l:iwyu-debian12: - .cmake_cdash_artifacts - .run_automatically -l:tidy-fedora40: +l:tidy-fedora41: extends: - - .fedora40_tidy + - .fedora41_tidy - .cmake_build_linux - .cmake_tidy_artifacts - .linux_x86_64_tags - .cmake_cdash_artifacts - .run_automatically -l:sphinx-fedora40: +l:sphinx-fedora41: extends: - - .fedora40_sphinx + - .fedora41_sphinx - .cmake_build_linux - .cmake_sphinx_artifacts - .linux_x86_64_tags @@ -128,9 +128,9 @@ l:sphinx-fedora40: CMAKE_CI_JOB_CONTINUOUS: "true" CMAKE_CI_JOB_HELP: "true" -l:clang-analyzer-fedora40: +l:clang-analyzer-fedora41: extends: - - .fedora40_clang_analyzer + - .fedora41_clang_analyzer - .cmake_build_linux - .linux_x86_64_tags - .run_automatically @@ -234,9 +234,9 @@ t:fedora39-hip-radeon: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora40-makefiles-lfortran: +t:fedora41-makefiles-lfortran: extends: - - .fedora40_makefiles_lfortran + - .fedora41_makefiles_lfortran - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent @@ -244,9 +244,9 @@ t:fedora40-makefiles-lfortran: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora40-ninja-lfortran: +t:fedora41-ninja-lfortran: extends: - - .fedora40_ninja_lfortran + - .fedora41_ninja_lfortran - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent @@ -254,9 +254,9 @@ t:fedora40-ninja-lfortran: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora40-ninja-clang: +t:fedora41-ninja-clang: extends: - - .fedora40_ninja_clang + - .fedora41_ninja_clang - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent @@ -264,9 +264,9 @@ t:fedora40-ninja-clang: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora40-ninja-multi-clang: +t:fedora41-ninja-multi-clang: extends: - - .fedora40_ninja_multi_clang + - .fedora41_ninja_multi_clang - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent @@ -274,9 +274,9 @@ t:fedora40-ninja-multi-clang: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora40-makefiles-clang: +t:fedora41-makefiles-clang: extends: - - .fedora40_makefiles_clang + - .fedora41_makefiles_clang - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent @@ -284,25 +284,25 @@ t:fedora40-makefiles-clang: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora40-makefiles: +t:fedora41-makefiles: extends: - - .fedora40_makefiles + - .fedora41_makefiles - .cmake_test_linux_release - - .linux_x86_64_tags + - .linux_x86_64_v3_tags - .run_dependent - .needs_centos7_x86_64 -t:fedora40-makefiles-nospace: +t:fedora41-makefiles-nospace: extends: - - .fedora40_makefiles + - .fedora41_makefiles - .cmake_test_linux_release - - .linux_x86_64_tags + - .linux_x86_64_v3_tags - .cmake_junit_artifacts - .run_dependent - .needs_centos7_x86_64 variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake-ci" - CMAKE_CI_BUILD_NAME: fedora40_makefiles_nospace + CMAKE_CI_BUILD_NAME: fedora41_makefiles_nospace CMAKE_CI_JOB_NIGHTLY: "true" t:nvhpc22.11-ninja: @@ -448,9 +448,9 @@ t:debian10-legacy: variables: CMAKE_CI_JOB_NIGHTLY: "true" -b:fedora40-ninja: +b:fedora41-ninja: extends: - - .fedora40_ninja + - .fedora41_ninja - .cmake_build_linux - .cmake_build_artifacts - .linux_x86_64_tags @@ -458,9 +458,9 @@ b:fedora40-ninja: variables: CMAKE_CI_JOB_CONTINUOUS: "true" -b:fedora40-makefiles-symlinked: +b:fedora41-makefiles-symlinked: extends: - - .fedora40_makefiles_symlinked + - .fedora41_makefiles_symlinked - .cmake_build_linux - .cmake_build_artifacts - .linux_x86_64_tags @@ -495,54 +495,54 @@ b:debian12-aarch64-extdeps: variables: CMAKE_CI_JOB_NIGHTLY: "true" -b:fedora40-extdeps: +b:fedora41-extdeps: extends: - - .fedora40_extdeps + - .fedora41_extdeps - .cmake_build_linux_standalone - .linux_x86_64_tags - .run_manually variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora40-ninja: +t:fedora41-ninja: extends: - - .fedora40_ninja + - .fedora41_ninja - .cmake_test_linux - .linux_x86_64_tags_x11 - .cmake_test_artifacts - .run_dependent dependencies: - - b:fedora40-ninja + - b:fedora41-ninja needs: - - b:fedora40-ninja + - b:fedora41-ninja variables: CMAKE_CI_JOB_CONTINUOUS: "true" -t:fedora40-makefiles-symlinked: +t:fedora41-makefiles-symlinked: extends: - - .fedora40_makefiles_symlinked + - .fedora41_makefiles_symlinked - .cmake_test_linux - .linux_x86_64_tags_x11 - .cmake_test_artifacts - .run_dependent dependencies: - - b:fedora40-makefiles-symlinked + - b:fedora41-makefiles-symlinked needs: - - b:fedora40-makefiles-symlinked + - b:fedora41-makefiles-symlinked variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora40-ninja-multi: +t:fedora41-ninja-multi: extends: - - .fedora40_ninja_multi + - .fedora41_ninja_multi - .cmake_test_linux_external - .linux_x86_64_tags - .cmake_junit_artifacts - .run_dependent dependencies: - - t:fedora40-ninja + - t:fedora41-ninja needs: - - t:fedora40-ninja + - t:fedora41-ninja t:intel2016u2-makefiles: extends: @@ -804,9 +804,9 @@ u:linux-aarch64-package: ## Sanitizer builds -b:fedora40-asan: +b:fedora41-asan: extends: - - .fedora40_asan + - .fedora41_asan - .cmake_build_linux - .cmake_build_artifacts - .linux_x86_64_tags @@ -814,16 +814,16 @@ b:fedora40-asan: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora40-asan: +t:fedora41-asan: extends: - - .fedora40_asan + - .fedora41_asan - .cmake_memcheck_linux - .linux_x86_64_tags - .run_dependent dependencies: - - b:fedora40-asan + - b:fedora41-asan needs: - - b:fedora40-asan + - b:fedora41-asan variables: CMAKE_CI_JOB_NIGHTLY: "true" diff --git a/.gitlab/ci/configure_fedora40_clang_analyzer.cmake b/.gitlab/ci/configure_fedora40_clang_analyzer.cmake deleted file mode 100644 index c21012680a..0000000000 --- a/.gitlab/ci/configure_fedora40_clang_analyzer.cmake +++ /dev/null @@ -1,3 +0,0 @@ -set(configure_no_sccache 1) - -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common.cmake") diff --git a/.gitlab/ci/configure_fedora40_makefiles_lfortran.cmake b/.gitlab/ci/configure_fedora40_makefiles_lfortran.cmake deleted file mode 100644 index d626d4ddc0..0000000000 --- a/.gitlab/ci/configure_fedora40_makefiles_lfortran.cmake +++ /dev/null @@ -1 +0,0 @@ -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common_lfortran.cmake") diff --git a/.gitlab/ci/configure_fedora40_ninja_lfortran.cmake b/.gitlab/ci/configure_fedora40_ninja_lfortran.cmake deleted file mode 100644 index d626d4ddc0..0000000000 --- a/.gitlab/ci/configure_fedora40_ninja_lfortran.cmake +++ /dev/null @@ -1 +0,0 @@ -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common_lfortran.cmake") diff --git a/.gitlab/ci/configure_fedora40_asan.cmake b/.gitlab/ci/configure_fedora41_asan.cmake similarity index 65% rename from .gitlab/ci/configure_fedora40_asan.cmake rename to .gitlab/ci/configure_fedora41_asan.cmake index ccdba4e2b5..df9f46d3cb 100644 --- a/.gitlab/ci/configure_fedora40_asan.cmake +++ b/.gitlab/ci/configure_fedora41_asan.cmake @@ -1,4 +1,4 @@ set(CMAKE_C_FLAGS "-fsanitize=address" CACHE STRING "") set(CMAKE_CXX_FLAGS "-fsanitize=address" CACHE STRING "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora41_common.cmake") diff --git a/.gitlab/ci/configure_fedora41_clang_analyzer.cmake b/.gitlab/ci/configure_fedora41_clang_analyzer.cmake new file mode 100644 index 0000000000..cdeaab43a1 --- /dev/null +++ b/.gitlab/ci/configure_fedora41_clang_analyzer.cmake @@ -0,0 +1,3 @@ +set(configure_no_sccache 1) + +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora41_common.cmake") diff --git a/.gitlab/ci/configure_fedora40_common.cmake b/.gitlab/ci/configure_fedora41_common.cmake similarity index 100% rename from .gitlab/ci/configure_fedora40_common.cmake rename to .gitlab/ci/configure_fedora41_common.cmake diff --git a/.gitlab/ci/configure_fedora40_common_clang.cmake b/.gitlab/ci/configure_fedora41_common_clang.cmake similarity index 87% rename from .gitlab/ci/configure_fedora40_common_clang.cmake rename to .gitlab/ci/configure_fedora41_common_clang.cmake index a4ae3f3f30..c115dc613a 100644 --- a/.gitlab/ci/configure_fedora40_common_clang.cmake +++ b/.gitlab/ci/configure_fedora41_common_clang.cmake @@ -11,7 +11,7 @@ set(CMake_TEST_FindOpenACC_CXX "ON" CACHE BOOL "") set(CMake_TEST_FindOpenACC_Fortran "OFF" CACHE BOOL "") # flang-new fails producing LLVM IR set(CMake_TEST_FindOpenMP_C "ON" CACHE BOOL "") set(CMake_TEST_FindOpenMP_CXX "ON" CACHE BOOL "") -set(CMake_TEST_FindOpenMP_Fortran "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenMP_Fortran "OFF" CACHE BOOL "") # https://bugzilla.redhat.com/show_bug.cgi?id=2321571 set(CMake_TEST_FindOpenMP "ON" CACHE BOOL "") include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/ci/configure_fedora40_common_lfortran.cmake b/.gitlab/ci/configure_fedora41_common_lfortran.cmake similarity index 100% rename from .gitlab/ci/configure_fedora40_common_lfortran.cmake rename to .gitlab/ci/configure_fedora41_common_lfortran.cmake diff --git a/.gitlab/ci/configure_fedora40_extdeps.cmake b/.gitlab/ci/configure_fedora41_extdeps.cmake similarity index 100% rename from .gitlab/ci/configure_fedora40_extdeps.cmake rename to .gitlab/ci/configure_fedora41_extdeps.cmake diff --git a/.gitlab/ci/configure_fedora40_makefiles.cmake b/.gitlab/ci/configure_fedora41_makefiles.cmake similarity index 98% rename from .gitlab/ci/configure_fedora40_makefiles.cmake rename to .gitlab/ci/configure_fedora41_makefiles.cmake index 30153cbf68..de57fded34 100644 --- a/.gitlab/ci/configure_fedora40_makefiles.cmake +++ b/.gitlab/ci/configure_fedora41_makefiles.cmake @@ -83,9 +83,7 @@ set(CMake_TEST_FindPNG "ON" CACHE BOOL "") set(CMake_TEST_FindPostgreSQL "ON" CACHE BOOL "") set(CMake_TEST_FindProtobuf "ON" CACHE BOOL "") set(CMake_TEST_FindProtobuf_gRPC "ON" CACHE BOOL "") -set(CMake_TEST_FindPython2 "ON" CACHE BOOL "") set(CMake_TEST_FindPython3 "ON" CACHE BOOL "") -set(CMake_TEST_FindPython2_NumPy "ON" CACHE BOOL "") set(CMake_TEST_FindPython3_NumPy "ON" CACHE BOOL "") set(CMake_TEST_FindPython2_PyPy "ON" CACHE BOOL "") set(CMake_TEST_FindPython3_PyPy "ON" CACHE BOOL "") diff --git a/.gitlab/ci/configure_fedora40_makefiles_clang.cmake b/.gitlab/ci/configure_fedora41_makefiles_clang.cmake similarity index 68% rename from .gitlab/ci/configure_fedora40_makefiles_clang.cmake rename to .gitlab/ci/configure_fedora41_makefiles_clang.cmake index d5739c3b69..3d6614e5f5 100644 --- a/.gitlab/ci/configure_fedora40_makefiles_clang.cmake +++ b/.gitlab/ci/configure_fedora41_makefiles_clang.cmake @@ -2,4 +2,4 @@ if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "") set(CMAKE_TESTS_CDASH_SERVER "https://open.cdash.org" CACHE STRING "") endif() -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common_clang.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora41_common_clang.cmake") diff --git a/.gitlab/ci/configure_fedora41_makefiles_lfortran.cmake b/.gitlab/ci/configure_fedora41_makefiles_lfortran.cmake new file mode 100644 index 0000000000..951ce0df09 --- /dev/null +++ b/.gitlab/ci/configure_fedora41_makefiles_lfortran.cmake @@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora41_common_lfortran.cmake") diff --git a/.gitlab/ci/configure_fedora40_makefiles_symlinked.cmake b/.gitlab/ci/configure_fedora41_makefiles_symlinked.cmake similarity index 53% rename from .gitlab/ci/configure_fedora40_makefiles_symlinked.cmake rename to .gitlab/ci/configure_fedora41_makefiles_symlinked.cmake index 6a677fd136..e4434c125e 100644 --- a/.gitlab/ci/configure_fedora40_makefiles_symlinked.cmake +++ b/.gitlab/ci/configure_fedora41_makefiles_symlinked.cmake @@ -1,2 +1,2 @@ include("${CMAKE_CURRENT_LIST_DIR}/configure_symlinked_common.cmake") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora41_common.cmake") diff --git a/.gitlab/ci/configure_fedora40_ninja.cmake b/.gitlab/ci/configure_fedora41_ninja.cmake similarity index 93% rename from .gitlab/ci/configure_fedora40_ninja.cmake rename to .gitlab/ci/configure_fedora41_ninja.cmake index eea0228523..217d24aa75 100644 --- a/.gitlab/ci/configure_fedora40_ninja.cmake +++ b/.gitlab/ci/configure_fedora41_ninja.cmake @@ -15,4 +15,4 @@ set(CMAKE_CXX_FLAGS_RELEASE "-O3" CACHE STRING "") # Cover compilation with C++11 only and not higher standards. set(CMAKE_CXX_STANDARD "11" CACHE STRING "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora41_common.cmake") diff --git a/.gitlab/ci/configure_fedora40_ninja_clang.cmake b/.gitlab/ci/configure_fedora41_ninja_clang.cmake similarity index 73% rename from .gitlab/ci/configure_fedora40_ninja_clang.cmake rename to .gitlab/ci/configure_fedora41_ninja_clang.cmake index ee78d92a2a..a6e7e2aa00 100644 --- a/.gitlab/ci/configure_fedora40_ninja_clang.cmake +++ b/.gitlab/ci/configure_fedora41_ninja_clang.cmake @@ -1,3 +1,3 @@ set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,shared,bmionly,build_database" CACHE STRING "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common_clang.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora41_common_clang.cmake") diff --git a/.gitlab/ci/configure_fedora41_ninja_lfortran.cmake b/.gitlab/ci/configure_fedora41_ninja_lfortran.cmake new file mode 100644 index 0000000000..951ce0df09 --- /dev/null +++ b/.gitlab/ci/configure_fedora41_ninja_lfortran.cmake @@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora41_common_lfortran.cmake") diff --git a/.gitlab/ci/configure_fedora40_ninja_multi.cmake b/.gitlab/ci/configure_fedora41_ninja_multi.cmake similarity index 100% rename from .gitlab/ci/configure_fedora40_ninja_multi.cmake rename to .gitlab/ci/configure_fedora41_ninja_multi.cmake diff --git a/.gitlab/ci/configure_fedora40_ninja_multi_clang.cmake b/.gitlab/ci/configure_fedora41_ninja_multi_clang.cmake similarity index 73% rename from .gitlab/ci/configure_fedora40_ninja_multi_clang.cmake rename to .gitlab/ci/configure_fedora41_ninja_multi_clang.cmake index ee78d92a2a..a6e7e2aa00 100644 --- a/.gitlab/ci/configure_fedora40_ninja_multi_clang.cmake +++ b/.gitlab/ci/configure_fedora41_ninja_multi_clang.cmake @@ -1,3 +1,3 @@ set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,shared,bmionly,build_database" CACHE STRING "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common_clang.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora41_common_clang.cmake") diff --git a/.gitlab/ci/configure_fedora40_sphinx.cmake b/.gitlab/ci/configure_fedora41_sphinx.cmake similarity index 100% rename from .gitlab/ci/configure_fedora40_sphinx.cmake rename to .gitlab/ci/configure_fedora41_sphinx.cmake diff --git a/.gitlab/ci/configure_fedora40_sphinx_package.cmake b/.gitlab/ci/configure_fedora41_sphinx_package.cmake similarity index 100% rename from .gitlab/ci/configure_fedora40_sphinx_package.cmake rename to .gitlab/ci/configure_fedora41_sphinx_package.cmake diff --git a/.gitlab/ci/configure_fedora40_tidy.cmake b/.gitlab/ci/configure_fedora41_tidy.cmake similarity index 83% rename from .gitlab/ci/configure_fedora40_tidy.cmake rename to .gitlab/ci/configure_fedora41_tidy.cmake index 037732c148..40bde10c56 100644 --- a/.gitlab/ci/configure_fedora40_tidy.cmake +++ b/.gitlab/ci/configure_fedora41_tidy.cmake @@ -3,4 +3,4 @@ set(CMake_USE_CLANG_TIDY_MODULE ON CACHE BOOL "") set(CMake_CLANG_TIDY_MODULE "$ENV{CI_PROJECT_DIR}/Utilities/ClangTidyModule/build/libcmake-clang-tidy-module.so" CACHE FILEPATH "") set(CMake_CLANG_TIDY_EXPORT_FIXES_DIR "$ENV{CI_PROJECT_DIR}/.gitlab/clang-tidy-fixes" CACHE PATH "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora41_common.cmake") diff --git a/.gitlab/ci/ctest_memcheck_fedora40_asan.lsan.supp b/.gitlab/ci/ctest_memcheck_fedora41_asan.lsan.supp similarity index 100% rename from .gitlab/ci/ctest_memcheck_fedora40_asan.lsan.supp rename to .gitlab/ci/ctest_memcheck_fedora41_asan.lsan.supp diff --git a/.gitlab/ci/docker/fedora40/Dockerfile b/.gitlab/ci/docker/fedora41/Dockerfile similarity index 85% rename from .gitlab/ci/docker/fedora40/Dockerfile rename to .gitlab/ci/docker/fedora41/Dockerfile index 896456c84b..ed7daa7640 100644 --- a/.gitlab/ci/docker/fedora40/Dockerfile +++ b/.gitlab/ci/docker/fedora41/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -ARG BASE_IMAGE=fedora:40 +ARG BASE_IMAGE=fedora:41 FROM ${BASE_IMAGE} AS dnf-cache # Populate DNF cache w/ the fresh metadata and prefetch packages. @@ -23,7 +23,7 @@ LABEL maintainer="Ben Boeckel " RUN --mount=type=bind,source=install_rvm.sh,target=/root/install_rvm.sh \ --mount=type=bind,source=rvm_packages.lst,target=/root/rvm_packages.lst \ - --mount=type=cache,from=dnf-cache,source=/var/cache/dnf,target=/var/cache/dnf,sharing=private \ + --mount=type=cache,from=dnf-cache,source=/var/lib/dnf,target=/var/lib/dnf,sharing=private \ --mount=type=tmpfs,target=/var/log \ --mount=type=tmpfs,target=/tmp \ sh /root/install_rvm.sh @@ -34,7 +34,7 @@ LABEL maintainer="Kyle Edwards " RUN --mount=type=bind,source=install_iwyu.sh,target=/root/install_iwyu.sh \ --mount=type=bind,source=iwyu_packages.lst,target=/root/iwyu_packages.lst \ - --mount=type=cache,from=dnf-cache,source=/var/cache/dnf,target=/var/cache/dnf,sharing=private \ + --mount=type=cache,from=dnf-cache,source=/var/lib/dnf,target=/var/lib/dnf,sharing=private \ --mount=type=tmpfs,target=/var/log \ --mount=type=tmpfs,target=/tmp \ sh /root/install_iwyu.sh @@ -45,7 +45,7 @@ LABEL maintainer="Ben Boeckel " RUN --mount=type=bind,source=install_deps.sh,target=/root/install_deps.sh \ --mount=type=bind,source=deps_packages.lst,target=/root/deps_packages.lst \ - --mount=type=cache,from=dnf-cache,source=/var/cache/dnf,target=/var/cache/dnf,sharing=private \ + --mount=type=cache,from=dnf-cache,source=/var/lib/dnf,target=/var/lib/dnf,sharing=private \ --mount=type=cache,target=/var/cache/pip \ --mount=type=tmpfs,target=/var/log \ --mount=type=tmpfs,target=/tmp \ diff --git a/.gitlab/ci/docker/fedora40/deps_packages.lst b/.gitlab/ci/docker/fedora41/deps_packages.lst similarity index 98% rename from .gitlab/ci/docker/fedora40/deps_packages.lst rename to .gitlab/ci/docker/fedora41/deps_packages.lst index 9fc0a5c460..13bb1d111a 100644 --- a/.gitlab/ci/docker/fedora40/deps_packages.lst +++ b/.gitlab/ci/docker/fedora41/deps_packages.lst @@ -109,7 +109,6 @@ perl protobuf-devel protobuf-c-devel protobuf-lite-devel pypy2 pypy2-devel pypy3 pypy3-devel -python2 python2-devel python3 python3-devel python3-numpy python3-jsmin python3-jsonschema ruby rubygems ruby-devel diff --git a/.gitlab/ci/docker/fedora40/install_deps.sh b/.gitlab/ci/docker/fedora41/install_deps.sh similarity index 58% rename from .gitlab/ci/docker/fedora40/install_deps.sh rename to .gitlab/ci/docker/fedora41/install_deps.sh index 70e229319a..72d0a3fa5c 100755 --- a/.gitlab/ci/docker/fedora40/install_deps.sh +++ b/.gitlab/ci/docker/fedora41/install_deps.sh @@ -9,22 +9,13 @@ dnf install \ -y \ $(grep '^[^#]\+$' /root/deps_packages.lst) -# Fedora no longer packages python2 numpy. -curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o - | python2 -pip2.7 install --disable-pip-version-check --no-input --no-compile --cache-dir /var/cache/pip numpy - -# Remove demos and Python2 tests -for p in Demo test; do - rm -rf /usr/lib64/python2.7/${p} -done - # Remove tests for numpy -for v in 2.7 3.12; do +for v in 3.13; do find /usr/lib64/python${v}/site-packages/numpy -type d -a -name tests -exec rm -rf {} + done # Remove some other packages tests -find /usr/lib64/python3.12/site-packages/breezy -type d -a -name tests -exec rm -rf {} + +find /usr/lib64/python3.13/site-packages/breezy -type d -a -name tests -exec rm -rf {} + # Perforce curl -L https://www.perforce.com/downloads/perforce/r21.2/bin.linux26x86_64/helix-core-server.tgz -o - \ diff --git a/.gitlab/ci/docker/fedora40/install_iwyu.sh b/.gitlab/ci/docker/fedora41/install_iwyu.sh similarity index 89% rename from .gitlab/ci/docker/fedora40/install_iwyu.sh rename to .gitlab/ci/docker/fedora41/install_iwyu.sh index 50ed612789..6e55bbf70a 100755 --- a/.gitlab/ci/docker/fedora40/install_iwyu.sh +++ b/.gitlab/ci/docker/fedora41/install_iwyu.sh @@ -15,7 +15,9 @@ git clone "https://github.com/include-what-you-use/include-what-you-use.git" cd include-what-you-use readonly llvm_full_version="$( clang --version | head -n1 | cut -d' ' -f3 )" readonly llvm_version="$( echo "$llvm_full_version" | cut -d. -f-1 )" -git checkout "clang_$llvm_version" +#FIXME(IWYU): Create clang_19 branch. +#git checkout "clang_$llvm_version" +git checkout d2d092919f2774b5463e236e1ee9d56fb46ceb60 # 2024-10-05 git apply <GetOriginalExpression(), "\"\" is not an absolute path."); return std::string(); @@ -4478,17 +4478,17 @@ static const struct ShellPathNode : public cmGeneratorExpressionNode cmStateSnapshot snapshot = context->LG->GetStateSnapshot(); cmOutputConverter converter(snapshot); const char* separator = snapshot.GetState()->UseWindowsShell() ? ";" : ":"; - std::vector listOut; - listOut.reserve(listIn.size()); - for (auto const& in : listIn) { + std::vector list_out; + list_out.reserve(list_in.size()); + for (auto const& in : list_in) { if (!cmSystemTools::FileIsFullPath(in)) { reportError(context, content->GetOriginalExpression(), "\"" + in + "\" is not an absolute path."); return std::string(); } - listOut.emplace_back(converter.ConvertDirectorySeparatorsForShell(in)); + list_out.emplace_back(converter.ConvertDirectorySeparatorsForShell(in)); } - return cmJoin(listOut, separator); + return cmJoin(list_out, separator); } } shellPathNode; diff --git a/Source/cmStringAlgorithms.h b/Source/cmStringAlgorithms.h index 3d7f9b0839..2bd615a65d 100644 --- a/Source/cmStringAlgorithms.h +++ b/Source/cmStringAlgorithms.h @@ -146,7 +146,7 @@ public: { } cmAlphaNum(const char* str) - : View_(str) + : View_(str ? cm::string_view(str) : cm::string_view()) { } cmAlphaNum(char ch) diff --git a/Templates/MSBuild/FlagTables/v142_CL.json b/Templates/MSBuild/FlagTables/v142_CL.json index 1d8a70695c..0566460bb9 100644 --- a/Templates/MSBuild/FlagTables/v142_CL.json +++ b/Templates/MSBuild/FlagTables/v142_CL.json @@ -1090,7 +1090,7 @@ { "name": "GenerateModuleDependencies", "switch": "sourceDependencies:directives", - "comment": "Generate Module Dependenices File", + "comment": "Generate Module Dependencies File", "value": "true", "flags": [ "Continue" diff --git a/Templates/MSBuild/FlagTables/v143_CL.json b/Templates/MSBuild/FlagTables/v143_CL.json index 9d6e2b020e..c5f94725e1 100644 --- a/Templates/MSBuild/FlagTables/v143_CL.json +++ b/Templates/MSBuild/FlagTables/v143_CL.json @@ -1092,7 +1092,7 @@ { "name": "GenerateModuleDependencies", "switch": "sourceDependencies:directives", - "comment": "Generate Module Dependenices File", + "comment": "Generate Module Dependencies File", "value": "true", "flags": [ "Continue" diff --git a/Tests/FindBoost/TestPython/CMakeLists.txt b/Tests/FindBoost/TestPython/CMakeLists.txt index 494c9a3c62..166a411b0b 100644 --- a/Tests/FindBoost/TestPython/CMakeLists.txt +++ b/Tests/FindBoost/TestPython/CMakeLists.txt @@ -2,10 +2,10 @@ cmake_minimum_required(VERSION 3.14) project(TestFindBoostPython CXX) include(CTest) -find_package(Boost OPTIONAL_COMPONENTS python27 python34 python35 python36 python37 python38 python39 python310 python311 python312) +find_package(Boost OPTIONAL_COMPONENTS python27 python34 python35 python36 python37 python38 python39 python310 python311 python312 python313 python314) set(FAILTEST TRUE) -foreach (v IN ITEMS 27 34 35 36 37 38 39 310 311 312) +foreach (v IN ITEMS 27 34 35 36 37 38 39 310 311 312 313 314) if (Boost_PYTHON${v}_FOUND) set(FAILTEST FALSE) break() diff --git a/Tests/FortranModules/Submodules/obfuscated_parent.f90 b/Tests/FortranModules/Submodules/obfuscated_parent.f90 index f3e68be1e4..9368f16cdc 100644 --- a/Tests/FortranModules/Submodules/obfuscated_parent.f90 +++ b/Tests/FortranModules/Submodules/obfuscated_parent.f90 @@ -1,8 +1,8 @@ ! This module has two procedures from the "parent" module ! but it has different combinations 'module ' phrases -! in breaked lines for test of modules dependencies detection +! in broken lines for test of modules dependencies detection -! Module declaration on breaked line with reminder +! Module declaration on broken line with reminder module & obfuscated_parent; implicit none diff --git a/Tests/RunCMake/BuildDepends/LinkDependsCheck.cmake b/Tests/RunCMake/BuildDepends/LinkDependsCheck.cmake index 596e1eb7dc..f6d4a6c306 100644 --- a/Tests/RunCMake/BuildDepends/LinkDependsCheck.cmake +++ b/Tests/RunCMake/BuildDepends/LinkDependsCheck.cmake @@ -1,9 +1,12 @@ enable_language(C) -file(WRITE "${CMAKE_BINARY_DIR}/LinkDependsUseLinker.cmake" - "set(CMAKE_LINK_DEPENDS_USE_LINKER ${CMAKE_LINK_DEPENDS_USE_LINKER}) -set(CMAKE_C_LINK_DEPENDS_USE_LINKER ${CMAKE_C_LINK_DEPENDS_USE_LINKER})\n") +file(WRITE "${CMAKE_BINARY_DIR}/LinkDependsUseLinker.cmake" " +set(CMAKE_LINK_DEPENDS_USE_LINKER ${CMAKE_LINK_DEPENDS_USE_LINKER}) +set(CMAKE_C_LINK_DEPENDS_USE_LINKER ${CMAKE_C_LINK_DEPENDS_USE_LINKER}) +set(CMAKE_C_COMPILER_LINKER_ID ${CMAKE_C_COMPILER_LINKER_ID}) +set(CMAKE_C_COMPILER_LINKER_VERSION ${CMAKE_C_COMPILER_LINKER_VERSION}) +") file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/check-$>.cmake" diff --git a/Tests/RunCMake/BuildDepends/RunCMakeTest.cmake b/Tests/RunCMake/BuildDepends/RunCMakeTest.cmake index a585dce1cc..5176f5bb3c 100644 --- a/Tests/RunCMake/BuildDepends/RunCMakeTest.cmake +++ b/Tests/RunCMake/BuildDepends/RunCMakeTest.cmake @@ -208,7 +208,10 @@ if (RunCMake_GENERATOR MATCHES "Make|Ninja") run_BuildDepends(LinkDependsCheck) include("${RunCMake_BINARY_DIR}/LinkDependsCheck-build/LinkDependsUseLinker.cmake") if ((NOT DEFINED CMAKE_LINK_DEPENDS_USE_LINKER OR CMAKE_LINK_DEPENDS_USE_LINKER) - AND CMAKE_C_LINK_DEPENDS_USE_LINKER) + AND CMAKE_C_LINK_DEPENDS_USE_LINKER + # FIXME(#26401): GNU binutils 2.43 broke dependency-file generation. + AND NOT (CMAKE_C_COMPILER_LINKER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_LINKER_VERSION VERSION_GREATER_EQUAL "2.43") + ) run_BuildDepends(LinkDependsExternalLibrary) unset(run_BuildDepends_skip_step_2) run_BuildDepends(LinkDepends -DMAKE_SUPPORTS_SPACES=${MAKE_SUPPORTS_SPACES}) diff --git a/Tests/RunCMake/CPack/DEB/Helpers.cmake b/Tests/RunCMake/CPack/DEB/Helpers.cmake index 8904c696fe..39a316f426 100644 --- a/Tests/RunCMake/CPack/DEB/Helpers.cmake +++ b/Tests/RunCMake/CPack/DEB/Helpers.cmake @@ -101,7 +101,7 @@ function(getMissingShlibsErrorExtra FILE RESULT_VAR) string(APPEND error_extra "; readelf \"\n") # Only dynamically linked ELF files are included - # Extract only file name infront of ":" + # Extract only file name in front of ":" foreach(_FILE IN LISTS deb_install_files) if(_FILE MATCHES "ELF.*shared object") string(REGEX MATCH "(^.*):" _FILE_NAME "${_FILE}") diff --git a/Tests/RunCMake/CPack/README.txt b/Tests/RunCMake/CPack/README.txt index d403db0717..c63026e0d1 100644 --- a/Tests/RunCMake/CPack/README.txt +++ b/Tests/RunCMake/CPack/README.txt @@ -173,7 +173,7 @@ This phase is executed if '/VerifyResult.cmake' script exists. VerifyResult.cmake script also automatically prints out standard output and standard error from CPack execution phase that is compared with '/-stdout.txt' regular expression and -'/-stderr.txt' regular expresson respectively. +'/-stderr.txt' regular expression respectively. NOTE: For subtests generator name can also be suffixed with subtest name and/or packaging type (MONOLITHIC, COMPONENT, GROUP) and in such cases the preferences of which file will be used are as follows: diff --git a/Tests/RunCMake/ctest_labels_for_subprojects/CTestScriptVariableCommandLine-stderr.txt b/Tests/RunCMake/ctest_labels_for_subprojects/CTestScriptVariableCommandLine-stderr.txt index 206ab21ca6..e9327a3c6e 100644 --- a/Tests/RunCMake/ctest_labels_for_subprojects/CTestScriptVariableCommandLine-stderr.txt +++ b/Tests/RunCMake/ctest_labels_for_subprojects/CTestScriptVariableCommandLine-stderr.txt @@ -1,2 +1,2 @@ Unable to find executable:.*MyThirdPartyDependency/src(/[^/ -]+)?/thirdparty +]+)?/third_party diff --git a/Tests/RunCMake/ctest_labels_for_subprojects/MyThirdPartyDependency/src/CMakeLists.txt b/Tests/RunCMake/ctest_labels_for_subprojects/MyThirdPartyDependency/src/CMakeLists.txt index 2f57d555ad..6c86f76fb6 100644 --- a/Tests/RunCMake/ctest_labels_for_subprojects/MyThirdPartyDependency/src/CMakeLists.txt +++ b/Tests/RunCMake/ctest_labels_for_subprojects/MyThirdPartyDependency/src/CMakeLists.txt @@ -3,8 +3,8 @@ project(MyThirdPartyDependency) include(CTest) -add_executable(thirdparty thirdparty.c) -add_test(NAME thirdparty COMMAND thirdparty) +add_executable(third_party third_party.c) +add_test(NAME third_party COMMAND third_party) -set_property(TARGET thirdparty PROPERTY LABELS NotASubproject) -set_property(TEST thirdparty PROPERTY LABELS NotASubproject) +set_property(TARGET third_party PROPERTY LABELS NotASubproject) +set_property(TEST third_party PROPERTY LABELS NotASubproject) diff --git a/Tests/RunCMake/ctest_labels_for_subprojects/MyThirdPartyDependency/src/thirdparty.c b/Tests/RunCMake/ctest_labels_for_subprojects/MyThirdPartyDependency/src/third_party.c similarity index 100% rename from Tests/RunCMake/ctest_labels_for_subprojects/MyThirdPartyDependency/src/thirdparty.c rename to Tests/RunCMake/ctest_labels_for_subprojects/MyThirdPartyDependency/src/third_party.c diff --git a/Tests/RunCMake/detect_jobserver.c b/Tests/RunCMake/detect_jobserver.c index 67cc7dbfcd..04fb1f254c 100644 --- a/Tests/RunCMake/detect_jobserver.c +++ b/Tests/RunCMake/detect_jobserver.c @@ -162,6 +162,7 @@ int main(int argc, char** argv) jobserver = jobserver_auth(message); if (jobserver == NULL) { + fclose(fp); fprintf(stderr, "%s\n", message); return 1; } @@ -171,6 +172,7 @@ int main(int argc, char** argv) #else result = posix(jobserver, message); #endif + fclose(fp); free(jobserver); message[MAX_MESSAGE_LENGTH] = '\0'; diff --git a/Tests/RunCMake/pseudo_llvm-rc.c b/Tests/RunCMake/pseudo_llvm-rc.c index 65f0a9e12a..e495e8d84f 100644 --- a/Tests/RunCMake/pseudo_llvm-rc.c +++ b/Tests/RunCMake/pseudo_llvm-rc.c @@ -9,6 +9,8 @@ int main(int argc, char* argv[]) { FILE* source; FILE* target; + char buffer[500]; + size_t n; int i; for (i = 1; i < argc; ++i) { if (strcmp(argv[i], "-bad") == 0) { @@ -22,13 +24,13 @@ int main(int argc, char* argv[]) return 1; } target = fopen(argv[argc - 2], "wb"); - if (target != NULL) { - char buffer[500]; - size_t n = fread(buffer, 1, sizeof(buffer), source); - fwrite(buffer, 1, n, target); + if (target == NULL) { fclose(source); - fclose(target); - return 0; + return 1; } - return 1; + n = fread(buffer, 1, sizeof(buffer), source); + fwrite(buffer, 1, n, target); + fclose(source); + fclose(target); + return 0; } diff --git a/Utilities/Scripts/update-third-party.bash b/Utilities/Scripts/update-third-party.bash index bfe6828de9..cf76b17c9b 100644 --- a/Utilities/Scripts/update-third-party.bash +++ b/Utilities/Scripts/update-third-party.bash @@ -25,7 +25,7 @@ # ownership # A git author name/email for the commits. # subtree -# The location of the thirdparty package within the main source +# The location of the third-party package within the main source # tree. # repo # The git repository to use as upstream. diff --git a/Utilities/Sphinx/conf.py.in b/Utilities/Sphinx/conf.py.in index 09a7d5ac08..dca679441a 100644 --- a/Utilities/Sphinx/conf.py.in +++ b/Utilities/Sphinx/conf.py.in @@ -103,3 +103,5 @@ linkcheck_allowed_redirects = { r'https://openjdk\.java\.net/jeps/313': r'https://openjdk\.org:443/jeps/313', r'https://www\.sphinx-doc\.org': r'https://www\.sphinx-doc\.org/en/master/', } + +linkcheck_report_timeouts_as_broken = False