diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e5e8344..043e7c8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,23 +29,26 @@ jobs: install: g++-5 - toolset: gcc-6 cxxstd: "11,14,1z" - os: ubuntu-latest container: ubuntu:18.04 + os: ubuntu-latest install: g++-6 - toolset: gcc-7 cxxstd: "11,14,17" - os: ubuntu-latest container: ubuntu:18.04 + os: ubuntu-latest - toolset: gcc-8 cxxstd: "11,14,17,2a" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest install: g++-8 - toolset: gcc-9 cxxstd: "11,14,17,2a" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest - toolset: gcc-10 cxxstd: "11,14,17,2a" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest install: g++-10 - toolset: gcc-11 cxxstd: "11,14,17,2a" @@ -64,6 +67,11 @@ jobs: os: ubuntu-latest container: ubuntu:24.04 install: g++-14 + - toolset: gcc-15 + cxxstd: "11,14,17,20,23,2c" + os: ubuntu-latest + container: ubuntu:25.04 + install: g++-15 - toolset: clang compiler: clang++-3.9 cxxstd: "11,14" @@ -85,35 +93,45 @@ jobs: - toolset: clang compiler: clang++-6.0 cxxstd: "11,14,17" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest install: clang-6.0 - toolset: clang compiler: clang++-7 cxxstd: "11,14,17" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest install: clang-7 - toolset: clang compiler: clang++-8 cxxstd: "11,14,17" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest install: clang-8 - toolset: clang compiler: clang++-9 cxxstd: "11,14,17" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest install: clang-9 - toolset: clang compiler: clang++-10 cxxstd: "11,14,17,2a" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest + install: clang-10 - toolset: clang compiler: clang++-11 cxxstd: "11,14,17,2a" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest + install: clang-11 - toolset: clang compiler: clang++-12 cxxstd: "11,14,17,20" - os: ubuntu-20.04 + container: ubuntu:20.04 + os: ubuntu-latest + install: clang-12 - toolset: clang compiler: clang++-13 cxxstd: "11,14,17,20,2b" @@ -153,18 +171,24 @@ jobs: - toolset: clang compiler: clang++-19 cxxstd: "11,14,17,20,2b" - container: ubuntu:24.10 + container: ubuntu:24.04 os: ubuntu-latest install: clang-19 - toolset: clang - cxxstd: "11,14,17,20,2b" - os: macos-13 + compiler: clang++-20 + cxxstd: "11,14,17,20,23,2c" + container: ubuntu:25.04 + os: ubuntu-latest + install: clang-20 - toolset: clang cxxstd: "11,14,17,20,2b" os: macos-14 - toolset: clang cxxstd: "11,14,17,20,2b" os: macos-15 + - toolset: clang + cxxstd: "11,14,17,20,2b" + os: macos-26 runs-on: ${{matrix.os}} @@ -243,14 +267,6 @@ jobs: fail-fast: false matrix: include: - - toolset: msvc-14.0 - cxxstd: "14" - addrmd: 32,64 - os: windows-2019 - - toolset: msvc-14.2 - cxxstd: "14,17,20,latest" - addrmd: 32,64 - os: windows-2019 - toolset: msvc-14.3 cxxstd: "14,17,20,latest" addrmd: 32,64 @@ -262,7 +278,7 @@ jobs: - toolset: gcc cxxstd: "11,14,17,2a" addrmd: 64 - os: windows-2019 + os: windows-2022 runs-on: ${{matrix.os}} diff --git a/gen/gen.cpp b/gen/gen.cpp index 63a56be..a8c3da4 100644 --- a/gen/gen.cpp +++ b/gen/gen.cpp @@ -15,7 +15,8 @@ #include #include #include -#include +#include +#include #define NL "\n" #define TAB " " @@ -1751,7 +1752,9 @@ namespace output_file f(opt); { char buf[1024]; - sprintf(buf,INCLUDE_MAT_ASSIGN,d); + int n = snprintf(buf, sizeof(buf), INCLUDE_MAT_ASSIGN, d); + assert(n >= 0); + assert(static_cast(n) < sizeof(buf)); f.require_include(buf); } mr_op_ma_mb_same_size(f,d,d,"operator+","+","mm"); @@ -1818,7 +1821,9 @@ namespace output_file f(opt); { char buf[1024]; - sprintf(buf,INCLUDE_VEC_ASSIGN,d); + int n = snprintf(buf, sizeof(buf), INCLUDE_VEC_ASSIGN, d); + assert(n >= 0); + assert(static_cast(n) < sizeof(buf)); f.require_include(buf); } vr_op_va_vb_same_size(f,d,"operator+","+","vv");