[libc-commits] [libc] e5b9399 - [libc] Move baremetal write_to_stderr implementation to io.cpp (#86890)
via libc-commits
libc-commits at lists.llvm.org
Wed Mar 27 23:59:28 PDT 2024
Author: Petr Hosek
Date: 2024-03-27T23:59:24-07:00
New Revision: e5b93994941245d35827b62ec91a537dfb52c243
URL: https://github.com/llvm/llvm-project/commit/e5b93994941245d35827b62ec91a537dfb52c243
DIFF: https://github.com/llvm/llvm-project/commit/e5b93994941245d35827b62ec91a537dfb52c243.diff
LOG: [libc] Move baremetal write_to_stderr implementation to io.cpp (#86890)
This is required to avoid multiple definitions error.
Added:
libc/src/__support/OSUtil/baremetal/io.cpp
Modified:
libc/src/__support/OSUtil/baremetal/CMakeLists.txt
libc/src/__support/OSUtil/baremetal/io.h
Removed:
################################################################################
diff --git a/libc/src/__support/OSUtil/baremetal/CMakeLists.txt b/libc/src/__support/OSUtil/baremetal/CMakeLists.txt
index 23da40326bbb72..e78301d104c1f3 100644
--- a/libc/src/__support/OSUtil/baremetal/CMakeLists.txt
+++ b/libc/src/__support/OSUtil/baremetal/CMakeLists.txt
@@ -1,6 +1,7 @@
add_object_library(
baremetal_util
SRCS
+ io.cpp
quick_exit.cpp
HDRS
io.h
diff --git a/libc/src/__support/OSUtil/baremetal/io.cpp b/libc/src/__support/OSUtil/baremetal/io.cpp
new file mode 100644
index 00000000000000..347c7d405b0a9f
--- /dev/null
+++ b/libc/src/__support/OSUtil/baremetal/io.cpp
@@ -0,0 +1,22 @@
+//===---------- Baremetal implementation of IO utils ------------*- 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "io.h"
+
+#include "src/__support/CPP/string_view.h"
+
+// This is intended to be provided by the vendor.
+extern "C" void __llvm_libc_log_write(const char *msg, size_t len);
+
+namespace LIBC_NAMESPACE {
+
+void write_to_stderr(cpp::string_view msg) {
+ __llvm_libc_log_write(msg.data(), msg.size());
+}
+
+} // namespace LIBC_NAMESPACE
diff --git a/libc/src/__support/OSUtil/baremetal/io.h b/libc/src/__support/OSUtil/baremetal/io.h
index a50c11d4aea123..87534641b1fa4d 100644
--- a/libc/src/__support/OSUtil/baremetal/io.h
+++ b/libc/src/__support/OSUtil/baremetal/io.h
@@ -13,12 +13,7 @@
namespace LIBC_NAMESPACE {
-// This is intended to be provided by the vendor.
-extern "C" void __llvm_libc_log_write(const char *msg, size_t len);
-
-void write_to_stderr(cpp::string_view msg) {
- __llvm_libc_log_write(msg.data(), msg.size());
-}
+void write_to_stderr(cpp::string_view msg);
} // namespace LIBC_NAMESPACE
More information about the libc-commits
mailing list