[libc-commits] [libc] [libc] add locale proxy haeder (PR #130621)

Connector Switch via libc-commits libc-commits at lists.llvm.org
Mon Mar 10 08:13:19 PDT 2025


https://github.com/c8ef created https://github.com/llvm/llvm-project/pull/130621

Address review comments in #130407.

>From 9839cd05d8bf8a74bd7cb74469f828da72392dc6 Mon Sep 17 00:00:00 2001
From: c8ef <c8ef at outlook.com>
Date: Mon, 10 Mar 2025 15:08:16 +0000
Subject: [PATCH] add locale proxy haeder

---
 libc/hdr/CMakeLists.txt                  |  9 +++++++++
 libc/hdr/locale_macros.h                 | 22 ++++++++++++++++++++++
 libc/test/src/locale/CMakeLists.txt      |  4 ++--
 libc/test/src/locale/locale_test.cpp     |  4 +---
 libc/test/src/locale/localeconv_test.cpp |  3 +--
 5 files changed, 35 insertions(+), 7 deletions(-)
 create mode 100644 libc/hdr/locale_macros.h

diff --git a/libc/hdr/CMakeLists.txt b/libc/hdr/CMakeLists.txt
index 7f523c50e8694..b337a8c9fc2a6 100644
--- a/libc/hdr/CMakeLists.txt
+++ b/libc/hdr/CMakeLists.txt
@@ -183,6 +183,15 @@ add_proxy_header_library(
     libc.include.link
 )
 
+add_proxy_header_library(
+  locale_macros
+  HDRS
+    locale_macros.h
+  FULL_BUILD_DEPENDS
+    libc.include.llvm-libc-macros.locale_macros
+    libc.include.locale
+)
+
 add_proxy_header_library(
   sys_auxv_macros
   HDRS
diff --git a/libc/hdr/locale_macros.h b/libc/hdr/locale_macros.h
new file mode 100644
index 0000000000000..7d94f6ddabe41
--- /dev/null
+++ b/libc/hdr/locale_macros.h
@@ -0,0 +1,22 @@
+//===-- Definition of macros from locale.h --------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_LIBC_HDR_LOCALE_MACROS_H
+#define LLVM_LIBC_HDR_LOCALE_MACROS_H
+
+#ifdef LIBC_FULL_BUILD
+
+#include "include/llvm-libc-macros/locale-macros.h"
+
+#else // Overlay mode
+
+#error "macros not available in overlay mode"
+
+#endif // LLVM_LIBC_FULL_BUILD
+
+#endif // LLVM_LIBC_HDR_LOCALE_MACROS_H
diff --git a/libc/test/src/locale/CMakeLists.txt b/libc/test/src/locale/CMakeLists.txt
index 3192004db26dd..5032ce9c324e2 100644
--- a/libc/test/src/locale/CMakeLists.txt
+++ b/libc/test/src/locale/CMakeLists.txt
@@ -7,7 +7,7 @@ add_libc_test(
   SRCS
     locale_test.cpp
   DEPENDS
-    libc.include.locale
+    libc.hdr.locale_macros
     libc.src.locale.newlocale
     libc.src.locale.uselocale
     libc.src.locale.freelocale
@@ -20,6 +20,6 @@ add_libc_test(
   SRCS
     localeconv_test.cpp
   DEPENDS
-    libc.include.locale
+    libc.hdr.locale_macros
     libc.src.locale.localeconv
 )
diff --git a/libc/test/src/locale/locale_test.cpp b/libc/test/src/locale/locale_test.cpp
index bc48bb851f4e4..d800e8fa5fcf9 100644
--- a/libc/test/src/locale/locale_test.cpp
+++ b/libc/test/src/locale/locale_test.cpp
@@ -6,14 +6,12 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "hdr/locale_macros.h"
 #include "src/locale/freelocale.h"
 #include "src/locale/newlocale.h"
 #include "src/locale/uselocale.h"
-
 #include "test/UnitTest/Test.h"
 
-#include "include/llvm-libc-macros/locale-macros.h"
-
 TEST(LlvmLibcLocale, DefaultLocale) {
   locale_t new_locale = LIBC_NAMESPACE::newlocale(LC_ALL, "C", nullptr);
   EXPECT_NE(new_locale, static_cast<locale_t>(nullptr));
diff --git a/libc/test/src/locale/localeconv_test.cpp b/libc/test/src/locale/localeconv_test.cpp
index 79264276dec35..4a7888176d539 100644
--- a/libc/test/src/locale/localeconv_test.cpp
+++ b/libc/test/src/locale/localeconv_test.cpp
@@ -6,9 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "include/llvm-libc-macros/locale-macros.h"
+#include "hdr/locale_macros.h"
 #include "src/locale/localeconv.h"
-
 #include "test/UnitTest/Test.h"
 
 TEST(LlvmLibcLocale, DefaultLocale) {



More information about the libc-commits mailing list