[libcxx] [llvm] Debug windows failures for localization changes (PR #114228)
Louis Dionne via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 30 06:30:45 PDT 2024
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/114228
>From 144286f0f6c21690b54d5472ff9e4939875c4aea Mon Sep 17 00:00:00 2001
From: Louis Dionne <ldionne.2 at gmail.com>
Date: Wed, 30 Oct 2024 09:26:24 -0400
Subject: [PATCH 1/4] WIP: original patch
---
libcxx/include/__locale_dir/locale_base_api.h | 8 ++
.../locale_base_api/bsd_locale_defaults.h | 107 +++++++++++++++---
.../locale_base_api/bsd_locale_fallbacks.h | 4 +-
libcxx/include/locale | 12 +-
.../test/libcxx/clang_modules_include.gen.py | 8 ++
5 files changed, 113 insertions(+), 26 deletions(-)
diff --git a/libcxx/include/__locale_dir/locale_base_api.h b/libcxx/include/__locale_dir/locale_base_api.h
index b6c80255b4d199..64615b96b784f8 100644
--- a/libcxx/include/__locale_dir/locale_base_api.h
+++ b/libcxx/include/__locale_dir/locale_base_api.h
@@ -9,6 +9,8 @@
#ifndef _LIBCPP___LOCALE_DIR_LOCALE_BASE_API_H
#define _LIBCPP___LOCALE_DIR_LOCALE_BASE_API_H
+#include <__config>
+
#if defined(_LIBCPP_MSVCRT_LIKE)
# include <__locale_dir/locale_base_api/win32.h>
#elif defined(_AIX) || defined(__MVS__)
@@ -27,6 +29,12 @@
# include <__locale_dir/locale_base_api/freebsd.h>
#endif
+#ifdef _LIBCPP_LOCALE__L_EXTENSIONS
+# include <__locale_dir/locale_base_api/bsd_locale_defaults.h>
+#else
+# include <__locale_dir/locale_base_api/bsd_locale_fallbacks.h>
+#endif
+
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
#endif
diff --git a/libcxx/include/__locale_dir/locale_base_api/bsd_locale_defaults.h b/libcxx/include/__locale_dir/locale_base_api/bsd_locale_defaults.h
index e88eb4fa41d7af..faf974df37e8f2 100644
--- a/libcxx/include/__locale_dir/locale_base_api/bsd_locale_defaults.h
+++ b/libcxx/include/__locale_dir/locale_base_api/bsd_locale_defaults.h
@@ -14,23 +14,102 @@
#ifndef _LIBCPP___LOCALE_DIR_LOCALE_BASE_API_BSD_LOCALE_DEFAULTS_H
#define _LIBCPP___LOCALE_DIR_LOCALE_BASE_API_BSD_LOCALE_DEFAULTS_H
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
+# include <wchar.h>
+#endif
+
+// <xlocale.h> must come after the includes above since the functions it includes depend on
+// what headers have been included up to that point.
+#if defined(__APPLE__) || defined(__FreeBSD__)
+# include <xlocale.h>
+#endif
+
+#include <__config>
+#include <__cstddef/size_t.h>
+#include <__std_mbstate_t.h>
+#include <__utility/forward.h>
+
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
#endif
-#define __libcpp_mb_cur_max_l(loc) MB_CUR_MAX_L(loc)
-#define __libcpp_btowc_l(ch, loc) btowc_l(ch, loc)
-#define __libcpp_wctob_l(wch, loc) wctob_l(wch, loc)
-#define __libcpp_wcsnrtombs_l(dst, src, nwc, len, ps, loc) wcsnrtombs_l(dst, src, nwc, len, ps, loc)
-#define __libcpp_wcrtomb_l(src, wc, ps, loc) wcrtomb_l(src, wc, ps, loc)
-#define __libcpp_mbsnrtowcs_l(dst, src, nms, len, ps, loc) mbsnrtowcs_l(dst, src, nms, len, ps, loc)
-#define __libcpp_mbrtowc_l(pwc, s, n, ps, l) mbrtowc_l(pwc, s, n, ps, l)
-#define __libcpp_mbtowc_l(pwc, pmb, max, l) mbtowc_l(pwc, pmb, max, l)
-#define __libcpp_mbrlen_l(s, n, ps, l) mbrlen_l(s, n, ps, l)
-#define __libcpp_localeconv_l(l) localeconv_l(l)
-#define __libcpp_mbsrtowcs_l(dest, src, len, ps, l) mbsrtowcs_l(dest, src, len, ps, l)
-#define __libcpp_snprintf_l(...) snprintf_l(__VA_ARGS__)
-#define __libcpp_asprintf_l(...) asprintf_l(__VA_ARGS__)
-#define __libcpp_sscanf_l(...) sscanf_l(__VA_ARGS__)
+_LIBCPP_BEGIN_NAMESPACE_STD
+
+inline _LIBCPP_HIDE_FROM_ABI decltype(MB_CUR_MAX) __libcpp_mb_cur_max_l(locale_t __loc) { return MB_CUR_MAX_L(__loc); }
+
+#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
+inline _LIBCPP_HIDE_FROM_ABI wint_t __libcpp_btowc_l(int __c, locale_t __loc) { return ::btowc_l(__c, __loc); }
+
+inline _LIBCPP_HIDE_FROM_ABI int __libcpp_wctob_l(wint_t __c, locale_t __loc) { return ::wctob_l(__c, __loc); }
+
+inline _LIBCPP_HIDE_FROM_ABI size_t __libcpp_wcsnrtombs_l(
+ char* __dest, const wchar_t** __src, size_t __nwc, size_t __len, mbstate_t* __ps, locale_t __loc) {
+ return ::wcsnrtombs_l(__dest, __src, __nwc, __len, __ps, __loc);
+}
+
+inline _LIBCPP_HIDE_FROM_ABI size_t __libcpp_wcrtomb_l(char* __s, wchar_t __wc, mbstate_t* __ps, locale_t __loc) {
+ return ::wcrtomb_l(__s, __wc, __ps, __loc);
+}
+
+inline _LIBCPP_HIDE_FROM_ABI size_t __libcpp_mbsnrtowcs_l(
+ wchar_t* __dest, const char** __src, size_t __nms, size_t __len, mbstate_t* __ps, locale_t __loc) {
+ return ::mbsnrtowcs_l(__dest, __src, __nms, __len, __ps, __loc);
+}
+
+inline _LIBCPP_HIDE_FROM_ABI size_t
+__libcpp_mbrtowc_l(wchar_t* __pwc, const char* __s, size_t __n, mbstate_t* __ps, locale_t __loc) {
+ return ::mbrtowc_l(__pwc, __s, __n, __ps, __loc);
+}
+
+inline _LIBCPP_HIDE_FROM_ABI int __libcpp_mbtowc_l(wchar_t* __pwc, const char* __pmb, size_t __max, locale_t __loc) {
+ return ::mbtowc_l(__pwc, __pmb, __max, __loc);
+}
+
+inline _LIBCPP_HIDE_FROM_ABI size_t __libcpp_mbrlen_l(const char* __s, size_t __n, mbstate_t* __ps, locale_t __loc) {
+ return ::mbrlen_l(__s, __n, __ps, __loc);
+}
+#endif // _LIBCPP_HAS_NO_WIDE_CHARACTERS
+
+inline _LIBCPP_HIDE_FROM_ABI lconv* __libcpp_localeconv_l(locale_t __loc) { return ::localeconv_l(__loc); }
+
+#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
+inline _LIBCPP_HIDE_FROM_ABI size_t
+__libcpp_mbsrtowcs_l(wchar_t* __dest, const char** __src, size_t __len, mbstate_t* __ps, locale_t __loc) {
+ return ::mbsrtowcs_l(__dest, __src, __len, __ps, __loc);
+}
+#endif
+
+template <class... _Args>
+_LIBCPP_HIDE_FROM_ABI int
+__libcpp_snprintf_l(char* __s, size_t __n, locale_t __loc, const char* __format, _Args&&... __args) {
+ _LIBCPP_DIAGNOSTIC_PUSH
+ _LIBCPP_CLANG_DIAGNOSTIC_IGNORED("-Wformat-nonliteral")
+ _LIBCPP_GCC_DIAGNOSTIC_IGNORED("-Wformat-nonliteral")
+ return ::snprintf_l(__s, __n, __loc, __format, std::forward<_Args>(__args)...);
+ _LIBCPP_DIAGNOSTIC_POP
+}
+
+template <class... _Args>
+_LIBCPP_HIDE_FROM_ABI int __libcpp_asprintf_l(char** __s, locale_t __loc, const char* __format, _Args&&... __args) {
+ _LIBCPP_DIAGNOSTIC_PUSH
+ _LIBCPP_CLANG_DIAGNOSTIC_IGNORED("-Wformat-nonliteral")
+ _LIBCPP_GCC_DIAGNOSTIC_IGNORED("-Wformat-nonliteral")
+ return ::asprintf_l(__s, __loc, __format, std::forward<_Args>(__args)...);
+ _LIBCPP_DIAGNOSTIC_POP
+}
+
+template <class... _Args>
+_LIBCPP_HIDE_FROM_ABI int __libcpp_sscanf_l(const char* __s, locale_t __loc, const char* __format, _Args&&... __args) {
+ _LIBCPP_DIAGNOSTIC_PUSH
+ _LIBCPP_CLANG_DIAGNOSTIC_IGNORED("-Wformat-nonliteral")
+ _LIBCPP_GCC_DIAGNOSTIC_IGNORED("-Wformat-nonliteral")
+ return ::sscanf_l(__s, __loc, __format, std::forward<_Args>(__args)...);
+ _LIBCPP_DIAGNOSTIC_POP
+}
+
+_LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP___LOCALE_DIR_LOCALE_BASE_API_BSD_LOCALE_DEFAULTS_H
diff --git a/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h b/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
index ae2db6ae70bebc..53336a35ffaf33 100644
--- a/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
+++ b/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
@@ -13,9 +13,11 @@
#ifndef _LIBCPP___LOCALE_DIR_LOCALE_BASE_API_BSD_LOCALE_FALLBACKS_H
#define _LIBCPP___LOCALE_DIR_LOCALE_BASE_API_BSD_LOCALE_FALLBACKS_H
+#include <locale.h>
+
#include <__locale_dir/locale_guard.h>
-#include <cstdio>
#include <stdarg.h>
+#include <stdio.h>
#include <stdlib.h>
#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
diff --git a/libcxx/include/locale b/libcxx/include/locale
index 782475ea7e0eb8..4706515b0a6c86 100644
--- a/libcxx/include/locale
+++ b/libcxx/include/locale
@@ -215,7 +215,7 @@ template <class charT> class messages_byname;
# include <streambuf>
# include <version>
-// TODO: Fix __bsd_locale_defaults.h
+// TODO: Properly qualify calls now that __bsd_locale_defaults.h defines functions instead of macros
// NOLINTBEGIN(libcpp-robust-against-adl)
# if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
@@ -230,16 +230,6 @@ template <class charT> class messages_byname;
# define _LIBCPP_HAS_CATOPEN 0
# endif
-# ifdef _LIBCPP_LOCALE__L_EXTENSIONS
-# include <__locale_dir/locale_base_api/bsd_locale_defaults.h>
-# else
-# include <__locale_dir/locale_base_api/bsd_locale_fallbacks.h>
-# endif
-
-# if defined(__APPLE__) || defined(__FreeBSD__)
-# include <xlocale.h>
-# endif
-
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
# endif
diff --git a/libcxx/test/libcxx/clang_modules_include.gen.py b/libcxx/test/libcxx/clang_modules_include.gen.py
index bc028f2a0809aa..ffbdf4a1e3194e 100644
--- a/libcxx/test/libcxx/clang_modules_include.gen.py
+++ b/libcxx/test/libcxx/clang_modules_include.gen.py
@@ -24,6 +24,10 @@
//--- {header}.compile.pass.cpp
// RUN: %{{cxx}} %s %{{flags}} %{{compile_flags}} -fmodules -fcxx-modules -fmodules-cache-path=%t -fsyntax-only
+// Older macOS SDKs were not properly modularized, which causes issues with localization.
+// This feature should instead be based on the SDK version.
+// UNSUPPORTED: stdlib=system && target={{{{.+}}}}-apple-macosx13{{{{.*}}}}
+
// GCC doesn't support -fcxx-modules
// UNSUPPORTED: gcc
@@ -52,6 +56,10 @@
// REQUIRES: clang-modules-build
+// Older macOS SDKs were not properly modularized, which causes issues with localization.
+// This feature should instead be based on the SDK version.
+// UNSUPPORTED: stdlib=system && target={{{{.+}}}}-apple-macosx13{{{{.*}}}}
+
// GCC doesn't support -fcxx-modules
// UNSUPPORTED: gcc
>From aade6a7ee0f292bd727e646ae53e22356a3e1eb1 Mon Sep 17 00:00:00 2001
From: Louis Dionne <ldionne.2 at gmail.com>
Date: Wed, 30 Oct 2024 09:27:35 -0400
Subject: [PATCH 2/4] Disable non-windows bots for testing
---
.github/workflows/libcxx-build-and-test.yaml | 204 +------------------
1 file changed, 8 insertions(+), 196 deletions(-)
diff --git a/.github/workflows/libcxx-build-and-test.yaml b/.github/workflows/libcxx-build-and-test.yaml
index 184fed2268e818..58427421a3739d 100644
--- a/.github/workflows/libcxx-build-and-test.yaml
+++ b/.github/workflows/libcxx-build-and-test.yaml
@@ -47,209 +47,21 @@ env:
jobs:
- stage1:
- if: github.repository_owner == 'llvm'
- runs-on: libcxx-runners-8-set
- continue-on-error: false
- strategy:
- fail-fast: false
- matrix:
- config: [
- 'generic-cxx03',
- 'generic-cxx26',
- 'generic-modules'
- ]
- cc: [ 'clang-19' ]
- cxx: [ 'clang++-19' ]
- include:
- - config: 'generic-gcc'
- cc: 'gcc-14'
- cxx: 'g++-14'
- steps:
- - uses: actions/checkout at v4
- - name: ${{ matrix.config }}.${{ matrix.cxx }}
- run: libcxx/utils/ci/run-buildbot ${{ matrix.config }}
- env:
- CC: ${{ matrix.cc }}
- CXX: ${{ matrix.cxx }}
- - uses: actions/upload-artifact at 26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
- if: always()
- with:
- name: ${{ matrix.config }}-${{ matrix.cxx }}-results
- path: |
- **/test-results.xml
- **/*.abilist
- **/CMakeError.log
- **/CMakeOutput.log
- **/crash_diagnostics/*
- stage2:
- if: github.repository_owner == 'llvm'
- runs-on: libcxx-runners-8-set
- needs: [ stage1 ]
- continue-on-error: false
- strategy:
- fail-fast: false
- matrix:
- config: [
- 'generic-cxx11',
- 'generic-cxx14',
- 'generic-cxx17',
- 'generic-cxx20',
- 'generic-cxx23'
- ]
- cc: [ 'clang-19' ]
- cxx: [ 'clang++-19' ]
- include:
- - config: 'generic-gcc-cxx11'
- cc: 'gcc-14'
- cxx: 'g++-14'
- - config: 'generic-cxx23'
- cc: 'clang-17'
- cxx: 'clang++-17'
- - config: 'generic-cxx26'
- cc: 'clang-18'
- cxx: 'clang++-18'
- steps:
- - uses: actions/checkout at v4
- - name: ${{ matrix.config }}
- run: libcxx/utils/ci/run-buildbot ${{ matrix.config }}
- env:
- CC: ${{ matrix.cc }}
- CXX: ${{ matrix.cxx }}
- - uses: actions/upload-artifact at 26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
- if: always() # Upload artifacts even if the build or test suite fails
- with:
- name: ${{ matrix.config }}-${{ matrix.cxx }}-results
- path: |
- **/test-results.xml
- **/*.abilist
- **/CMakeError.log
- **/CMakeOutput.log
- **/crash_diagnostics/*
- stage3:
- if: github.repository_owner == 'llvm'
- needs: [ stage1, stage2 ]
- continue-on-error: false
- strategy:
- fail-fast: false
- max-parallel: 8
- matrix:
- config: [
- 'generic-abi-unstable',
- 'generic-hardening-mode-debug',
- 'generic-hardening-mode-extensive',
- 'generic-hardening-mode-fast',
- 'generic-hardening-mode-fast-with-abi-breaks',
- 'generic-merged',
- 'generic-modules-lsv',
- 'generic-no-exceptions',
- 'generic-no-experimental',
- 'generic-no-filesystem',
- 'generic-no-localization',
- 'generic-no-terminal',
- 'generic-no-random_device',
- 'generic-no-threads',
- 'generic-no-tzdb',
- 'generic-no-unicode',
- 'generic-no-wide-characters',
- 'generic-no-rtti',
- 'generic-optimized-speed',
- 'generic-static',
- # TODO Find a better place for the benchmark and bootstrapping builds to live. They're either very expensive
- # or don't provide much value since the benchmark run results are too noise on the bots.
- 'benchmarks',
- 'bootstrapping-build'
- ]
- machine: [ 'libcxx-runners-8-set' ]
- include:
- - config: 'generic-cxx26'
- machine: libcxx-runners-8-set
- - config: 'generic-asan'
- machine: libcxx-runners-8-set
- - config: 'generic-tsan'
- machine: libcxx-runners-8-set
- - config: 'generic-ubsan'
- machine: libcxx-runners-8-set
- # Use a larger machine for MSAN to avoid timeout and memory allocation issues.
- - config: 'generic-msan'
- machine: libcxx-runners-8-set
- runs-on: ${{ matrix.machine }}
- steps:
- - uses: actions/checkout at v4
- - name: ${{ matrix.config }}
- run: libcxx/utils/ci/run-buildbot ${{ matrix.config }}
- env:
- CC: clang-19
- CXX: clang++-19
- - uses: actions/upload-artifact at 26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
- if: always()
- with:
- name: ${{ matrix.config }}-results
- path: |
- **/test-results.xml
- **/*.abilist
- **/CMakeError.log
- **/CMakeOutput.log
- **/crash_diagnostics/*
-
- macos:
- needs: [ stage1 ]
- strategy:
- fail-fast: false
- matrix:
- include:
- - config: generic-cxx03
- os: macos-latest
- - config: generic-cxx23
- os: macos-latest
- - config: generic-modules
- os: macos-latest
- - config: apple-configuration
- os: macos-latest
- - config: apple-system
- os: macos-13
- - config: apple-system-hardened
- os: macos-13
- runs-on: ${{ matrix.os }}
- steps:
- - uses: actions/checkout at v4
- - uses: maxim-lobanov/setup-xcode at v1
- with:
- xcode-version: 'latest'
- - uses: seanmiddleditch/gha-setup-ninja at master
- - name: Build and test
- run: |
- python3 -m venv .venv
- source .venv/bin/activate
- python -m pip install psutil
- bash libcxx/utils/ci/run-buildbot ${{ matrix.config }}
- - uses: actions/upload-artifact at 26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
- if: always() # Upload artifacts even if the build or test suite fails
- with:
- name: macos-${{ matrix.config }}-results
- path: |
- **/test-results.xml
- **/*.abilist
- **/CMakeError.log
- **/CMakeOutput.log
- **/crash_diagnostics/*
-
windows:
runs-on: windows-2022
- needs: [ stage1 ]
strategy:
fail-fast: false
matrix:
include:
- { config: clang-cl-dll, mingw: false }
- - { config: clang-cl-static, mingw: false }
- - { config: clang-cl-no-vcruntime, mingw: false }
- - { config: clang-cl-debug, mingw: false }
- - { config: clang-cl-static-crt, mingw: false }
- - { config: mingw-dll, mingw: true }
- - { config: mingw-static, mingw: true }
- - { config: mingw-dll-i686, mingw: true }
- - { config: mingw-incomplete-sysroot, mingw: true }
+ # - { config: clang-cl-static, mingw: false }
+ # - { config: clang-cl-no-vcruntime, mingw: false }
+ # - { config: clang-cl-debug, mingw: false }
+ # - { config: clang-cl-static-crt, mingw: false }
+ # - { config: mingw-dll, mingw: true }
+ # - { config: mingw-static, mingw: true }
+ # - { config: mingw-dll-i686, mingw: true }
+ # - { config: mingw-incomplete-sysroot, mingw: true }
steps:
- uses: actions/checkout at v4
- name: Install dependencies
>From 8746ce1b1d60d5686c721f802e95d3fad7654d1c Mon Sep 17 00:00:00 2001
From: Louis Dionne <ldionne.2 at gmail.com>
Date: Wed, 30 Oct 2024 09:28:44 -0400
Subject: [PATCH 3/4] Run only one failing test
---
libcxx/utils/ci/run-buildbot | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot
index 0b72f8c4031031..8b1466445151af 100755
--- a/libcxx/utils/ci/run-buildbot
+++ b/libcxx/utils/ci/run-buildbot
@@ -700,8 +700,11 @@ clang-cl-dll)
# anyway), thus just disable the experimental library. Remove this
# setting when cmake and the test driver does the right thing automatically.
generate-cmake-libcxx-win -DLIBCXX_TEST_PARAMS="enable_experimental=False"
- step "Running the libc++ tests"
- ${NINJA} -vC "${BUILD_DIR}" check-cxx
+ step "Building dependencies"
+ ${NINJA} -vC "${BUILD_DIR}" cxx-test-depends
+
+ step "Running tests"
+ ./libcxx/utils/libcxx-lit "${BUILD_DIR}" --show-all libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.assign/assign.pass.cpp
;;
clang-cl-static)
clean
>From 0ff4e7ac127ac4fdb089c59155375dfa0e9167fd Mon Sep 17 00:00:00 2001
From: Louis Dionne <ldionne.2 at gmail.com>
Date: Wed, 30 Oct 2024 09:30:34 -0400
Subject: [PATCH 4/4] Disable buildkite pipeline
---
libcxx/utils/ci/buildkite-pipeline.yml | 103 +------------------------
1 file changed, 1 insertion(+), 102 deletions(-)
diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml
index d1465721cf1648..1c5c7cad336768 100644
--- a/libcxx/utils/ci/buildkite-pipeline.yml
+++ b/libcxx/utils/ci/buildkite-pipeline.yml
@@ -40,109 +40,8 @@ steps:
- group: ARM
steps:
- label: AArch64
- command: libcxx/utils/ci/run-buildbot aarch64
+ command: true
agents:
queue: libcxx-builders-linaro-arm
arch: aarch64
<<: *common
-
- - label: AArch64 -fno-exceptions
- command: libcxx/utils/ci/run-buildbot aarch64-no-exceptions
- agents:
- queue: libcxx-builders-linaro-arm
- arch: aarch64
- <<: *common
-
- - label: Armv8
- command: libcxx/utils/ci/run-buildbot armv8
- agents:
- queue: libcxx-builders-linaro-arm
- arch: armv8l
- <<: *common
-
- - label: Armv8 -fno-exceptions
- command: libcxx/utils/ci/run-buildbot armv8-no-exceptions
- agents:
- queue: libcxx-builders-linaro-arm
- arch: armv8l
- <<: *common
-
- - label: Armv7
- command: libcxx/utils/ci/run-buildbot armv7
- agents:
- queue: libcxx-builders-linaro-arm
- arch: armv8l
- <<: *common
-
- - label: Armv7 -fno-exceptions
- command: libcxx/utils/ci/run-buildbot armv7-no-exceptions
- agents:
- queue: libcxx-builders-linaro-arm
- arch: armv8l
- <<: *common
-
- - label: Armv7-M picolibc
- command: libcxx/utils/ci/run-buildbot armv7m-picolibc
- agents:
- queue: libcxx-builders-linaro-arm
- arch: aarch64
- <<: *common
-
- - label: Armv7-M picolibc -fno-exceptions
- command: libcxx/utils/ci/run-buildbot armv7m-picolibc-no-exceptions
- agents:
- queue: libcxx-builders-linaro-arm
- arch: aarch64
- <<: *common
-
-- group: AIX
- steps:
- - label: AIX (32-bit)
- command: libcxx/utils/ci/run-buildbot aix
- env:
- CC: clang
- CXX: clang++
- OBJECT_MODE: '32'
- agents:
- queue: libcxx-builders
- os: aix
- <<: *common
-
- - label: AIX (64-bit)
- command: libcxx/utils/ci/run-buildbot aix
- env:
- CC: clang
- CXX: clang++
- OBJECT_MODE: '64'
- agents:
- queue: libcxx-builders
- os: aix
- <<: *common
-
-- group: ':freebsd: FreeBSD'
- steps:
- - label: FreeBSD 13 amd64
- command: libcxx/utils/ci/run-buildbot generic-cxx26
- env:
- CC: clang17
- CXX: clang++17
- agents:
- queue: libcxx-builders
- os: freebsd
- <<: *common
-
-- group: ':android: Android'
- steps:
- - label: Android 5.0, x86 NDK
- command: libcxx/utils/ci/run-buildbot android-ndk-21-def-x86
- agents:
- queue: libcxx-builders
- os: android
- <<: *common
-
- - label: Android 13, x86_64 NDK
- command: libcxx/utils/ci/run-buildbot android-ndk-33-goog-x86_64
- agents:
- queue: libcxx-builders
- os: android
- <<: *common
More information about the llvm-commits
mailing list