[libc] add locale proxy header (#130621)

Address review comments in #130407.

This patch is already covered by existing locale test cases.
This commit is contained in:
Connector Switch 2025-03-11 08:46:29 +08:00 committed by GitHub
parent a5a33d8293
commit 426caf1182
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 35 additions and 7 deletions

View File

@ -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

22
libc/hdr/locale_macros.h Normal file
View File

@ -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

View File

@ -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
)

View File

@ -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));

View File

@ -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) {