diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2023-08-11 17:34:16 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-09-19 09:37:31 -0700 |
| commit | 5d4439cc3e9dc9196fc109552f36594ad97542c5 (patch) | |
| tree | b0ed2b36b213c5c47cd373327bb91cbf9e6d2205 /lib/libcxx/include/__system_error/system_error.h | |
| parent | 9ddfacd8e62abd80b25619dd852ee811dad5f7b6 (diff) | |
| download | zig-5d4439cc3e9dc9196fc109552f36594ad97542c5.tar.gz zig-5d4439cc3e9dc9196fc109552f36594ad97542c5.zip | |
libcxx: update to LLVM 17
release/17.x branch, commit 8f4dd44097c9ae25dd203d5ac87f3b48f854bba8
This adds the flag `-D_LIBCPP_PSTL_CPU_BACKEND_SERIAL`. A future
enhancement could possibly pass something different if there is a
compelling parallel implementation. That libdispatch one might be worth
looking into.
Diffstat (limited to 'lib/libcxx/include/__system_error/system_error.h')
| -rw-r--r-- | lib/libcxx/include/__system_error/system_error.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/lib/libcxx/include/__system_error/system_error.h b/lib/libcxx/include/__system_error/system_error.h new file mode 100644 index 0000000000..bc829491a4 --- /dev/null +++ b/lib/libcxx/include/__system_error/system_error.h @@ -0,0 +1,48 @@ +// -*- 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___SYSTEM_ERROR_SYSTEM_ERROR_H +#define _LIBCPP___SYSTEM_ERROR_SYSTEM_ERROR_H + +#include <__config> +#include <__system_error/error_category.h> +#include <__system_error/error_code.h> +#include <stdexcept> +#include <string> + +#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) +# pragma GCC system_header +#endif + +_LIBCPP_BEGIN_NAMESPACE_STD + +class _LIBCPP_EXPORTED_FROM_ABI system_error : public runtime_error { + error_code __ec_; + +public: + system_error(error_code __ec, const string& __what_arg); + system_error(error_code __ec, const char* __what_arg); + system_error(error_code __ec); + system_error(int __ev, const error_category& __ecat, const string& __what_arg); + system_error(int __ev, const error_category& __ecat, const char* __what_arg); + system_error(int __ev, const error_category& __ecat); + _LIBCPP_HIDE_FROM_ABI system_error(const system_error&) _NOEXCEPT = default; + ~system_error() _NOEXCEPT override; + + _LIBCPP_HIDE_FROM_ABI const error_code& code() const _NOEXCEPT { return __ec_; } + +private: + static string __init(const error_code&, string); +}; + +_LIBCPP_NORETURN _LIBCPP_EXPORTED_FROM_ABI void __throw_system_error(int __ev, const char* __what_arg); + +_LIBCPP_END_NAMESPACE_STD + +#endif // _LIBCPP___SYSTEM_ERROR_SYSTEM_ERROR_H |
