From d423957b77f60ac9130b74215f2bf7f74de36ca7 Mon Sep 17 00:00:00 2001 From: Enrico Seiler Date: Tue, 29 Oct 2024 14:50:33 +0100 Subject: [PATCH 1/4] [INFRA] Add clang-19 --- .github/workflows/ci_header.yml | 4 ++-- .github/workflows/ci_linux.yml | 4 +++- .github/workflows/ci_macos.yml | 4 +++- .github/workflows/ci_sanitizer.yml | 6 +++--- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci_header.yml b/.github/workflows/ci_header.yml index acfd1dd4..6c745dff 100644 --- a/.github/workflows/ci_header.yml +++ b/.github/workflows/ci_header.yml @@ -29,10 +29,10 @@ jobs: strategy: fail-fast: false matrix: - compiler: ["clang-18", "gcc-14", "gcc-12", "intel"] + compiler: ["clang-19", "gcc-14", "gcc-12", "intel"] include: - cxx_flags: "-Wno-interference-size" - - compiler: "clang-18" + - compiler: "clang-19" cxx_flags: "" - compiler: "intel" cxx_flags: "-fp-model=strict -Wno-overriding-option" diff --git a/.github/workflows/ci_linux.yml b/.github/workflows/ci_linux.yml index 065c7dba..cd868078 100644 --- a/.github/workflows/ci_linux.yml +++ b/.github/workflows/ci_linux.yml @@ -29,9 +29,11 @@ jobs: strategy: fail-fast: false matrix: - compiler: ["clang-18", "clang-17", "gcc-14", "gcc-13", "gcc-12", "intel"] + compiler: ["clang-19", "clang-18", "clang-17", "gcc-14", "gcc-13", "gcc-12", "intel"] include: - cxx_flags: "-Wno-interference-size" + - compiler: "clang-19" + cxx_flags: "" - compiler: "clang-18" cxx_flags: "" - compiler: "clang-17" diff --git a/.github/workflows/ci_macos.yml b/.github/workflows/ci_macos.yml index 528f5b5d..d56f4851 100644 --- a/.github/workflows/ci_macos.yml +++ b/.github/workflows/ci_macos.yml @@ -29,9 +29,11 @@ jobs: strategy: fail-fast: false matrix: - compiler: ["clang-18", "clang-17", "gcc-14", "gcc-13", "gcc-12"] + compiler: ["clang-19", "clang-18", "clang-17", "gcc-14", "gcc-13", "gcc-12"] include: - cxx_flags: "-Wno-interference-size" + - compiler: "clang-19" + cxx_flags: "" - compiler: "clang-18" cxx_flags: "" - compiler: "clang-17" diff --git a/.github/workflows/ci_sanitizer.yml b/.github/workflows/ci_sanitizer.yml index 2d5f924d..a0a3dda4 100644 --- a/.github/workflows/ci_sanitizer.yml +++ b/.github/workflows/ci_sanitizer.yml @@ -55,7 +55,7 @@ jobs: cxx_flags: "-fno-omit-frame-pointer -fsanitize=undefined,float-divide-by-zero,local-bounds,nullability -fno-sanitize=function -Wno-pass-failed" - os: macos-14 - compiler: clang-18 + compiler: clang-19 - os: ubuntu-latest compiler: gcc-14 @@ -63,8 +63,8 @@ jobs: - name: "TSan" os: ubuntu-latest - compiler: clang-18 - image: ghcr.io/seqan/clang-18 + compiler: clang-19 + image: ghcr.io/seqan/clang-19 container: image: ${{ matrix.image || '' }} volumes: From dd608f2d3977a7ccc8dc81598f0e48b31843b641 Mon Sep 17 00:00:00 2001 From: Enrico Seiler Date: Tue, 29 Oct 2024 14:50:50 +0100 Subject: [PATCH 2/4] [FIX] Missing include --- src/layout/ibf_query_cost.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/layout/ibf_query_cost.cpp b/src/layout/ibf_query_cost.cpp index 40f9de93..fe153d8f 100644 --- a/src/layout/ibf_query_cost.cpp +++ b/src/layout/ibf_query_cost.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include From 5e4ededa3a03d7542a7426cebe5a0540e512341f Mon Sep 17 00:00:00 2001 From: Enrico Seiler Date: Tue, 29 Oct 2024 14:52:07 +0100 Subject: [PATCH 3/4] [INFRA] Update CPM packages --- CMakeLists.txt | 8 ++++++-- cmake/package-lock.cmake | 6 +++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6872f92a..e7e47cce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,8 +17,12 @@ project (chopper ## BUILD -# Optimization -option (CHOPPER_NATIVE_BUILD "Optimize build for current architecture." ON) +# LTO +include (CheckIPOSupported) +check_ipo_supported (RESULT CHOPPER_HAS_LTO OUTPUT CHOPPER_HAS_LTO_OUTPUT) +if (CHOPPER_HAS_LTO) + set (CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) +endif () # Make Release default build type if (NOT CMAKE_BUILD_TYPE) diff --git a/cmake/package-lock.cmake b/cmake/package-lock.cmake index b857dd76..dedfc490 100644 --- a/cmake/package-lock.cmake +++ b/cmake/package-lock.cmake @@ -6,7 +6,7 @@ # This file should be committed to version control # hibf -set (CHOPPER_HIBF_VERSION 9e631fd792a35e369ea3385c04e299db3a00859c) +set (CHOPPER_HIBF_VERSION 2c1488a460c6a136332286f6efeaad26b1d8daac) CPMDeclarePackage (hibf NAME hibf GIT_TAG ${CHOPPER_HIBF_VERSION} # main @@ -26,7 +26,7 @@ CPMDeclarePackage (sharg OPTIONS "INSTALL_SHARG OFF" "INSTALL_TDL OFF" "CMAKE_MESSAGE_LOG_LEVEL WARNING" "BUILD_TESTING OFF" ) # seqan3 -set (CHOPPER_SEQAN3_VERSION 0b86c6567f910c943c13f40944ab737524a2ecf6) +set (CHOPPER_SEQAN3_VERSION f500cf7fbe128636c6e50a99519b5eb2532ab70e) CPMDeclarePackage (seqan3 NAME seqan3 GIT_TAG ${CHOPPER_SEQAN3_VERSION} # main @@ -38,7 +38,7 @@ CPMDeclarePackage (seqan3 # googletest set (CHOPPER_GOOGLETEST_VERSION 1.15.2) CPMDeclarePackage (googletest - NAME googletest + NAME GTest VERSION ${CHOPPER_GOOGLETEST_VERSION} GITHUB_REPOSITORY google/googletest SYSTEM TRUE From bb11ff953954f26e6ddb35e59f43003f4fb0795a Mon Sep 17 00:00:00 2001 From: Enrico Seiler Date: Tue, 29 Oct 2024 19:16:46 +0100 Subject: [PATCH 4/4] [MISC] Bogus linker warning gcc-12 --- test/api/layout/CMakeLists.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/api/layout/CMakeLists.txt b/test/api/layout/CMakeLists.txt index c21c2f1a..9cdb4076 100644 --- a/test/api/layout/CMakeLists.txt +++ b/test/api/layout/CMakeLists.txt @@ -17,5 +17,12 @@ target_use_datasources (execute_with_estimation_test FILES seq3.fa) target_use_datasources (execute_with_estimation_test FILES small.fa) add_api_test (hibf_statistics_test.cpp) +# Bogus LTO warning on gcc-12 +if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" + AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 12 + AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13 +) + target_link_options (hibf_statistics_test PRIVATE -Wno-stringop-overflow) +endif () add_api_test (user_bin_io_test.cpp) add_api_test (input_test.cpp)