18e4f9b1fSJoseph Huber //===-------------- GPU implementation of IO utils --------------*- C++ -*-===// 28e4f9b1fSJoseph Huber // 38e4f9b1fSJoseph Huber // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 48e4f9b1fSJoseph Huber // See https://llvm.org/LICENSE.txt for license information. 58e4f9b1fSJoseph Huber // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 68e4f9b1fSJoseph Huber // 78e4f9b1fSJoseph Huber //===----------------------------------------------------------------------===// 88e4f9b1fSJoseph Huber 98e4f9b1fSJoseph Huber #include "io.h" 108e4f9b1fSJoseph Huber 119a99afb4SGuillaume Chatelet #include "src/__support/CPP/string_view.h" 128e4f9b1fSJoseph Huber #include "src/__support/RPC/rpc_client.h" 135ff3ff33SPetr Hosek #include "src/__support/macros/config.h" 148e4f9b1fSJoseph Huber 155ff3ff33SPetr Hosek namespace LIBC_NAMESPACE_DECL { 168e4f9b1fSJoseph Huber 179a99afb4SGuillaume Chatelet void write_to_stderr(cpp::string_view msg) { 18*a6ef0debSJoseph Huber rpc::Client::Port port = rpc::client.open<LIBC_WRITE_TO_STDERR>(); 1991528d20SJoseph Huber port.send_n(msg.data(), msg.size()); 20be0c67c9SJoseph Huber port.recv([](rpc::Buffer *, uint32_t) { /* void */ }); 21d0ff5e40SJoseph Huber port.close(); 228e4f9b1fSJoseph Huber } 238e4f9b1fSJoseph Huber 245ff3ff33SPetr Hosek } // namespace LIBC_NAMESPACE_DECL 25