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:
1 parent
6db08d6e89
commit
d1ca6b578a
2 files changed
+17
-11
No files matched your search
@@ -365,7 +365,7 @@ jobs:
|
|||||||
./run-tests.sh /llvm-mingw
|
./run-tests.sh /llvm-mingw
|
||||||
./run-lldb-tests.sh /llvm-mingw
|
./run-lldb-tests.sh /llvm-mingw
|
||||||
|
|
||||||
# Run libcxx's tests with the cross-built i686/x86_64 toolchains from above.
|
# Run libcxx's tests with the cross-built toolchains from above.
|
||||||
# (This builds its own copy of libcxx, but it should be pretty much
|
# (This builds its own copy of libcxx, but it should be pretty much
|
||||||
# identical to the one shipped - and tests that the toolchain works
|
# identical to the one shipped - and tests that the toolchain works
|
||||||
# for running the libcxx tests.)
|
# for running the libcxx tests.)
|
||||||
@@ -379,13 +379,15 @@ jobs:
|
|||||||
# temporarily on a branch for testing.
|
# temporarily on a branch for testing.
|
||||||
if: false
|
if: false
|
||||||
needs: [linux-cross-windows, prepare]
|
needs: [linux-cross-windows, prepare]
|
||||||
runs-on: windows-latest
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- { arch: x86_64, prefix: i686-w64-mingw32- }
|
- { arch: x86_64, target_arch: i686 }
|
||||||
- { arch: x86_64, prefix: }
|
- { 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:
|
steps:
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
@@ -419,8 +421,9 @@ jobs:
|
|||||||
-DLIBCXX_ENABLE_WERROR=YES `
|
-DLIBCXX_ENABLE_WERROR=YES `
|
||||||
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" `
|
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" `
|
||||||
-DLIBCXX_CXX_ABI=libcxxabi `
|
-DLIBCXX_CXX_ABI=libcxxabi `
|
||||||
-DCMAKE_C_COMPILER=${{matrix.prefix}}clang `
|
-DCMAKE_C_COMPILER=${{matrix.target_arch}}-w64-mingw32-clang `
|
||||||
-DCMAKE_CXX_COMPILER=${{matrix.prefix}}clang++ `
|
-DCMAKE_CXX_COMPILER=${{matrix.target_arch}}-w64-mingw32-clang++ `
|
||||||
|
-DCMAKE_CXX_COMPILER_TARGET=${{matrix.target_arch}}-w64-windows-gnu `
|
||||||
-DLIBCXXABI_ENABLE_SHARED=NO `
|
-DLIBCXXABI_ENABLE_SHARED=NO `
|
||||||
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=YES `
|
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=YES `
|
||||||
-DLIBCXX_USE_COMPILER_RT=YES `
|
-DLIBCXX_USE_COMPILER_RT=YES `
|
||||||
|
|||||||
@@ -41,13 +41,15 @@ jobs:
|
|||||||
|
|
||||||
test-libcxx:
|
test-libcxx:
|
||||||
needs: [prepare]
|
needs: [prepare]
|
||||||
runs-on: windows-latest
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- { arch: x86_64, prefix: i686-w64-mingw32- }
|
- { arch: x86_64, target_arch: i686 }
|
||||||
- { arch: x86_64, prefix: }
|
- { 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:
|
steps:
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
@@ -87,8 +89,9 @@ jobs:
|
|||||||
-DLIBCXX_ENABLE_WERROR=YES `
|
-DLIBCXX_ENABLE_WERROR=YES `
|
||||||
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" `
|
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" `
|
||||||
-DLIBCXX_CXX_ABI=libcxxabi `
|
-DLIBCXX_CXX_ABI=libcxxabi `
|
||||||
-DCMAKE_C_COMPILER=${{matrix.prefix}}clang `
|
-DCMAKE_C_COMPILER=${{matrix.target_arch}}-w64-mingw32-clang `
|
||||||
-DCMAKE_CXX_COMPILER=${{matrix.prefix}}clang++ `
|
-DCMAKE_CXX_COMPILER=${{matrix.target_arch}}-w64-mingw32-clang++ `
|
||||||
|
-DCMAKE_CXX_COMPILER_TARGET=${{matrix.target_arch}}-w64-windows-gnu `
|
||||||
-DLIBCXXABI_ENABLE_SHARED=NO `
|
-DLIBCXXABI_ENABLE_SHARED=NO `
|
||||||
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=YES `
|
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=YES `
|
||||||
-DLIBCXX_USE_COMPILER_RT=YES `
|
-DLIBCXX_USE_COMPILER_RT=YES `
|
||||||
|
|||||||
Reference in new issue
Block a user