diff --git a/.clang-tidy b/.clang-tidy index 03e6a5111b..6d2edd4f72 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -5,12 +5,16 @@ bugprone-*,\ -bugprone-easily-swappable-parameters,\ -bugprone-empty-catch,\ -bugprone-implicit-widening-of-multiplication-result,\ +-bugprone-inc-dec-in-conditions,\ -bugprone-macro-parentheses,\ -bugprone-misplaced-widening-cast,\ +-bugprone-multi-level-implicit-pointer-conversion,\ -bugprone-narrowing-conversions,\ -bugprone-switch-missing-default-case,\ -bugprone-too-small-loop-variable,\ -bugprone-unchecked-optional-access,\ +-bugprone-unused-local-non-trivial-variable,\ +-bugprone-unused-return-value,\ misc-*,\ -misc-confusable-identifiers,\ -misc-const-correctness,\ @@ -31,9 +35,12 @@ modernize-*,\ -modernize-use-transparent-functors,\ performance-*,\ -performance-avoid-endl,\ +-performance-enum-size,\ -performance-inefficient-vector-operation,\ -performance-noexcept-swap,\ readability-*,\ +-readability-avoid-nested-conditional-operator,\ +-readability-avoid-return-with-void-value,\ -readability-avoid-unconditional-preprocessor-if,\ -readability-convert-member-functions-to-static,\ -readability-function-cognitive-complexity,\ @@ -45,8 +52,11 @@ readability-*,\ -readability-magic-numbers,\ -readability-make-member-function-const,\ -readability-named-parameter,\ +-readability-redundant-casting,\ -readability-redundant-declaration,\ +-readability-redundant-inline-specifier,\ -readability-redundant-member-init,\ +-readability-reference-to-constructed-temporary,\ -readability-simplify-boolean-expr,\ -readability-static-accessed-through-instance,\ -readability-suspicious-call-argument,\ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1508615594..a3d959c417 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -59,7 +59,7 @@ p:source-package: p:doc-package: extends: - - .fedora39_sphinx_package + - .fedora40_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-fedora39: +l:tidy-fedora40: extends: - - .fedora39_tidy + - .fedora40_tidy - .cmake_build_linux - .cmake_tidy_artifacts - .linux_x86_64_tags - .cmake_cdash_artifacts - .run_automatically -l:sphinx-fedora39: +l:sphinx-fedora40: extends: - - .fedora39_sphinx + - .fedora40_sphinx - .cmake_build_linux - .cmake_sphinx_artifacts - .linux_x86_64_tags @@ -128,9 +128,9 @@ l:sphinx-fedora39: CMAKE_CI_JOB_CONTINUOUS: "true" CMAKE_CI_JOB_HELP: "true" -l:clang-analyzer-fedora39: +l:clang-analyzer-fedora40: extends: - - .fedora39_clang_analyzer + - .fedora40_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:fedora39-ninja-clang: +t:fedora40-ninja-clang: extends: - - .fedora39_ninja_clang + - .fedora40_ninja_clang - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent @@ -244,9 +244,9 @@ t:fedora39-ninja-clang: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora39-ninja-multi-clang: +t:fedora40-ninja-multi-clang: extends: - - .fedora39_ninja_multi_clang + - .fedora40_ninja_multi_clang - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent @@ -254,9 +254,9 @@ t:fedora39-ninja-multi-clang: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora39-makefiles-clang: +t:fedora40-makefiles-clang: extends: - - .fedora39_makefiles_clang + - .fedora40_makefiles_clang - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent @@ -264,17 +264,17 @@ t:fedora39-makefiles-clang: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora39-makefiles: +t:fedora40-makefiles: extends: - - .fedora39_makefiles + - .fedora40_makefiles - .cmake_test_linux_release - .linux_x86_64_tags - .run_dependent - .needs_centos7_x86_64 -t:fedora39-makefiles-nospace: +t:fedora40-makefiles-nospace: extends: - - .fedora39_makefiles + - .fedora40_makefiles - .cmake_test_linux_release - .linux_x86_64_tags - .cmake_junit_artifacts @@ -282,7 +282,7 @@ t:fedora39-makefiles-nospace: - .needs_centos7_x86_64 variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake-ci" - CMAKE_CI_BUILD_NAME: fedora39_makefiles_nospace + CMAKE_CI_BUILD_NAME: fedora40_makefiles_nospace CMAKE_CI_JOB_NIGHTLY: "true" t:nvhpc22.11-ninja: @@ -406,26 +406,6 @@ t:hip5.5-radeon: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:linux-gcc-cxx-modules-ninja: - extends: - - .gcc_cxx_modules_ninja - - .cmake_test_linux_release - - .linux_x86_64_tags - - .run_dependent - - .needs_centos7_x86_64 - variables: - CMAKE_CI_JOB_NIGHTLY: "true" - -t:linux-gcc-cxx-modules-ninja-multi: - extends: - - .gcc_cxx_modules_ninja_multi - - .cmake_test_linux_release - - .linux_x86_64_tags - - .run_dependent - - .needs_centos7_x86_64 - variables: - CMAKE_CI_JOB_NIGHTLY: "true" - t:debian10-legacy: extends: - .debian10_legacy @@ -437,9 +417,9 @@ t:debian10-legacy: variables: CMAKE_CI_JOB_NIGHTLY: "true" -b:fedora39-ninja: +b:fedora40-ninja: extends: - - .fedora39_ninja + - .fedora40_ninja - .cmake_build_linux - .cmake_build_artifacts - .linux_x86_64_tags @@ -447,9 +427,9 @@ b:fedora39-ninja: variables: CMAKE_CI_JOB_CONTINUOUS: "true" -b:fedora39-makefiles-symlinked: +b:fedora40-makefiles-symlinked: extends: - - .fedora39_makefiles_symlinked + - .fedora40_makefiles_symlinked - .cmake_build_linux - .cmake_build_artifacts - .linux_x86_64_tags @@ -484,54 +464,54 @@ b:debian12-aarch64-extdeps: variables: CMAKE_CI_JOB_NIGHTLY: "true" -b:fedora39-extdeps: +b:fedora40-extdeps: extends: - - .fedora39_extdeps + - .fedora40_extdeps - .cmake_build_linux_standalone - .linux_x86_64_tags - .run_manually variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora39-ninja: +t:fedora40-ninja: extends: - - .fedora39_ninja + - .fedora40_ninja - .cmake_test_linux - .linux_x86_64_tags_x11 - .cmake_test_artifacts - .run_dependent dependencies: - - b:fedora39-ninja + - b:fedora40-ninja needs: - - b:fedora39-ninja + - b:fedora40-ninja variables: CMAKE_CI_JOB_CONTINUOUS: "true" -t:fedora39-makefiles-symlinked: +t:fedora40-makefiles-symlinked: extends: - - .fedora39_makefiles_symlinked + - .fedora40_makefiles_symlinked - .cmake_test_linux - .linux_x86_64_tags_x11 - .cmake_test_artifacts - .run_dependent dependencies: - - b:fedora39-makefiles-symlinked + - b:fedora40-makefiles-symlinked needs: - - b:fedora39-makefiles-symlinked + - b:fedora40-makefiles-symlinked variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora39-ninja-multi: +t:fedora40-ninja-multi: extends: - - .fedora39_ninja_multi + - .fedora40_ninja_multi - .cmake_test_linux_external - .linux_x86_64_tags - .cmake_junit_artifacts - .run_dependent dependencies: - - t:fedora39-ninja + - t:fedora40-ninja needs: - - t:fedora39-ninja + - t:fedora40-ninja t:intel2016u2-makefiles: extends: @@ -786,9 +766,9 @@ u:linux-aarch64-package: ## Sanitizer builds -b:fedora39-asan: +b:fedora40-asan: extends: - - .fedora39_asan + - .fedora40_asan - .cmake_build_linux - .cmake_build_artifacts - .linux_x86_64_tags @@ -796,16 +776,16 @@ b:fedora39-asan: variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora39-asan: +t:fedora40-asan: extends: - - .fedora39_asan + - .fedora40_asan - .cmake_memcheck_linux - .linux_x86_64_tags - .run_dependent dependencies: - - b:fedora39-asan + - b:fedora40-asan needs: - - b:fedora39-asan + - b:fedora40-asan variables: CMAKE_CI_JOB_NIGHTLY: "true" diff --git a/.gitlab/ci/configure_debian12_aarch64_ninja.cmake b/.gitlab/ci/configure_debian12_aarch64_ninja.cmake index 0e2c99169b..24be9751a1 100644 --- a/.gitlab/ci/configure_debian12_aarch64_ninja.cmake +++ b/.gitlab/ci/configure_debian12_aarch64_ninja.cmake @@ -64,6 +64,9 @@ set(CMake_TEST_FindMPI_Fortran "ON" CACHE BOOL "") set(CMake_TEST_FindMPI "ON" CACHE BOOL "") set(CMake_TEST_FindODBC "ON" CACHE BOOL "") set(CMake_TEST_FindOpenACC "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_C "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_CXX "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_Fortran "ON" CACHE BOOL "") set(CMake_TEST_FindOpenAL "ON" CACHE BOOL "") set(CMake_TEST_FindOpenGL "ON" CACHE BOOL "") set(CMake_TEST_FindOpenMP_C "ON" CACHE BOOL "") diff --git a/.gitlab/ci/configure_debian12_ninja_common.cmake b/.gitlab/ci/configure_debian12_ninja_common.cmake index b3a97f66ab..98ae771727 100644 --- a/.gitlab/ci/configure_debian12_ninja_common.cmake +++ b/.gitlab/ci/configure_debian12_ninja_common.cmake @@ -69,6 +69,9 @@ set(CMake_TEST_FindMPI_Fortran "ON" CACHE BOOL "") set(CMake_TEST_FindMPI "ON" CACHE BOOL "") set(CMake_TEST_FindODBC "ON" CACHE BOOL "") set(CMake_TEST_FindOpenACC "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_C "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_CXX "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_Fortran "ON" CACHE BOOL "") set(CMake_TEST_FindOpenAL "ON" CACHE BOOL "") set(CMake_TEST_FindOpenGL "ON" CACHE BOOL "") set(CMake_TEST_FindOpenMP_C "ON" CACHE BOOL "") diff --git a/.gitlab/ci/configure_fedora39_clang_analyzer.cmake b/.gitlab/ci/configure_fedora39_clang_analyzer.cmake deleted file mode 100644 index 1bfb3fb718..0000000000 --- a/.gitlab/ci/configure_fedora39_clang_analyzer.cmake +++ /dev/null @@ -1,3 +0,0 @@ -set(configure_no_sccache 1) - -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora39_common.cmake") diff --git a/.gitlab/ci/configure_fedora39_common_clang.cmake b/.gitlab/ci/configure_fedora39_common_clang.cmake deleted file mode 100644 index 1b3835affd..0000000000 --- a/.gitlab/ci/configure_fedora39_common_clang.cmake +++ /dev/null @@ -1,5 +0,0 @@ -set(CMAKE_Fortran_COMPILER "/usr/bin/flang-new" CACHE FILEPATH "") -set(CMAKE_Fortran_COMPILER_ID "LLVMFlang" CACHE STRING "") -set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 "1" CACHE BOOL "") - -include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/ci/configure_fedora39_asan.cmake b/.gitlab/ci/configure_fedora40_asan.cmake similarity index 65% rename from .gitlab/ci/configure_fedora39_asan.cmake rename to .gitlab/ci/configure_fedora40_asan.cmake index 872517c197..ccdba4e2b5 100644 --- a/.gitlab/ci/configure_fedora39_asan.cmake +++ b/.gitlab/ci/configure_fedora40_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_fedora39_common.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common.cmake") diff --git a/.gitlab/ci/configure_fedora40_clang_analyzer.cmake b/.gitlab/ci/configure_fedora40_clang_analyzer.cmake new file mode 100644 index 0000000000..c21012680a --- /dev/null +++ b/.gitlab/ci/configure_fedora40_clang_analyzer.cmake @@ -0,0 +1,3 @@ +set(configure_no_sccache 1) + +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common.cmake") diff --git a/.gitlab/ci/configure_fedora39_common.cmake b/.gitlab/ci/configure_fedora40_common.cmake similarity index 100% rename from .gitlab/ci/configure_fedora39_common.cmake rename to .gitlab/ci/configure_fedora40_common.cmake diff --git a/.gitlab/ci/configure_fedora40_common_clang.cmake b/.gitlab/ci/configure_fedora40_common_clang.cmake new file mode 100644 index 0000000000..a4ae3f3f30 --- /dev/null +++ b/.gitlab/ci/configure_fedora40_common_clang.cmake @@ -0,0 +1,17 @@ +set(CMAKE_Fortran_COMPILER "/usr/bin/flang-new" CACHE FILEPATH "") +set(CMAKE_Fortran_COMPILER_ID "LLVMFlang" CACHE STRING "") +set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 "1" CACHE BOOL "") + +set(CMake_TEST_C_STANDARDS "90;99;11;17;23" CACHE STRING "") +set(CMake_TEST_CXX_STANDARDS "98;11;14;17;20;23;26" CACHE STRING "") + +set(CMake_TEST_FindOpenACC "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_C "ON" CACHE BOOL "") +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 "ON" CACHE BOOL "") + +include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/ci/configure_fedora39_extdeps.cmake b/.gitlab/ci/configure_fedora40_extdeps.cmake similarity index 100% rename from .gitlab/ci/configure_fedora39_extdeps.cmake rename to .gitlab/ci/configure_fedora40_extdeps.cmake diff --git a/.gitlab/ci/configure_fedora39_makefiles.cmake b/.gitlab/ci/configure_fedora40_makefiles.cmake similarity index 96% rename from .gitlab/ci/configure_fedora39_makefiles.cmake rename to .gitlab/ci/configure_fedora40_makefiles.cmake index 90d8343328..478ba11c6b 100644 --- a/.gitlab/ci/configure_fedora39_makefiles.cmake +++ b/.gitlab/ci/configure_fedora40_makefiles.cmake @@ -1,5 +1,5 @@ set(CMake_TEST_C_STANDARDS "90;99;11;17;23" CACHE STRING "") -set(CMake_TEST_CXX_STANDARDS "98;11;14;17;20;23" CACHE STRING "") +set(CMake_TEST_CXX_STANDARDS "98;11;14;17;20;23;26" CACHE STRING "") set(CMake_TEST_CTestUpdate_BZR "ON" CACHE BOOL "") set(CMake_TEST_CTestUpdate_GIT "ON" CACHE BOOL "") @@ -67,6 +67,9 @@ set(CMake_TEST_FindMPI_ENVMOD "PATH=path_list_prepend:/usr/lib64/mpich/bin;LD_LI set(CMake_TEST_FindMPI "ON" CACHE BOOL "") set(CMake_TEST_FindODBC "ON" CACHE BOOL "") set(CMake_TEST_FindOpenACC "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_C "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_CXX "ON" CACHE BOOL "") +set(CMake_TEST_FindOpenACC_Fortran "ON" CACHE BOOL "") set(CMake_TEST_FindOpenAL "ON" CACHE BOOL "") set(CMake_TEST_FindOpenGL "ON" CACHE BOOL "") set(CMake_TEST_FindOpenMP_C "ON" CACHE BOOL "") diff --git a/.gitlab/ci/configure_fedora39_makefiles_clang.cmake b/.gitlab/ci/configure_fedora40_makefiles_clang.cmake similarity index 68% rename from .gitlab/ci/configure_fedora39_makefiles_clang.cmake rename to .gitlab/ci/configure_fedora40_makefiles_clang.cmake index a85ae70cdc..d5739c3b69 100644 --- a/.gitlab/ci/configure_fedora39_makefiles_clang.cmake +++ b/.gitlab/ci/configure_fedora40_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_fedora39_common_clang.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common_clang.cmake") diff --git a/.gitlab/ci/configure_fedora39_makefiles_symlinked.cmake b/.gitlab/ci/configure_fedora40_makefiles_symlinked.cmake similarity index 53% rename from .gitlab/ci/configure_fedora39_makefiles_symlinked.cmake rename to .gitlab/ci/configure_fedora40_makefiles_symlinked.cmake index b53ab6651e..6a677fd136 100644 --- a/.gitlab/ci/configure_fedora39_makefiles_symlinked.cmake +++ b/.gitlab/ci/configure_fedora40_makefiles_symlinked.cmake @@ -1,2 +1,2 @@ include("${CMAKE_CURRENT_LIST_DIR}/configure_symlinked_common.cmake") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora39_common.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common.cmake") diff --git a/.gitlab/ci/configure_fedora39_ninja.cmake b/.gitlab/ci/configure_fedora40_ninja.cmake similarity index 71% rename from .gitlab/ci/configure_fedora39_ninja.cmake rename to .gitlab/ci/configure_fedora40_ninja.cmake index 8d04bde2b0..b16e928703 100644 --- a/.gitlab/ci/configure_fedora39_ninja.cmake +++ b/.gitlab/ci/configure_fedora40_ninja.cmake @@ -2,6 +2,7 @@ set(CMake_TEST_GUI "ON" CACHE BOOL "") if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "") set(CMake_TEST_ISPC "ON" CACHE STRING "") endif() +set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,shared,bmionly" CACHE STRING "") set(CMake_TEST_TLS_VERIFY_URL "https://gitlab.kitware.com" CACHE STRING "") set(CMake_TEST_TLS_VERSION "1.3" CACHE STRING "") @@ -12,4 +13,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_fedora39_common.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common.cmake") diff --git a/.gitlab/ci/configure_fedora39_ninja_multi_clang.cmake b/.gitlab/ci/configure_fedora40_ninja_clang.cmake similarity index 72% rename from .gitlab/ci/configure_fedora39_ninja_multi_clang.cmake rename to .gitlab/ci/configure_fedora40_ninja_clang.cmake index 79d3eaa881..c760603b98 100644 --- a/.gitlab/ci/configure_fedora39_ninja_multi_clang.cmake +++ b/.gitlab/ci/configure_fedora40_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" CACHE STRING "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora39_common_clang.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common_clang.cmake") diff --git a/.gitlab/ci/configure_fedora39_ninja_multi.cmake b/.gitlab/ci/configure_fedora40_ninja_multi.cmake similarity index 51% rename from .gitlab/ci/configure_fedora39_ninja_multi.cmake rename to .gitlab/ci/configure_fedora40_ninja_multi.cmake index 94af721f23..f77606efe7 100644 --- a/.gitlab/ci/configure_fedora39_ninja_multi.cmake +++ b/.gitlab/ci/configure_fedora40_ninja_multi.cmake @@ -1,5 +1,6 @@ if (NOT "$ENV{CMAKE_CI_NIGHTLY}" STREQUAL "") set(CMake_TEST_ISPC "ON" CACHE STRING "") endif() +set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,shared,bmionly" CACHE STRING "") include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/ci/configure_fedora39_ninja_clang.cmake b/.gitlab/ci/configure_fedora40_ninja_multi_clang.cmake similarity index 72% rename from .gitlab/ci/configure_fedora39_ninja_clang.cmake rename to .gitlab/ci/configure_fedora40_ninja_multi_clang.cmake index 79d3eaa881..c760603b98 100644 --- a/.gitlab/ci/configure_fedora39_ninja_clang.cmake +++ b/.gitlab/ci/configure_fedora40_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" CACHE STRING "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora39_common_clang.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common_clang.cmake") diff --git a/.gitlab/ci/configure_fedora39_sphinx.cmake b/.gitlab/ci/configure_fedora40_sphinx.cmake similarity index 100% rename from .gitlab/ci/configure_fedora39_sphinx.cmake rename to .gitlab/ci/configure_fedora40_sphinx.cmake diff --git a/.gitlab/ci/configure_fedora39_sphinx_package.cmake b/.gitlab/ci/configure_fedora40_sphinx_package.cmake similarity index 100% rename from .gitlab/ci/configure_fedora39_sphinx_package.cmake rename to .gitlab/ci/configure_fedora40_sphinx_package.cmake diff --git a/.gitlab/ci/configure_fedora39_tidy.cmake b/.gitlab/ci/configure_fedora40_tidy.cmake similarity index 83% rename from .gitlab/ci/configure_fedora39_tidy.cmake rename to .gitlab/ci/configure_fedora40_tidy.cmake index 7a3eaa643e..037732c148 100644 --- a/.gitlab/ci/configure_fedora39_tidy.cmake +++ b/.gitlab/ci/configure_fedora40_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_fedora39_common.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora40_common.cmake") diff --git a/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja.cmake b/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja.cmake deleted file mode 100644 index f0ba9ebad4..0000000000 --- a/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja.cmake +++ /dev/null @@ -1,3 +0,0 @@ -set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,bmionly" CACHE STRING "") - -include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja_multi.cmake b/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja_multi.cmake deleted file mode 100644 index f0ba9ebad4..0000000000 --- a/.gitlab/ci/configure_linux_gcc_cxx_modules_ninja_multi.cmake +++ /dev/null @@ -1,3 +0,0 @@ -set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,bmionly" CACHE STRING "") - -include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/ci/ctest_memcheck_fedora39_asan.lsan.supp b/.gitlab/ci/ctest_memcheck_fedora40_asan.lsan.supp similarity index 100% rename from .gitlab/ci/ctest_memcheck_fedora39_asan.lsan.supp rename to .gitlab/ci/ctest_memcheck_fedora40_asan.lsan.supp diff --git a/.gitlab/ci/docker/fedora39-hip/Dockerfile b/.gitlab/ci/docker/fedora39-hip/Dockerfile new file mode 100644 index 0000000000..0347cc4bae --- /dev/null +++ b/.gitlab/ci/docker/fedora39-hip/Dockerfile @@ -0,0 +1,27 @@ +# syntax=docker/dockerfile:1 + +ARG BASE_IMAGE=fedora:39 + +FROM ${BASE_IMAGE} AS dnf-cache +# Populate DNF cache w/ the fresh metadata and prefetch packages. +RUN --mount=type=bind,source=deps_packages.lst,target=/root/deps_packages.lst \ + --mount=type=tmpfs,target=/var/log \ + --mount=type=tmpfs,target=/tmp \ + dnf install \ + --setopt=install_weak_deps=False \ + --setopt=fastestmirror=True \ + --setopt=max_parallel_downloads=10 \ + --downloadonly \ + -y \ + $(grep -h '^[^#]\+$' /root/*.lst) + +FROM ${BASE_IMAGE} +LABEL maintainer="Brad King " + +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,target=/var/cache/pip \ + --mount=type=tmpfs,target=/var/log \ + --mount=type=tmpfs,target=/tmp \ + sh /root/install_deps.sh diff --git a/.gitlab/ci/docker/fedora39-hip/deps_packages.lst b/.gitlab/ci/docker/fedora39-hip/deps_packages.lst new file mode 100644 index 0000000000..70b114c403 --- /dev/null +++ b/.gitlab/ci/docker/fedora39-hip/deps_packages.lst @@ -0,0 +1,15 @@ +# Install development tools. +clang +clang-tools-extra +compiler-rt +gcc-c++ +git-core +make + +# Install HIP language toolchain. +hsakmt-devel +lld +llvm +rocm-comgr-devel +rocm-hip-devel +rocm-runtime-devel diff --git a/.gitlab/ci/docker/fedora39-hip/install_deps.sh b/.gitlab/ci/docker/fedora39-hip/install_deps.sh new file mode 100755 index 0000000000..eedff9c3a6 --- /dev/null +++ b/.gitlab/ci/docker/fedora39-hip/install_deps.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +dnf install \ + --setopt=install_weak_deps=False \ + --setopt=fastestmirror=True \ + --setopt=max_parallel_downloads=10 \ + -y \ + $(grep '^[^#]\+$' /root/deps_packages.lst) diff --git a/.gitlab/ci/docker/fedora39/Dockerfile b/.gitlab/ci/docker/fedora40/Dockerfile similarity index 98% rename from .gitlab/ci/docker/fedora39/Dockerfile rename to .gitlab/ci/docker/fedora40/Dockerfile index f14e017ae3..896456c84b 100644 --- a/.gitlab/ci/docker/fedora39/Dockerfile +++ b/.gitlab/ci/docker/fedora40/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -ARG BASE_IMAGE=fedora:39 +ARG BASE_IMAGE=fedora:40 FROM ${BASE_IMAGE} AS dnf-cache # Populate DNF cache w/ the fresh metadata and prefetch packages. diff --git a/.gitlab/ci/docker/fedora39/deps_packages.lst b/.gitlab/ci/docker/fedora40/deps_packages.lst similarity index 93% rename from .gitlab/ci/docker/fedora39/deps_packages.lst rename to .gitlab/ci/docker/fedora40/deps_packages.lst index 1459894e94..c7bad7cf20 100644 --- a/.gitlab/ci/docker/fedora39/deps_packages.lst +++ b/.gitlab/ci/docker/fedora40/deps_packages.lst @@ -11,7 +11,6 @@ clang-tools-extra clang-tools-extra-devel compiler-rt flang -flang-devel gcc-c++ git-core llvm-devel @@ -32,6 +31,7 @@ zlib-devel # Install documentation tools. python3-sphinx +python3-sphinxcontrib-qthelp texinfo qt5-qttools-devel qt6-qttools-devel @@ -49,13 +49,6 @@ which # Install ASM_NASM language toolchain. nasm -# Install HIP language toolchain. -hsakmt-devel -lld -rocm-comgr-devel -rocm-hip-devel -rocm-runtime-devel - # Packages needed to test CTest. breezy subversion @@ -99,6 +92,7 @@ libcurl-devel libicu-devel libinput-devel systemd-devel libjpeg-turbo-devel +libomp-devel libpng-devel opensp-devel postgresql-server-devel @@ -126,3 +120,6 @@ wxGTK-devel xalan-c-devel xerces-c-devel xz-devel + +# Packages needed to test third-party binaries. +ncurses-compat-libs diff --git a/.gitlab/ci/docker/fedora39/install_deps.sh b/.gitlab/ci/docker/fedora40/install_deps.sh similarity index 100% rename from .gitlab/ci/docker/fedora39/install_deps.sh rename to .gitlab/ci/docker/fedora40/install_deps.sh diff --git a/.gitlab/ci/docker/fedora39/install_iwyu.sh b/.gitlab/ci/docker/fedora40/install_iwyu.sh similarity index 77% rename from .gitlab/ci/docker/fedora39/install_iwyu.sh rename to .gitlab/ci/docker/fedora40/install_iwyu.sh index 684e355058..50ed612789 100755 --- a/.gitlab/ci/docker/fedora39/install_iwyu.sh +++ b/.gitlab/ci/docker/fedora40/install_iwyu.sh @@ -18,13 +18,13 @@ readonly llvm_version="$( echo "$llvm_full_version" | cut -d. -f-1 )" git checkout "clang_$llvm_version" git apply < - -# Install build dependencies for packages. -COPY install_deps.sh /root/install_deps.sh -RUN sh /root/install_deps.sh - -COPY install_gcc.sh /root/install_gcc.sh -RUN sh /root/install_gcc.sh diff --git a/.gitlab/ci/docker/gcc_cxx_modules/install_deps.sh b/.gitlab/ci/docker/gcc_cxx_modules/install_deps.sh deleted file mode 100755 index b8b706b6f5..0000000000 --- a/.gitlab/ci/docker/gcc_cxx_modules/install_deps.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -set -e - -dnf install -y --setopt=install_weak_deps=False \ - gcc-c++ mpfr-devel libmpc-devel isl-devel flex bison file findutils diffutils git-core -dnf clean all diff --git a/.gitlab/ci/docker/gcc_cxx_modules/install_gcc.sh b/.gitlab/ci/docker/gcc_cxx_modules/install_gcc.sh deleted file mode 100755 index 15cfe39070..0000000000 --- a/.gitlab/ci/docker/gcc_cxx_modules/install_gcc.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -set -e - -readonly revision="29862e21f6d656eca59284c927d0c4c0698eb99c" # master as of 21 Sep 2023 -readonly tarball="git://gcc.gnu.org/git/gcc.git" - -readonly workdir="$HOME/gcc" -readonly srcdir="$workdir/gcc" -readonly builddir="$workdir/build" -readonly njobs="$( nproc )" - -mkdir -p "$workdir" -cd "$workdir" -git clone "$tarball" "$srcdir" -git -C "$srcdir" checkout "$revision" -mkdir -p "$builddir" -cd "$builddir" -"$srcdir/configure" \ - --disable-multilib \ - --enable-languages=c,c++ \ - --prefix="/opt/gcc-p1689" -make "-j$njobs" -make "-j$njobs" install-strip -rm -rf "$workdir" diff --git a/.gitlab/ci/env_fedora39_common_clang.sh b/.gitlab/ci/env_fedora39_common_clang.sh deleted file mode 100644 index 076669b893..0000000000 --- a/.gitlab/ci/env_fedora39_common_clang.sh +++ /dev/null @@ -1,3 +0,0 @@ -export CC=/usr/bin/clang-17 -export CXX=/usr/bin/clang++-17 -export FC=/usr/bin/flang-new diff --git a/.gitlab/ci/env_fedora39_makefiles_clang.sh b/.gitlab/ci/env_fedora39_makefiles_clang.sh deleted file mode 100644 index 6200f82046..0000000000 --- a/.gitlab/ci/env_fedora39_makefiles_clang.sh +++ /dev/null @@ -1 +0,0 @@ -. .gitlab/ci/env_fedora39_common_clang.sh diff --git a/.gitlab/ci/env_fedora39_makefiles_symlinked.cmake b/.gitlab/ci/env_fedora39_makefiles_symlinked.cmake deleted file mode 100644 index 052e9a7811..0000000000 --- a/.gitlab/ci/env_fedora39_makefiles_symlinked.cmake +++ /dev/null @@ -1 +0,0 @@ -include("${CMAKE_CURRENT_LIST_DIR}/env_fedora39_makefiles.cmake") diff --git a/.gitlab/ci/env_fedora39_makefiles_symlinked.sh b/.gitlab/ci/env_fedora39_makefiles_symlinked.sh deleted file mode 100644 index 39ac18921d..0000000000 --- a/.gitlab/ci/env_fedora39_makefiles_symlinked.sh +++ /dev/null @@ -1 +0,0 @@ -. .gitlab/ci/env_fedora39_makefiles.sh diff --git a/.gitlab/ci/env_fedora39_ninja_clang.sh b/.gitlab/ci/env_fedora39_ninja_clang.sh deleted file mode 100644 index 6200f82046..0000000000 --- a/.gitlab/ci/env_fedora39_ninja_clang.sh +++ /dev/null @@ -1 +0,0 @@ -. .gitlab/ci/env_fedora39_common_clang.sh diff --git a/.gitlab/ci/env_fedora39_ninja_multi_clang.sh b/.gitlab/ci/env_fedora39_ninja_multi_clang.sh deleted file mode 100644 index 6200f82046..0000000000 --- a/.gitlab/ci/env_fedora39_ninja_multi_clang.sh +++ /dev/null @@ -1 +0,0 @@ -. .gitlab/ci/env_fedora39_common_clang.sh diff --git a/.gitlab/ci/env_fedora39_asan.sh b/.gitlab/ci/env_fedora40_asan.sh similarity index 100% rename from .gitlab/ci/env_fedora39_asan.sh rename to .gitlab/ci/env_fedora40_asan.sh diff --git a/.gitlab/ci/env_fedora39_clang_analyzer.sh b/.gitlab/ci/env_fedora40_clang_analyzer.sh similarity index 100% rename from .gitlab/ci/env_fedora39_clang_analyzer.sh rename to .gitlab/ci/env_fedora40_clang_analyzer.sh diff --git a/.gitlab/ci/env_fedora40_common_clang.sh b/.gitlab/ci/env_fedora40_common_clang.sh new file mode 100644 index 0000000000..a3861d0ec4 --- /dev/null +++ b/.gitlab/ci/env_fedora40_common_clang.sh @@ -0,0 +1,3 @@ +export CC=/usr/bin/clang-18 +export CXX=/usr/bin/clang++-18 +export FC=/usr/bin/flang-new diff --git a/.gitlab/ci/env_fedora39_extdeps.sh b/.gitlab/ci/env_fedora40_extdeps.sh similarity index 100% rename from .gitlab/ci/env_fedora39_extdeps.sh rename to .gitlab/ci/env_fedora40_extdeps.sh diff --git a/.gitlab/ci/env_fedora39_makefiles.cmake b/.gitlab/ci/env_fedora40_makefiles.cmake similarity index 100% rename from .gitlab/ci/env_fedora39_makefiles.cmake rename to .gitlab/ci/env_fedora40_makefiles.cmake diff --git a/.gitlab/ci/env_fedora39_makefiles.sh b/.gitlab/ci/env_fedora40_makefiles.sh similarity index 100% rename from .gitlab/ci/env_fedora39_makefiles.sh rename to .gitlab/ci/env_fedora40_makefiles.sh diff --git a/.gitlab/ci/env_fedora40_makefiles_clang.sh b/.gitlab/ci/env_fedora40_makefiles_clang.sh new file mode 100644 index 0000000000..2021086148 --- /dev/null +++ b/.gitlab/ci/env_fedora40_makefiles_clang.sh @@ -0,0 +1 @@ +. .gitlab/ci/env_fedora40_common_clang.sh diff --git a/.gitlab/ci/env_fedora40_makefiles_symlinked.cmake b/.gitlab/ci/env_fedora40_makefiles_symlinked.cmake new file mode 100644 index 0000000000..d3818075a5 --- /dev/null +++ b/.gitlab/ci/env_fedora40_makefiles_symlinked.cmake @@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/env_fedora40_makefiles.cmake") diff --git a/.gitlab/ci/env_fedora40_makefiles_symlinked.sh b/.gitlab/ci/env_fedora40_makefiles_symlinked.sh new file mode 100644 index 0000000000..5a7584a436 --- /dev/null +++ b/.gitlab/ci/env_fedora40_makefiles_symlinked.sh @@ -0,0 +1 @@ +. .gitlab/ci/env_fedora40_makefiles.sh diff --git a/.gitlab/ci/env_fedora39_ninja.sh b/.gitlab/ci/env_fedora40_ninja.sh similarity index 100% rename from .gitlab/ci/env_fedora39_ninja.sh rename to .gitlab/ci/env_fedora40_ninja.sh diff --git a/.gitlab/ci/env_fedora40_ninja_clang.sh b/.gitlab/ci/env_fedora40_ninja_clang.sh new file mode 100644 index 0000000000..2021086148 --- /dev/null +++ b/.gitlab/ci/env_fedora40_ninja_clang.sh @@ -0,0 +1 @@ +. .gitlab/ci/env_fedora40_common_clang.sh diff --git a/.gitlab/ci/env_fedora39_ninja_multi.sh b/.gitlab/ci/env_fedora40_ninja_multi.sh similarity index 100% rename from .gitlab/ci/env_fedora39_ninja_multi.sh rename to .gitlab/ci/env_fedora40_ninja_multi.sh diff --git a/.gitlab/ci/env_fedora40_ninja_multi_clang.sh b/.gitlab/ci/env_fedora40_ninja_multi_clang.sh new file mode 100644 index 0000000000..2021086148 --- /dev/null +++ b/.gitlab/ci/env_fedora40_ninja_multi_clang.sh @@ -0,0 +1 @@ +. .gitlab/ci/env_fedora40_common_clang.sh diff --git a/.gitlab/ci/post_build_fedora39_tidy.sh b/.gitlab/ci/post_build_fedora40_tidy.sh similarity index 100% rename from .gitlab/ci/post_build_fedora39_tidy.sh rename to .gitlab/ci/post_build_fedora40_tidy.sh diff --git a/.gitlab/ci/pre_build_fedora39_tidy.sh b/.gitlab/ci/pre_build_fedora40_tidy.sh similarity index 100% rename from .gitlab/ci/pre_build_fedora39_tidy.sh rename to .gitlab/ci/pre_build_fedora40_tidy.sh diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml index 03778c2305..f9fd6c26bd 100644 --- a/.gitlab/os-linux.yml +++ b/.gitlab/os-linux.yml @@ -5,7 +5,7 @@ ### Release .linux_prep_source: - image: "fedora:39" + image: "fedora:40" variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" @@ -68,45 +68,53 @@ ### Fedora -.fedora39: - image: "kitware/cmake:ci-fedora39-x86_64-2024-04-10" +.fedora40: + image: "kitware/cmake:ci-fedora40-x86_64-2024-04-24" variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci/long file name for testing purposes" CMAKE_ARCH: x86_64 +# FIXME(#25932): Our HIP tests do not fully work in CI with Fedora 40. +.fedora39_hip: + image: "kitware/cmake:ci-fedora39-hip-x86_64-2024-04-24" + + variables: + GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" + CMAKE_ARCH: x86_64 + #### Lint builds -.fedora39_tidy: - extends: .fedora39 +.fedora40_tidy: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_tidy + CMAKE_CONFIGURATION: fedora40_tidy CMAKE_CI_NO_INSTALL: 1 -.fedora39_clang_analyzer: - extends: .fedora39 +.fedora40_clang_analyzer: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_clang_analyzer + CMAKE_CONFIGURATION: fedora40_clang_analyzer CMAKE_CI_BUILD_TYPE: Debug CTEST_NO_WARNINGS_ALLOWED: 1 CMAKE_CI_NO_INSTALL: 1 -.fedora39_sphinx: - extends: .fedora39 +.fedora40_sphinx: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_sphinx + CMAKE_CONFIGURATION: fedora40_sphinx CTEST_NO_WARNINGS_ALLOWED: 1 CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx" CMAKE_CI_NO_INSTALL: 1 -.fedora39_sphinx_package: - extends: .fedora39 +.fedora40_sphinx_package: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_sphinx_package + CMAKE_CONFIGURATION: fedora40_sphinx_package CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx" #### Build and test @@ -162,43 +170,43 @@ CMAKE_CI_BUILD_TYPE: Release CTEST_NO_WARNINGS_ALLOWED: 1 -.fedora39_extdeps: - extends: .fedora39 +.fedora40_extdeps: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_extdeps + CMAKE_CONFIGURATION: fedora40_extdeps CMAKE_CI_BUILD_TYPE: Release CTEST_NO_WARNINGS_ALLOWED: 1 -.fedora39_ninja: - extends: .fedora39 +.fedora40_ninja: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_ninja + CMAKE_CONFIGURATION: fedora40_ninja CMAKE_CI_BUILD_TYPE: Release CTEST_NO_WARNINGS_ALLOWED: 1 -.fedora39_ninja_multi: - extends: .fedora39 +.fedora40_ninja_multi: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_ninja_multi + CMAKE_CONFIGURATION: fedora40_ninja_multi CTEST_NO_WARNINGS_ALLOWED: 1 CMAKE_GENERATOR: "Ninja Multi-Config" -.fedora39_makefiles: - extends: .fedora39 +.fedora40_makefiles: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_makefiles + CMAKE_CONFIGURATION: fedora40_makefiles CTEST_NO_WARNINGS_ALLOWED: 1 CMAKE_GENERATOR: "Unix Makefiles" -.fedora39_makefiles_symlinked: - extends: .fedora39 +.fedora40_makefiles_symlinked: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_makefiles_symlinked + CMAKE_CONFIGURATION: fedora40_makefiles_symlinked CTEST_NO_WARNINGS_ALLOWED: 1 CMAKE_GENERATOR: "Unix Makefiles" CMAKE_CI_IN_SYMLINK_TREE: 1 @@ -219,24 +227,24 @@ variables: CMAKE_CONFIGURATION: debian12_ninja_clang -.fedora39_makefiles_clang: - extends: .fedora39 +.fedora40_makefiles_clang: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_makefiles_clang + CMAKE_CONFIGURATION: fedora40_makefiles_clang CMAKE_GENERATOR: "Unix Makefiles" -.fedora39_ninja_clang: - extends: .fedora39 +.fedora40_ninja_clang: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_ninja_clang + CMAKE_CONFIGURATION: fedora40_ninja_clang -.fedora39_ninja_multi_clang: - extends: .fedora39 +.fedora40_ninja_multi_clang: + extends: .fedora40 variables: - CMAKE_CONFIGURATION: fedora39_ninja_multi_clang + CMAKE_CONFIGURATION: fedora40_ninja_multi_clang CMAKE_GENERATOR: "Ninja Multi-Config" ### Sanitizers @@ -252,13 +260,13 @@ CTEST_MEMORYCHECK_TYPE: AddressSanitizer CTEST_MEMORYCHECK_SANITIZER_OPTIONS: "" -.fedora39_asan: +.fedora40_asan: extends: - - .fedora39 + - .fedora40 - .fedora_asan_addon variables: - CMAKE_CONFIGURATION: fedora39_asan + CMAKE_CONFIGURATION: fedora40_asan ### Intel Compiler @@ -410,7 +418,7 @@ CTEST_LABELS: "HIP" .fedora39_hip_radeon: - extends: .fedora39 + extends: .fedora39_hip variables: CMAKE_CONFIGURATION: fedora39_hip_radeon @@ -423,30 +431,6 @@ CMAKE_CONFIGURATION: hip5.5_nvidia CTEST_LABELS: "HIP" -### C++ modules - -.gcc_cxx_modules_x86_64: - image: "kitware/cmake:ci-gcc_cxx_modules-x86_64-2023-09-21" - - variables: - GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" - CMAKE_ARCH: x86_64 - CC: "/opt/gcc-p1689/bin/gcc" - CXX: "/opt/gcc-p1689/bin/g++" - -.gcc_cxx_modules_ninja: - extends: .gcc_cxx_modules_x86_64 - - variables: - CMAKE_CONFIGURATION: linux_gcc_cxx_modules_ninja - -.gcc_cxx_modules_ninja_multi: - extends: .gcc_cxx_modules_x86_64 - - variables: - CMAKE_CONFIGURATION: linux_gcc_cxx_modules_ninja_multi - CMAKE_GENERATOR: "Ninja Multi-Config" - ### Debian 10 legacy packages .debian10: @@ -539,7 +523,7 @@ .cmake_codespell_linux: stage: build - extends: .fedora39 + extends: .fedora40 script: - .gitlab/ci/codespell.sh interruptible: true @@ -682,7 +666,7 @@ .cmake_org_help: stage: build extends: - - .fedora39 + - .fedora40 - .linux_x86_64_tags - .cmake_org_help_artifacts script: diff --git a/.gitlab/upload.yml b/.gitlab/upload.yml index 56793af442..6b46313938 100644 --- a/.gitlab/upload.yml +++ b/.gitlab/upload.yml @@ -1,7 +1,7 @@ # Steps for uploading artifacts .rsync_upload_package: - image: "fedora:39" + image: "fedora:40" stage: upload tags: - cmake @@ -21,7 +21,7 @@ .rsync_upload_help: stage: upload - image: "fedora:39" + image: "fedora:40" tags: - cmake - docker diff --git a/CTestCustom.cmake.in b/CTestCustom.cmake.in index a81ee4bb96..ae55715424 100644 --- a/CTestCustom.cmake.in +++ b/CTestCustom.cmake.in @@ -17,6 +17,7 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION "not sorted slower link editing will result" "stl_deque.h:479" "Utilities.cmzlib." + "Utilities.cmzstd." "Utilities.cmbzip2." "Source.CTest.Curl" "Source.CursesDialog.form" diff --git a/Tests/FindOpenACC/CMakeLists.txt b/Tests/FindOpenACC/CMakeLists.txt index ef7de65a24..1b6bcf2a35 100644 --- a/Tests/FindOpenACC/CMakeLists.txt +++ b/Tests/FindOpenACC/CMakeLists.txt @@ -1,11 +1,5 @@ - -set(langs C CXX) -if(NOT CMAKE_GENERATOR STREQUAL "Ninja") - list(APPEND langs Fortran) -endif() - -foreach(lang IN LISTS langs) - if(CMAKE_${lang}_COMPILER) +foreach(lang IN ITEMS C CXX Fortran) + if(CMake_TEST_FindOpenACC_${lang}) add_test(NAME FindOpenACC.Test${lang} COMMAND ${CMAKE_CTEST_COMMAND} -C $ --build-and-test diff --git a/Utilities/ClangTidyModule/UsePragmaOnceCheck.cxx b/Utilities/ClangTidyModule/UsePragmaOnceCheck.cxx index 37ecd70218..9ec8e5ff99 100644 --- a/Utilities/ClangTidyModule/UsePragmaOnceCheck.cxx +++ b/Utilities/ClangTidyModule/UsePragmaOnceCheck.cxx @@ -55,10 +55,10 @@ public: , FID(FID) { SourceManager& SM = this->PP->getSourceManager(); - const FileEntry* Entry = SM.getFileEntryForID(FID); + OptionalFileEntryRef Entry = SM.getFileEntryRefForID(FID); assert(Entry && "Invalid FileID given"); - Lexer MyLexer(FID, SM.getMemoryBufferForFileOrFake(Entry), SM, + Lexer MyLexer(FID, SM.getMemoryBufferForFileOrFake(*Entry), SM, this->PP->getLangOpts()); Token Tok; @@ -157,9 +157,10 @@ public: // guards. SourceManager& SM = this->PP->getSourceManager(); if (Reason == EnterFile && FileType == SrcMgr::C_User) { - if (const FileEntry* FE = SM.getFileEntryForID(SM.getFileID(Loc))) { + if (OptionalFileEntryRef FE = + SM.getFileEntryRefForID(SM.getFileID(Loc))) { std::string FileName = cleanPath(FE->getName()); - this->Files[FileName] = FE; + this->Files.try_emplace(FileName, *FE); } } } @@ -205,9 +206,9 @@ public: continue; } - const FileEntry* FE = - SM.getFileEntryForID(SM.getFileID(MI->getDefinitionLoc())); - std::string FileName = cleanPath(FE->getName()); + FileEntryRef FE = + *SM.getFileEntryRefForID(SM.getFileID(MI->getDefinitionLoc())); + std::string FileName = cleanPath(FE.getName()); this->Files.erase(FileName); // Look up Locations for this guard. @@ -290,7 +291,7 @@ private: } std::vector> Macros; - llvm::StringMap Files; + llvm::StringMap Files; std::map> Ifndefs; std::map EndIfs; diff --git a/Utilities/Sphinx/CTestCustom.cmake.in b/Utilities/Sphinx/CTestCustom.cmake.in index 840121b0ab..ee13aa15fe 100644 --- a/Utilities/Sphinx/CTestCustom.cmake.in +++ b/Utilities/Sphinx/CTestCustom.cmake.in @@ -1,3 +1,4 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION "cmake.texi:[0-9]+: warning: .definfoenclose is obsolete" + "cmake.texi:[0-9]+: warning: @ref should not appear on @item line" )