From b738ba0662a5438d5c257361055156bc980e928f Mon Sep 17 00:00:00 2001 From: Kim Walisch Date: Sun, 10 May 2026 15:47:27 +0200 Subject: [PATCH 1/4] Add Windows/Clang CI tests --- .github/workflows/ci.yml | 25 +++++++++++++++++++++++++ ChangeLog | 3 ++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3bc09576..7bb35b5a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,6 +52,31 @@ jobs: - name: primecount 1e14 --gourdon run: ./primecount 1e14 --gourdon + windows_clang: + runs-on: windows-2022 + steps: + - uses: actions/checkout@v5 + - name: Build primecount + run: | + cmake . -G Ninja -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang++.exe" -DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang.exe" -DCMAKE_CXX_FLAGS="-O3 -Wall -Wextra -pedantic" -DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang.exe" -DCMAKE_C_FLAGS="-O3 -Wall -Wextra -pedantic" -DBUILD_TESTS=ON + cmake --build . --config Release --target install + - name: CTest (unit tests) + run: ctest -j2 -C Release --output-on-failure + - name: primecount --test + run: .\build\primecount.exe --test + - name: primecount 1e11 --legendre + run: .\build\primecount.exe 1e11 --legendre + - name: primecount 1e12 --meissel + run: .\build\primecount.exe 1e12 --meissel + - name: primecount 1e11 --lehmer + run: .\build\primecount.exe 1e11 --lehmer + - name: primecount 1e12 --lmo + run: .\build\primecount.exe 1e12 --lmo + - name: primecount 1e13 --deleglise-rivat + run: .\build\primecount.exe 1e13 --deleglise-rivat + - name: primecount 1e14 --gourdon + run: .\build\primecount.exe 1e14 --gourdon + windows_msvc2022: runs-on: windows-2022 steps: diff --git a/ChangeLog b/ChangeLog index db6ef89d..fee30978 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ -Changes in primecount-8.5, 2026-05-09 +Changes in primecount-8.5, 2026-05-10 * Update to libprimesieve-12.14. +* ci.yml: Add Windows/Clang GitHub Actions CI tests. * ci.yml: Add FreeBSD GitHub Actions CI tests. * PiTable.cpp: Annotate OpenMP barrier with nowait. * main.cpp: Set LLVM OpenMP environment variables as a From 57e7a00344e8b695df4618cef65f645f50a344ec Mon Sep 17 00:00:00 2001 From: Kim Walisch Date: Sun, 10 May 2026 15:50:57 +0200 Subject: [PATCH 2/4] Add -Werror compiler option --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7bb35b5a..9e355174 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,7 +58,7 @@ jobs: - uses: actions/checkout@v5 - name: Build primecount run: | - cmake . -G Ninja -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang++.exe" -DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang.exe" -DCMAKE_CXX_FLAGS="-O3 -Wall -Wextra -pedantic" -DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang.exe" -DCMAKE_C_FLAGS="-O3 -Wall -Wextra -pedantic" -DBUILD_TESTS=ON + cmake . -G Ninja -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang++.exe" -DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang.exe" -DCMAKE_CXX_FLAGS="-O3 -Wall -Wextra -pedantic -Werror" -DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang.exe" -DCMAKE_C_FLAGS="-O3 -Wall -Wextra -pedantic -Werror" -DBUILD_TESTS=ON cmake --build . --config Release --target install - name: CTest (unit tests) run: ctest -j2 -C Release --output-on-failure From 21b21dc8b1c4be05f9772a3f66aa1f9cab94262b Mon Sep 17 00:00:00 2001 From: Kim Walisch Date: Sun, 10 May 2026 15:52:49 +0200 Subject: [PATCH 3/4] Fix release path --- .github/workflows/ci.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9e355174..aebd6bac 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -63,19 +63,19 @@ jobs: - name: CTest (unit tests) run: ctest -j2 -C Release --output-on-failure - name: primecount --test - run: .\build\primecount.exe --test + run: Release\primecount.exe --test - name: primecount 1e11 --legendre - run: .\build\primecount.exe 1e11 --legendre + run: Release\primecount.exe 1e11 --legendre - name: primecount 1e12 --meissel - run: .\build\primecount.exe 1e12 --meissel + run: Release\primecount.exe 1e12 --meissel - name: primecount 1e11 --lehmer - run: .\build\primecount.exe 1e11 --lehmer + run: Release\primecount.exe 1e11 --lehmer - name: primecount 1e12 --lmo - run: .\build\primecount.exe 1e12 --lmo + run: Release\primecount.exe 1e12 --lmo - name: primecount 1e13 --deleglise-rivat - run: .\build\primecount.exe 1e13 --deleglise-rivat + run: Release\primecount.exe 1e13 --deleglise-rivat - name: primecount 1e14 --gourdon - run: .\build\primecount.exe 1e14 --gourdon + run: Release\primecount.exe 1e14 --gourdon windows_msvc2022: runs-on: windows-2022 From 503ceb9e7701a3aad0f4aef1cb04053dfdb71ace Mon Sep 17 00:00:00 2001 From: Kim Walisch Date: Sun, 10 May 2026 15:58:43 +0200 Subject: [PATCH 4/4] Fix path --- .github/workflows/ci.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aebd6bac..59e0a60f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,24 +58,24 @@ jobs: - uses: actions/checkout@v5 - name: Build primecount run: | - cmake . -G Ninja -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang++.exe" -DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang.exe" -DCMAKE_CXX_FLAGS="-O3 -Wall -Wextra -pedantic -Werror" -DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang.exe" -DCMAKE_C_FLAGS="-O3 -Wall -Wextra -pedantic -Werror" -DBUILD_TESTS=ON - cmake --build . --config Release --target install + cmake . -G Ninja -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang++.exe" -DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang.exe" -DCMAKE_CXX_FLAGS="-O3 -Wall -Wextra -pedantic -Werror" -DCMAKE_C_FLAGS="-O3 -Wall -Wextra -pedantic -Werror" -DBUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Release + cmake --build . --parallel --verbose - name: CTest (unit tests) - run: ctest -j2 -C Release --output-on-failure + run: ctest -j2 --output-on-failure - name: primecount --test - run: Release\primecount.exe --test + run: .\primecount.exe --test - name: primecount 1e11 --legendre - run: Release\primecount.exe 1e11 --legendre + run: .\primecount.exe 1e11 --legendre - name: primecount 1e12 --meissel - run: Release\primecount.exe 1e12 --meissel + run: .\primecount.exe 1e12 --meissel - name: primecount 1e11 --lehmer - run: Release\primecount.exe 1e11 --lehmer + run: .\primecount.exe 1e11 --lehmer - name: primecount 1e12 --lmo - run: Release\primecount.exe 1e12 --lmo + run: .\primecount.exe 1e12 --lmo - name: primecount 1e13 --deleglise-rivat - run: Release\primecount.exe 1e13 --deleglise-rivat + run: .\primecount.exe 1e13 --deleglise-rivat - name: primecount 1e14 --gourdon - run: Release\primecount.exe 1e14 --gourdon + run: .\primecount.exe 1e14 --gourdon windows_msvc2022: runs-on: windows-2022