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
