From 3ad39e9878310e5317ee73c9b353c1e2c1c5c4ee Mon Sep 17 00:00:00 2001 From: Richard Qin Date: Sat, 11 Jul 2026 22:48:30 +0800 Subject: lib: establish Zircon libc++ and KTL foundation --- third_party/libcxx/include/c++/v1/cerrno | 52 ++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 third_party/libcxx/include/c++/v1/cerrno (limited to 'third_party/libcxx/include/c++/v1/cerrno') diff --git a/third_party/libcxx/include/c++/v1/cerrno b/third_party/libcxx/include/c++/v1/cerrno new file mode 100644 index 0000000..15925d4 --- /dev/null +++ b/third_party/libcxx/include/c++/v1/cerrno @@ -0,0 +1,52 @@ +// -*- 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 _LIBCPP_CERRNO +#define _LIBCPP_CERRNO + +/* + cerrno synopsis + +Macros: + + EDOM + EILSEQ // C99 + ERANGE + errno + +*/ + +#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS) +# include <__cxx03/cerrno> +#else +# include <__config> + +# include + +# ifndef _LIBCPP_ERRNO_H +# error tried including but didn't find libc++'s header. \ + This usually means that your header search paths are not configured properly. \ + The header search paths should contain the C++ Standard Library headers before \ + any C Standard Library, and you are probably using compiler flags that make that \ + not be the case. +# endif + +# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) +# pragma GCC system_header +# endif + +// LWG3869 Deprecate std::errc constants related to UNIX STREAMS +// +// This LWG issue deprecates the POSIX macros ENODATA, ENOSR, ENOSTR, and ETIME. These were +// deprecated in libc++ in https://github.com/llvm/llvm-project/pull/80542. +// Based on the post commit feedback the macro are no longer deprecated. +// Instead libc++ leaves the deprecation to the provider of errno.h. +#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS) + +#endif // _LIBCPP_CERRNO -- cgit v1.2.3