summaryrefslogtreecommitdiff
path: root/third_party/libcxx/include/c++/v1/cerrno
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libcxx/include/c++/v1/cerrno')
-rw-r--r--third_party/libcxx/include/c++/v1/cerrno52
1 files changed, 52 insertions, 0 deletions
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 <errno.h>
+
+# ifndef _LIBCPP_ERRNO_H
+# error <cerrno> tried including <errno.h> but didn't find libc++'s <errno.h> 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