github: Run test-libcxx on ARM too

This requires setting CMAKE_CXX_COMPILER_TARGET manually; the LLVM
build system infers the wrong architecture when CMake is an
x86_64 binary.

(The wrong inferred architecture doesn't affect building libcxx,
but the wrong architecture gets passed as --target= parameter
when running the tests.)

Since 9c67ae861ccb0312fc680414a8441892d169d14a in llvm-project
(May 9th), these tests should pass on aarch64 too.

Co-authored-by: Jeremy Drake <github@jdrake.com>
This commit is contained in:
Martin StorsjöandJeremy Drake committed 2025-05-10 11:53:04 +03:00
1 parent 6db08d6e89
commit d1ca6b578a
2 files changed
+17 -11

No files matched your search

+8 -5
View File
@@ -41,13 +41,15 @@ jobs:
test-libcxx:
needs: [prepare]
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
include:
- { arch: x86_64, prefix: i686-w64-mingw32- }
- { arch: x86_64, prefix: }
- { arch: x86_64, target_arch: i686 }
- { arch: x86_64, target_arch: x86_64 }
- { arch: aarch64, target_arch: armv7 }
- { arch: aarch64, target_arch: aarch64 }
runs-on: ${{startsWith(matrix.arch, 'a') && 'windows-11-arm' || 'windows-latest'}}
steps:
- name: Install dependencies
run: |
@@ -87,8 +89,9 @@ jobs:
-DLIBCXX_ENABLE_WERROR=YES `
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" `
-DLIBCXX_CXX_ABI=libcxxabi `
-DCMAKE_C_COMPILER=${{matrix.prefix}}clang `
-DCMAKE_CXX_COMPILER=${{matrix.prefix}}clang++ `
-DCMAKE_C_COMPILER=${{matrix.target_arch}}-w64-mingw32-clang `
-DCMAKE_CXX_COMPILER=${{matrix.target_arch}}-w64-mingw32-clang++ `
-DCMAKE_CXX_COMPILER_TARGET=${{matrix.target_arch}}-w64-windows-gnu `
-DLIBCXXABI_ENABLE_SHARED=NO `
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=YES `
-DLIBCXX_USE_COMPILER_RT=YES `