[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