annotate libcxx/include/stdexcept @ 236:c4bab56944e8 llvm-original

LLVM 16
author kono
date Wed, 09 Nov 2022 17:45:10 +0900
parents 79ff65ed7e25
children 1f2b6ac9f198
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 // -*- C++ -*-
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
2 //===----------------------------------------------------------------------===//
150
anatofuz
parents:
diff changeset
3 //
anatofuz
parents:
diff changeset
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
anatofuz
parents:
diff changeset
5 // See https://llvm.org/LICENSE.txt for license information.
anatofuz
parents:
diff changeset
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
anatofuz
parents:
diff changeset
7 //
anatofuz
parents:
diff changeset
8 //===----------------------------------------------------------------------===//
anatofuz
parents:
diff changeset
9
anatofuz
parents:
diff changeset
10 #ifndef _LIBCPP_STDEXCEPT
anatofuz
parents:
diff changeset
11 #define _LIBCPP_STDEXCEPT
anatofuz
parents:
diff changeset
12
anatofuz
parents:
diff changeset
13 /*
anatofuz
parents:
diff changeset
14 stdexcept synopsis
anatofuz
parents:
diff changeset
15
anatofuz
parents:
diff changeset
16 namespace std
anatofuz
parents:
diff changeset
17 {
anatofuz
parents:
diff changeset
18
anatofuz
parents:
diff changeset
19 class logic_error;
anatofuz
parents:
diff changeset
20 class domain_error;
anatofuz
parents:
diff changeset
21 class invalid_argument;
anatofuz
parents:
diff changeset
22 class length_error;
anatofuz
parents:
diff changeset
23 class out_of_range;
anatofuz
parents:
diff changeset
24 class runtime_error;
anatofuz
parents:
diff changeset
25 class range_error;
anatofuz
parents:
diff changeset
26 class overflow_error;
anatofuz
parents:
diff changeset
27 class underflow_error;
anatofuz
parents:
diff changeset
28
anatofuz
parents:
diff changeset
29 for each class xxx_error:
anatofuz
parents:
diff changeset
30
anatofuz
parents:
diff changeset
31 class xxx_error : public exception // at least indirectly
anatofuz
parents:
diff changeset
32 {
anatofuz
parents:
diff changeset
33 public:
anatofuz
parents:
diff changeset
34 explicit xxx_error(const string& what_arg);
anatofuz
parents:
diff changeset
35 explicit xxx_error(const char* what_arg);
anatofuz
parents:
diff changeset
36
anatofuz
parents:
diff changeset
37 virtual const char* what() const noexcept // returns what_arg
anatofuz
parents:
diff changeset
38 };
anatofuz
parents:
diff changeset
39
anatofuz
parents:
diff changeset
40 } // std
anatofuz
parents:
diff changeset
41
anatofuz
parents:
diff changeset
42 */
anatofuz
parents:
diff changeset
43
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
44 #include <__assert> // all public C++ headers provide the assertion handler
150
anatofuz
parents:
diff changeset
45 #include <__config>
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
46 #include <cstdlib>
150
anatofuz
parents:
diff changeset
47 #include <exception>
anatofuz
parents:
diff changeset
48 #include <iosfwd> // for string forward decl
anatofuz
parents:
diff changeset
49
anatofuz
parents:
diff changeset
50 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
51 # pragma GCC system_header
150
anatofuz
parents:
diff changeset
52 #endif
anatofuz
parents:
diff changeset
53
anatofuz
parents:
diff changeset
54 _LIBCPP_BEGIN_NAMESPACE_STD
anatofuz
parents:
diff changeset
55
anatofuz
parents:
diff changeset
56 #ifndef _LIBCPP_ABI_VCRUNTIME
anatofuz
parents:
diff changeset
57 class _LIBCPP_HIDDEN __libcpp_refstring
anatofuz
parents:
diff changeset
58 {
anatofuz
parents:
diff changeset
59 const char* __imp_;
anatofuz
parents:
diff changeset
60
anatofuz
parents:
diff changeset
61 bool __uses_refcount() const;
anatofuz
parents:
diff changeset
62 public:
anatofuz
parents:
diff changeset
63 explicit __libcpp_refstring(const char* __msg);
anatofuz
parents:
diff changeset
64 __libcpp_refstring(const __libcpp_refstring& __s) _NOEXCEPT;
anatofuz
parents:
diff changeset
65 __libcpp_refstring& operator=(const __libcpp_refstring& __s) _NOEXCEPT;
anatofuz
parents:
diff changeset
66 ~__libcpp_refstring();
anatofuz
parents:
diff changeset
67
anatofuz
parents:
diff changeset
68 const char* c_str() const _NOEXCEPT {return __imp_;}
anatofuz
parents:
diff changeset
69 };
anatofuz
parents:
diff changeset
70 #endif // !_LIBCPP_ABI_VCRUNTIME
anatofuz
parents:
diff changeset
71
anatofuz
parents:
diff changeset
72 _LIBCPP_END_NAMESPACE_STD
anatofuz
parents:
diff changeset
73
anatofuz
parents:
diff changeset
74 namespace std // purposefully not using versioning namespace
anatofuz
parents:
diff changeset
75 {
anatofuz
parents:
diff changeset
76
anatofuz
parents:
diff changeset
77 class _LIBCPP_EXCEPTION_ABI logic_error
anatofuz
parents:
diff changeset
78 : public exception
anatofuz
parents:
diff changeset
79 {
anatofuz
parents:
diff changeset
80 #ifndef _LIBCPP_ABI_VCRUNTIME
anatofuz
parents:
diff changeset
81 private:
anatofuz
parents:
diff changeset
82 _VSTD::__libcpp_refstring __imp_;
anatofuz
parents:
diff changeset
83 public:
anatofuz
parents:
diff changeset
84 explicit logic_error(const string&);
anatofuz
parents:
diff changeset
85 explicit logic_error(const char*);
anatofuz
parents:
diff changeset
86
anatofuz
parents:
diff changeset
87 logic_error(const logic_error&) _NOEXCEPT;
anatofuz
parents:
diff changeset
88 logic_error& operator=(const logic_error&) _NOEXCEPT;
anatofuz
parents:
diff changeset
89
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
90 ~logic_error() _NOEXCEPT override;
150
anatofuz
parents:
diff changeset
91
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
92 const char* what() const _NOEXCEPT override;
150
anatofuz
parents:
diff changeset
93 #else
anatofuz
parents:
diff changeset
94 public:
anatofuz
parents:
diff changeset
95 explicit logic_error(const _VSTD::string&); // Symbol uses versioned std::string
anatofuz
parents:
diff changeset
96 _LIBCPP_INLINE_VISIBILITY explicit logic_error(const char* __s) : exception(__s) {}
anatofuz
parents:
diff changeset
97 #endif
anatofuz
parents:
diff changeset
98 };
anatofuz
parents:
diff changeset
99
anatofuz
parents:
diff changeset
100 class _LIBCPP_EXCEPTION_ABI runtime_error
anatofuz
parents:
diff changeset
101 : public exception
anatofuz
parents:
diff changeset
102 {
anatofuz
parents:
diff changeset
103 #ifndef _LIBCPP_ABI_VCRUNTIME
anatofuz
parents:
diff changeset
104 private:
anatofuz
parents:
diff changeset
105 _VSTD::__libcpp_refstring __imp_;
anatofuz
parents:
diff changeset
106 public:
anatofuz
parents:
diff changeset
107 explicit runtime_error(const string&);
anatofuz
parents:
diff changeset
108 explicit runtime_error(const char*);
anatofuz
parents:
diff changeset
109
anatofuz
parents:
diff changeset
110 runtime_error(const runtime_error&) _NOEXCEPT;
anatofuz
parents:
diff changeset
111 runtime_error& operator=(const runtime_error&) _NOEXCEPT;
anatofuz
parents:
diff changeset
112
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
113 ~runtime_error() _NOEXCEPT override;
150
anatofuz
parents:
diff changeset
114
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
115 const char* what() const _NOEXCEPT override;
150
anatofuz
parents:
diff changeset
116 #else
anatofuz
parents:
diff changeset
117 public:
anatofuz
parents:
diff changeset
118 explicit runtime_error(const _VSTD::string&); // Symbol uses versioned std::string
anatofuz
parents:
diff changeset
119 _LIBCPP_INLINE_VISIBILITY explicit runtime_error(const char* __s) : exception(__s) {}
anatofuz
parents:
diff changeset
120 #endif // _LIBCPP_ABI_VCRUNTIME
anatofuz
parents:
diff changeset
121 };
anatofuz
parents:
diff changeset
122
anatofuz
parents:
diff changeset
123 class _LIBCPP_EXCEPTION_ABI domain_error
anatofuz
parents:
diff changeset
124 : public logic_error
anatofuz
parents:
diff changeset
125 {
anatofuz
parents:
diff changeset
126 public:
anatofuz
parents:
diff changeset
127 _LIBCPP_INLINE_VISIBILITY explicit domain_error(const string& __s) : logic_error(__s) {}
anatofuz
parents:
diff changeset
128 _LIBCPP_INLINE_VISIBILITY explicit domain_error(const char* __s) : logic_error(__s) {}
anatofuz
parents:
diff changeset
129
anatofuz
parents:
diff changeset
130 #ifndef _LIBCPP_ABI_VCRUNTIME
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
131 domain_error(const domain_error&) _NOEXCEPT = default;
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
132 ~domain_error() _NOEXCEPT override;
150
anatofuz
parents:
diff changeset
133 #endif
anatofuz
parents:
diff changeset
134 };
anatofuz
parents:
diff changeset
135
anatofuz
parents:
diff changeset
136 class _LIBCPP_EXCEPTION_ABI invalid_argument
anatofuz
parents:
diff changeset
137 : public logic_error
anatofuz
parents:
diff changeset
138 {
anatofuz
parents:
diff changeset
139 public:
anatofuz
parents:
diff changeset
140 _LIBCPP_INLINE_VISIBILITY explicit invalid_argument(const string& __s) : logic_error(__s) {}
anatofuz
parents:
diff changeset
141 _LIBCPP_INLINE_VISIBILITY explicit invalid_argument(const char* __s) : logic_error(__s) {}
anatofuz
parents:
diff changeset
142
anatofuz
parents:
diff changeset
143 #ifndef _LIBCPP_ABI_VCRUNTIME
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
144 invalid_argument(const invalid_argument&) _NOEXCEPT = default;
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
145 ~invalid_argument() _NOEXCEPT override;
150
anatofuz
parents:
diff changeset
146 #endif
anatofuz
parents:
diff changeset
147 };
anatofuz
parents:
diff changeset
148
anatofuz
parents:
diff changeset
149 class _LIBCPP_EXCEPTION_ABI length_error
anatofuz
parents:
diff changeset
150 : public logic_error
anatofuz
parents:
diff changeset
151 {
anatofuz
parents:
diff changeset
152 public:
anatofuz
parents:
diff changeset
153 _LIBCPP_INLINE_VISIBILITY explicit length_error(const string& __s) : logic_error(__s) {}
anatofuz
parents:
diff changeset
154 _LIBCPP_INLINE_VISIBILITY explicit length_error(const char* __s) : logic_error(__s) {}
anatofuz
parents:
diff changeset
155 #ifndef _LIBCPP_ABI_VCRUNTIME
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
156 length_error(const length_error&) _NOEXCEPT = default;
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
157 ~length_error() _NOEXCEPT override;
150
anatofuz
parents:
diff changeset
158 #endif
anatofuz
parents:
diff changeset
159 };
anatofuz
parents:
diff changeset
160
anatofuz
parents:
diff changeset
161 class _LIBCPP_EXCEPTION_ABI out_of_range
anatofuz
parents:
diff changeset
162 : public logic_error
anatofuz
parents:
diff changeset
163 {
anatofuz
parents:
diff changeset
164 public:
anatofuz
parents:
diff changeset
165 _LIBCPP_INLINE_VISIBILITY explicit out_of_range(const string& __s) : logic_error(__s) {}
anatofuz
parents:
diff changeset
166 _LIBCPP_INLINE_VISIBILITY explicit out_of_range(const char* __s) : logic_error(__s) {}
anatofuz
parents:
diff changeset
167
anatofuz
parents:
diff changeset
168 #ifndef _LIBCPP_ABI_VCRUNTIME
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
169 out_of_range(const out_of_range&) _NOEXCEPT = default;
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
170 ~out_of_range() _NOEXCEPT override;
150
anatofuz
parents:
diff changeset
171 #endif
anatofuz
parents:
diff changeset
172 };
anatofuz
parents:
diff changeset
173
anatofuz
parents:
diff changeset
174 class _LIBCPP_EXCEPTION_ABI range_error
anatofuz
parents:
diff changeset
175 : public runtime_error
anatofuz
parents:
diff changeset
176 {
anatofuz
parents:
diff changeset
177 public:
anatofuz
parents:
diff changeset
178 _LIBCPP_INLINE_VISIBILITY explicit range_error(const string& __s) : runtime_error(__s) {}
anatofuz
parents:
diff changeset
179 _LIBCPP_INLINE_VISIBILITY explicit range_error(const char* __s) : runtime_error(__s) {}
anatofuz
parents:
diff changeset
180
anatofuz
parents:
diff changeset
181 #ifndef _LIBCPP_ABI_VCRUNTIME
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
182 range_error(const range_error&) _NOEXCEPT = default;
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
183 ~range_error() _NOEXCEPT override;
150
anatofuz
parents:
diff changeset
184 #endif
anatofuz
parents:
diff changeset
185 };
anatofuz
parents:
diff changeset
186
anatofuz
parents:
diff changeset
187 class _LIBCPP_EXCEPTION_ABI overflow_error
anatofuz
parents:
diff changeset
188 : public runtime_error
anatofuz
parents:
diff changeset
189 {
anatofuz
parents:
diff changeset
190 public:
anatofuz
parents:
diff changeset
191 _LIBCPP_INLINE_VISIBILITY explicit overflow_error(const string& __s) : runtime_error(__s) {}
anatofuz
parents:
diff changeset
192 _LIBCPP_INLINE_VISIBILITY explicit overflow_error(const char* __s) : runtime_error(__s) {}
anatofuz
parents:
diff changeset
193
anatofuz
parents:
diff changeset
194 #ifndef _LIBCPP_ABI_VCRUNTIME
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
195 overflow_error(const overflow_error&) _NOEXCEPT = default;
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
196 ~overflow_error() _NOEXCEPT override;
150
anatofuz
parents:
diff changeset
197 #endif
anatofuz
parents:
diff changeset
198 };
anatofuz
parents:
diff changeset
199
anatofuz
parents:
diff changeset
200 class _LIBCPP_EXCEPTION_ABI underflow_error
anatofuz
parents:
diff changeset
201 : public runtime_error
anatofuz
parents:
diff changeset
202 {
anatofuz
parents:
diff changeset
203 public:
anatofuz
parents:
diff changeset
204 _LIBCPP_INLINE_VISIBILITY explicit underflow_error(const string& __s) : runtime_error(__s) {}
anatofuz
parents:
diff changeset
205 _LIBCPP_INLINE_VISIBILITY explicit underflow_error(const char* __s) : runtime_error(__s) {}
anatofuz
parents:
diff changeset
206
anatofuz
parents:
diff changeset
207 #ifndef _LIBCPP_ABI_VCRUNTIME
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
208 underflow_error(const underflow_error&) _NOEXCEPT = default;
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
209 ~underflow_error() _NOEXCEPT override;
150
anatofuz
parents:
diff changeset
210 #endif
anatofuz
parents:
diff changeset
211 };
anatofuz
parents:
diff changeset
212
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
213 } // namespace std
150
anatofuz
parents:
diff changeset
214
anatofuz
parents:
diff changeset
215 _LIBCPP_BEGIN_NAMESPACE_STD
anatofuz
parents:
diff changeset
216
anatofuz
parents:
diff changeset
217 // in the dylib
anatofuz
parents:
diff changeset
218 _LIBCPP_NORETURN _LIBCPP_FUNC_VIS void __throw_runtime_error(const char*);
anatofuz
parents:
diff changeset
219
anatofuz
parents:
diff changeset
220 _LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
anatofuz
parents:
diff changeset
221 void __throw_logic_error(const char*__msg)
anatofuz
parents:
diff changeset
222 {
anatofuz
parents:
diff changeset
223 #ifndef _LIBCPP_NO_EXCEPTIONS
anatofuz
parents:
diff changeset
224 throw logic_error(__msg);
anatofuz
parents:
diff changeset
225 #else
anatofuz
parents:
diff changeset
226 ((void)__msg);
anatofuz
parents:
diff changeset
227 _VSTD::abort();
anatofuz
parents:
diff changeset
228 #endif
anatofuz
parents:
diff changeset
229 }
anatofuz
parents:
diff changeset
230
anatofuz
parents:
diff changeset
231 _LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
anatofuz
parents:
diff changeset
232 void __throw_domain_error(const char*__msg)
anatofuz
parents:
diff changeset
233 {
anatofuz
parents:
diff changeset
234 #ifndef _LIBCPP_NO_EXCEPTIONS
anatofuz
parents:
diff changeset
235 throw domain_error(__msg);
anatofuz
parents:
diff changeset
236 #else
anatofuz
parents:
diff changeset
237 ((void)__msg);
anatofuz
parents:
diff changeset
238 _VSTD::abort();
anatofuz
parents:
diff changeset
239 #endif
anatofuz
parents:
diff changeset
240 }
anatofuz
parents:
diff changeset
241
anatofuz
parents:
diff changeset
242 _LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
anatofuz
parents:
diff changeset
243 void __throw_invalid_argument(const char*__msg)
anatofuz
parents:
diff changeset
244 {
anatofuz
parents:
diff changeset
245 #ifndef _LIBCPP_NO_EXCEPTIONS
anatofuz
parents:
diff changeset
246 throw invalid_argument(__msg);
anatofuz
parents:
diff changeset
247 #else
anatofuz
parents:
diff changeset
248 ((void)__msg);
anatofuz
parents:
diff changeset
249 _VSTD::abort();
anatofuz
parents:
diff changeset
250 #endif
anatofuz
parents:
diff changeset
251 }
anatofuz
parents:
diff changeset
252
anatofuz
parents:
diff changeset
253 _LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
anatofuz
parents:
diff changeset
254 void __throw_length_error(const char*__msg)
anatofuz
parents:
diff changeset
255 {
anatofuz
parents:
diff changeset
256 #ifndef _LIBCPP_NO_EXCEPTIONS
anatofuz
parents:
diff changeset
257 throw length_error(__msg);
anatofuz
parents:
diff changeset
258 #else
anatofuz
parents:
diff changeset
259 ((void)__msg);
anatofuz
parents:
diff changeset
260 _VSTD::abort();
anatofuz
parents:
diff changeset
261 #endif
anatofuz
parents:
diff changeset
262 }
anatofuz
parents:
diff changeset
263
anatofuz
parents:
diff changeset
264 _LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
anatofuz
parents:
diff changeset
265 void __throw_out_of_range(const char*__msg)
anatofuz
parents:
diff changeset
266 {
anatofuz
parents:
diff changeset
267 #ifndef _LIBCPP_NO_EXCEPTIONS
anatofuz
parents:
diff changeset
268 throw out_of_range(__msg);
anatofuz
parents:
diff changeset
269 #else
anatofuz
parents:
diff changeset
270 ((void)__msg);
anatofuz
parents:
diff changeset
271 _VSTD::abort();
anatofuz
parents:
diff changeset
272 #endif
anatofuz
parents:
diff changeset
273 }
anatofuz
parents:
diff changeset
274
anatofuz
parents:
diff changeset
275 _LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
anatofuz
parents:
diff changeset
276 void __throw_range_error(const char*__msg)
anatofuz
parents:
diff changeset
277 {
anatofuz
parents:
diff changeset
278 #ifndef _LIBCPP_NO_EXCEPTIONS
anatofuz
parents:
diff changeset
279 throw range_error(__msg);
anatofuz
parents:
diff changeset
280 #else
anatofuz
parents:
diff changeset
281 ((void)__msg);
anatofuz
parents:
diff changeset
282 _VSTD::abort();
anatofuz
parents:
diff changeset
283 #endif
anatofuz
parents:
diff changeset
284 }
anatofuz
parents:
diff changeset
285
anatofuz
parents:
diff changeset
286 _LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
anatofuz
parents:
diff changeset
287 void __throw_overflow_error(const char*__msg)
anatofuz
parents:
diff changeset
288 {
anatofuz
parents:
diff changeset
289 #ifndef _LIBCPP_NO_EXCEPTIONS
anatofuz
parents:
diff changeset
290 throw overflow_error(__msg);
anatofuz
parents:
diff changeset
291 #else
anatofuz
parents:
diff changeset
292 ((void)__msg);
anatofuz
parents:
diff changeset
293 _VSTD::abort();
anatofuz
parents:
diff changeset
294 #endif
anatofuz
parents:
diff changeset
295 }
anatofuz
parents:
diff changeset
296
anatofuz
parents:
diff changeset
297 _LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
anatofuz
parents:
diff changeset
298 void __throw_underflow_error(const char*__msg)
anatofuz
parents:
diff changeset
299 {
anatofuz
parents:
diff changeset
300 #ifndef _LIBCPP_NO_EXCEPTIONS
anatofuz
parents:
diff changeset
301 throw underflow_error(__msg);
anatofuz
parents:
diff changeset
302 #else
anatofuz
parents:
diff changeset
303 ((void)__msg);
anatofuz
parents:
diff changeset
304 _VSTD::abort();
anatofuz
parents:
diff changeset
305 #endif
anatofuz
parents:
diff changeset
306 }
anatofuz
parents:
diff changeset
307
anatofuz
parents:
diff changeset
308 _LIBCPP_END_NAMESPACE_STD
anatofuz
parents:
diff changeset
309
221
79ff65ed7e25 LLVM12 Original
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
310 #endif // _LIBCPP_STDEXCEPT