Author: Petr Hosek Date: 2025-02-19T00:39:14-08:00 New Revision: fea10f7ff16ddd019841a69697194d373325ff6b
URL: https://github.com/llvm/llvm-project/commit/fea10f7ff16ddd019841a69697194d373325ff6b DIFF: https://github.com/llvm/llvm-project/commit/fea10f7ff16ddd019841a69697194d373325ff6b.diff LOG: Revert "[libc] Add strftime_l (#127708)" This reverts commit 9072ba71cac6d518b4164615c609e358d49c4ed2. Added: Modified: libc/config/baremetal/aarch64/entrypoints.txt libc/config/baremetal/arm/entrypoints.txt libc/config/baremetal/riscv/entrypoints.txt libc/config/linux/x86_64/entrypoints.txt libc/include/time.yaml libc/src/time/CMakeLists.txt libc/src/time/strftime.cpp Removed: libc/src/time/strftime_l.cpp libc/src/time/strftime_l.h ################################################################################ diff --git a/libc/config/baremetal/aarch64/entrypoints.txt b/libc/config/baremetal/aarch64/entrypoints.txt index 2c226ef176c08..44c4ab49e5c58 100644 --- a/libc/config/baremetal/aarch64/entrypoints.txt +++ b/libc/config/baremetal/aarch64/entrypoints.txt @@ -248,8 +248,6 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.time.gmtime libc.src.time.gmtime_r libc.src.time.mktime - libc.src.time.strftime - libc.src.time.strftime_l libc.src.time.timespec_get # internal entrypoints diff --git a/libc/config/baremetal/arm/entrypoints.txt b/libc/config/baremetal/arm/entrypoints.txt index 6fd1fce3ab245..370b5462fe9e8 100644 --- a/libc/config/baremetal/arm/entrypoints.txt +++ b/libc/config/baremetal/arm/entrypoints.txt @@ -248,8 +248,6 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.time.gmtime libc.src.time.gmtime_r libc.src.time.mktime - libc.src.time.strftime - libc.src.time.strftime_l libc.src.time.timespec_get # internal entrypoints diff --git a/libc/config/baremetal/riscv/entrypoints.txt b/libc/config/baremetal/riscv/entrypoints.txt index 5985c495bdaf2..07311a60a17a2 100644 --- a/libc/config/baremetal/riscv/entrypoints.txt +++ b/libc/config/baremetal/riscv/entrypoints.txt @@ -244,8 +244,6 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.time.gmtime libc.src.time.gmtime_r libc.src.time.mktime - libc.src.time.strftime - libc.src.time.strftime_l libc.src.time.timespec_get # internal entrypoints diff --git a/libc/config/linux/x86_64/entrypoints.txt b/libc/config/linux/x86_64/entrypoints.txt index 2e3af00ec303d..a4f6671a59789 100644 --- a/libc/config/linux/x86_64/entrypoints.txt +++ b/libc/config/linux/x86_64/entrypoints.txt @@ -1128,7 +1128,6 @@ if(LLVM_LIBC_FULL_BUILD) libc.src.time.mktime libc.src.time.nanosleep libc.src.time.strftime - libc.src.time.strftime_l libc.src.time.time libc.src.time.timespec_get diff --git a/libc/include/time.yaml b/libc/include/time.yaml index 7bb25dbe85ac4..37ee824678cda 100644 --- a/libc/include/time.yaml +++ b/libc/include/time.yaml @@ -9,7 +9,6 @@ types: - type_name: time_t - type_name: clock_t - type_name: size_t - - type_name: locale_t enums: [] objects: [] functions: @@ -101,16 +100,6 @@ functions: - type: size_t - type: const char *__restrict - type: const struct tm *__restrict - - name: strftime_l - standard: - - stdc - return_type: size_t - arguments: - - type: char *__restrict - - type: size_t - - type: const char *__restrict - - type: const struct tm *__restrict - - type: locale_t - name: time standard: - stdc diff --git a/libc/src/time/CMakeLists.txt b/libc/src/time/CMakeLists.txt index 3b951df810011..8332e8ab66f97 100644 --- a/libc/src/time/CMakeLists.txt +++ b/libc/src/time/CMakeLists.txt @@ -150,20 +150,6 @@ add_entrypoint_object( libc.src.time.strftime_core.strftime_main ) -add_entrypoint_object( - strftime_l - SRCS - strftime_l.cpp - HDRS - strftime_l.h - DEPENDS - libc.hdr.types.locale_t - libc.hdr.types.size_t - libc.hdr.types.struct_tm - libc.src.stdio.printf_core.writer - libc.src.time.strftime_core.strftime_main -) - add_entrypoint_object( time SRCS diff --git a/libc/src/time/strftime.cpp b/libc/src/time/strftime.cpp index c19e58fbadf71..4b89bf2ea3a70 100644 --- a/libc/src/time/strftime.cpp +++ b/libc/src/time/strftime.cpp @@ -19,6 +19,7 @@ namespace LIBC_NAMESPACE_DECL { LLVM_LIBC_FUNCTION(size_t, strftime, (char *__restrict buffer, size_t buffsz, const char *__restrict format, const tm *timeptr)) { + printf_core::WriteBuffer wb(buffer, (buffsz > 0 ? buffsz - 1 : 0)); printf_core::Writer writer(&wb); int ret = strftime_core::strftime_main(&writer, format, timeptr); diff --git a/libc/src/time/strftime_l.cpp b/libc/src/time/strftime_l.cpp deleted file mode 100644 index 4203136af4cba..0000000000000 --- a/libc/src/time/strftime_l.cpp +++ /dev/null @@ -1,33 +0,0 @@ -//===-- Implementation of strftime_l function -----------------------------===// -// -// 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 -// -//===----------------------------------------------------------------------===// - -#include "src/time/strftime_l.h" -#include "hdr/types/size_t.h" -#include "hdr/types/struct_tm.h" -#include "include/llvm-libc-types/locale_t.h" -#include "src/__support/common.h" -#include "src/__support/macros/config.h" -#include "src/stdio/printf_core/writer.h" -#include "src/time/strftime_core/strftime_main.h" - -namespace LIBC_NAMESPACE_DECL { - -// TODO: Add support for locales. -LLVM_LIBC_FUNCTION(size_t, strftime_l, - (char *__restrict buffer, size_t count, - const char *__restrict format, - const struct tm *__restrict tp, locale_t)) { - printf_core::WriteBuffer wb(buffer, (buffsz > 0 ? buffsz - 1 : 0)); - printf_core::Writer writer(&wb); - int ret = strftime_core::strftime_main(&writer, format, timeptr); - if (buffsz > 0) // if the buffsz is 0 the buffer may be a null pointer. - wb.buff[wb.buff_cur] = '\0'; - return (ret < 0 || static_cast<size_t>(ret) > buffsz) ? 0 : ret; -} - -} // namespace LIBC_NAMESPACE_DECL diff --git a/libc/src/time/strftime_l.h b/libc/src/time/strftime_l.h deleted file mode 100644 index 158c4a63986b4..0000000000000 --- a/libc/src/time/strftime_l.h +++ /dev/null @@ -1,25 +0,0 @@ -//===-- Implementation header for strftime_l --------------------*- C++ -*-===// -// -// 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_SRC_TIME_STRFTIME_L_H -#define LLVM_LIBC_SRC_TIME_STRFTIME_L_H - -#include "hdr/types/size_t.h" -#include "hdr/types/struct_tm.h" -#include "include/llvm-libc-types/locale_t.h" -#include "src/__support/macros/config.h" - -namespace LIBC_NAMESPACE_DECL { - -size_t strftime_l(char *__restrict buffer, size_t count, - const char *__restrict format, const struct tm *__restrict tp, - locale_t); - -} // namespace LIBC_NAMESPACE_DECL - -#endif // LLVM_LIBC_SRC_TIME_STRFTIME_L_H _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits