[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:50:44 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/3] [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/3] 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/3] 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>
More information about the libcxx-commits
mailing list