When we applied -Werror to builds of CRT/winpthreads in
9f4d81621fea262200ee5e322627b4e0a5f89d70, this didn't end up
applying to the armv7 target, as we don't do the builds for
running testcases on armv7 (because since
e6535ce604431e88522e354d69379a1ba82e6710 we've stopped running
things in armv7 mode entirely).

We still do build for armv7 (as part of the llvm-mingw build),
but we don't apply -Werror there.

Use the aarch64 version of the toolchain, split the build+test
jobs and skip the tests when targeting armv7.

Alternatively, we could try to inject -Werror in relevant
parts of the build of the runtimes in llvm-mingw. Once we have
a way of doing that, we could revert this change.

Signed-off-by: Martin Storsjö <[email protected]>
---
 .github/workflows/build.yml | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index e175e2cbf..633eb142c 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -586,6 +586,7 @@ jobs:
         arch:
           - i686
           - x86_64
+          - armv7
           - aarch64
           - arm64ec
     runs-on: ${{startsWith(matrix.arch, 'a') && 'windows-11-arm' || 
'windows-latest'}}
@@ -600,13 +601,13 @@ jobs:
             automake
       - name: Unpack toolchain
         run: |
-          curl -LO 
https://github.com/mstorsjo/llvm-mingw/releases/download/20250924/llvm-mingw-20250924-${{
 matrix.crt == 'ucrtbase' && 'ucrt' || ((matrix.crt == 'msvcrt' && 
startsWith(matrix.arch, 'a')) && 'ucrt') || matrix.crt }}-${{ matrix.arch == 
'arm64ec' && 'aarch64' || matrix.arch }}.zip
+          curl -LO 
https://github.com/mstorsjo/llvm-mingw/releases/download/20250924/llvm-mingw-20250924-${{
 matrix.crt == 'ucrtbase' && 'ucrt' || ((matrix.crt == 'msvcrt' && 
startsWith(matrix.arch, 'a')) && 'ucrt') || matrix.crt }}-${{ (matrix.arch == 
'arm64ec' || matrix.arch == 'armv7') && 'aarch64' || matrix.arch }}.zip
           unzip -q llvm-mingw-*.zip
           rm llvm-mingw-*.zip
           mv llvm-mingw-* /llvm-mingw
           echo /llvm-mingw/bin >> $GITHUB_PATH
       - uses: actions/checkout@v4
-      - name: Build mingw-w64-crt and run testcases
+      - name: Build mingw-w64-crt
         run: |
           export PATH=/llvm-mingw/bin:$PATH
           cd mingw-w64-headers
@@ -623,8 +624,13 @@ jobs:
           ../configure --disable-dependency-tracking 
--prefix=/llvm-mingw/${{matrix.arch}}-w64-mingw32 
--host=${{matrix.arch}}-w64-mingw32 --with-default-msvcrt=${{matrix.crt}} 
--enable-silent-rules ${{ (startsWith(matrix.arch, 'a') && '--disable-lib32 
--disable-lib64') || (matrix.arch == 'x86_64' && '--disable-lib32') || 
'--disable-lib64' }} CPPFLAGS="-Werror"
           make -j$(nproc)
           make -j$(nproc) install
+      - name: Run mingw-w64-crt testcases
+        if: matrix.arch != 'armv7'
+        run: |
+          export PATH=/llvm-mingw/bin:$PATH
+          cd mingw-w64-crt/build
           make -j$(nproc) check -k -O || { cat testcases/test-suite.log; exit 
1; }
-      - name: Build and test winpthreads
+      - name: Build winpthreads
         run: |
           export PATH=/llvm-mingw/bin:$PATH
           cd mingw-w64-libraries/winpthreads
@@ -633,6 +639,11 @@ jobs:
           cd build
           ../configure --disable-dependency-tracking 
--prefix=/llvm-mingw/${{matrix.arch}}-w64-mingw32 
--host=${{matrix.arch}}-w64-mingw32 --enable-silent-rules CPPFLAGS="-Werror"
           make -j$(nproc)
+      - name: Test winpthreads
+        if: matrix.arch != 'armv7'
+        run: |
+          export PATH=/llvm-mingw/bin:$PATH
+          cd mingw-w64-libraries/winpthreads/build
           make -j$(nproc) check -k -O || { cat tests/test-suite.log; exit 1; }
 
   testcases-gcc:
-- 
2.43.0



_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to