[libcxx-commits] [libcxx] [libcxx][libc] Remove last LLVM-libc carveout (PR #230294)
Michael Jones via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Oct 12 16:51:42 PDT 2026
https://github.com/michaelrj-google updated https://github.com/llvm/llvm-project/pull/230294
>From 6a1ad28481994d718911225cb9b9b4cf7cfaa236 Mon Sep 17 00:00:00 2001
From: Michael Jones <michaelrj at google.com>
Date: Thu, 8 Oct 2026 21:33:29 +0000
Subject: [PATCH 1/4] [libcxx][libc] Remove last LLVM-libc carveout
This PR removes the FILESYSTEM carveout, which was the last one that was
blocking LLVM-libc. It also enables the unwinder and RTTI.
---
libcxx/cmake/caches/Generic-llvm-libc.cmake | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/libcxx/cmake/caches/Generic-llvm-libc.cmake b/libcxx/cmake/caches/Generic-llvm-libc.cmake
index 864cf8989aec1..0ffa80a1b59bf 100644
--- a/libcxx/cmake/caches/Generic-llvm-libc.cmake
+++ b/libcxx/cmake/caches/Generic-llvm-libc.cmake
@@ -23,23 +23,20 @@ set(COMPILER_RT_DEBUG OFF CACHE BOOL "")
set(COMPILER_RT_CRT_USE_EH_FRAME_REGISTRY ON CACHE BOOL "")
set(LIBCXXABI_USE_COMPILER_RT ON CACHE BOOL "")
-set(LIBCXXABI_USE_LLVM_UNWINDER OFF CACHE BOOL "")
+set(LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "")
+set(LIBCXXABI_ENABLE_STATIC_UNWINDER ON CACHE BOOL "")
set(LIBCXX_ENABLE_SHARED OFF CACHE BOOL "")
set(LIBCXX_USE_COMPILER_RT ON CACHE BOOL "")
set(LIBCXX_INCLUDE_BENCHMARKS OFF CACHE BOOL "")
set(LIBCXX_ENABLE_STATIC ON CACHE BOOL "")
+set(LIBCXX_ENABLE_STATIC_ABI_LIBRARY ON CACHE BOOL "")
set(LIBCXX_INSTALL_LIBRARY ON CACHE BOOL "")
set(LIBCXX_CXX_ABI libcxxabi CACHE STRING "")
-# Still missing some components.
-set(LIBCXX_ENABLE_FILESYSTEM OFF CACHE BOOL "")
-
-
set(LIBCXX_ENABLE_UNICODE ON CACHE BOOL "")
set(LIBCXX_ENABLE_EXCEPTIONS OFF CACHE BOOL "")
set(LIBCXXABI_ENABLE_EXCEPTIONS OFF CACHE BOOL "")
-set(LIBCXX_ENABLE_RTTI OFF CACHE BOOL "")
set(RUNTIMES_USE_LIBC "llvm-libc" CACHE STRING "")
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "")
>From aad34cccbbb1c6a974ddfe7691dce3c2f1456e3d Mon Sep 17 00:00:00 2001
From: Michael Jones <michaelrj at google.com>
Date: Thu, 8 Oct 2026 21:51:11 +0000
Subject: [PATCH 2/4] XFAIL the test with no outstanding PR
---
.../time.zone.members/sys_info.zdump.pass.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp b/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
index b474fe50083b1..8d49288a798e0 100644
--- a/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
+++ b/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
@@ -13,6 +13,9 @@
// XFAIL: libcpp-has-no-experimental-tzdb
// XFAIL: availability-tzdb-missing
+// tzdata mismatch on Africa/Casablanca in 2099
+// XFAIL: LLVM-LIBC-FIXME
+
#include <chrono>
#include <format>
#include <fstream>
>From 4c0aa58ad2d6ded254d69b62f51809a232e11b4d Mon Sep 17 00:00:00 2001
From: Michael Jones <michaelrj at google.com>
Date: Mon, 12 Oct 2026 23:50:14 +0000
Subject: [PATCH 3/4] fixed XFAILs
---
libcxx/test/selftest/dsl/dsl.sh.py | 3 ---
.../test/std/input.output/file.streams/c.files/cstdio.pass.cpp | 3 +++
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/libcxx/test/selftest/dsl/dsl.sh.py b/libcxx/test/selftest/dsl/dsl.sh.py
index f93ccc747d661..cd2674c650b35 100644
--- a/libcxx/test/selftest/dsl/dsl.sh.py
+++ b/libcxx/test/selftest/dsl/dsl.sh.py
@@ -10,9 +10,6 @@
# because stdout & stderr are treated as the same.
# XFAIL: LIBCXX-PICOLIBC-FIXME
-# Investigate why this is failing with LLVM libc.
-# XFAIL: LLVM-LIBC-FIXME
-
# Note: We prepend arguments with 'x' to avoid thinking there are too few
# arguments in case an argument is an empty string.
# RUN: %{python} %s x%S x%{temp} x%{substitutions}
diff --git a/libcxx/test/std/input.output/file.streams/c.files/cstdio.pass.cpp b/libcxx/test/std/input.output/file.streams/c.files/cstdio.pass.cpp
index 66ab56f0958a2..6730d0eab9e40 100644
--- a/libcxx/test/std/input.output/file.streams/c.files/cstdio.pass.cpp
+++ b/libcxx/test/std/input.output/file.streams/c.files/cstdio.pass.cpp
@@ -6,6 +6,9 @@
//
//===----------------------------------------------------------------------===//
+// missing fpos_t, fixed by #221349
+// XFAIL: LLVM-LIBC-FIXME
+
// test <cstdio>
#include <cstdio>
>From eb9d1513d07940c1ea47baed35a950e6f618fc03 Mon Sep 17 00:00:00 2001
From: Michael Jones <michaelrj at google.com>
Date: Mon, 12 Oct 2026 23:51:14 +0000
Subject: [PATCH 4/4] this test is passing under CI but not locally
---
.../time.zone.members/sys_info.zdump.pass.cpp | 3 ---
1 file changed, 3 deletions(-)
diff --git a/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp b/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
index 8d49288a798e0..b474fe50083b1 100644
--- a/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
+++ b/libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
@@ -13,9 +13,6 @@
// XFAIL: libcpp-has-no-experimental-tzdb
// XFAIL: availability-tzdb-missing
-// tzdata mismatch on Africa/Casablanca in 2099
-// XFAIL: LLVM-LIBC-FIXME
-
#include <chrono>
#include <format>
#include <fstream>
More information about the libcxx-commits
mailing list