|
264 | 264 | # endif // __LONG_LONG_SUPPORTED
|
265 | 265 | #endif // __FreeBSD__
|
266 | 266 |
|
267 |
| -#ifdef __NetBSD__ |
| 267 | +#if defined(__NetBSD__) || defined(__OpenBSD__) |
268 | 268 | # include <sys/endian.h>
|
269 | 269 | # if _BYTE_ORDER == _LITTLE_ENDIAN
|
270 | 270 | # define _LIBCPP_LITTLE_ENDIAN
|
271 | 271 | # else // _BYTE_ORDER == _LITTLE_ENDIAN
|
272 | 272 | # define _LIBCPP_BIG_ENDIAN
|
273 | 273 | # endif // _BYTE_ORDER == _LITTLE_ENDIAN
|
274 |
| -#endif // __NetBSD__ |
| 274 | +#endif // defined(__NetBSD__) || defined(__OpenBSD__) |
275 | 275 |
|
276 | 276 | #if defined(_WIN32)
|
277 | 277 | # define _LIBCPP_WIN32API
|
|
312 | 312 | # endif
|
313 | 313 | #endif // __sun__
|
314 | 314 |
|
315 |
| -#if defined(__CloudABI__) |
| 315 | +#if defined(__OpenBSD__) || defined(__CloudABI__) |
316 | 316 | // Certain architectures provide arc4random(). Prefer using
|
317 | 317 | // arc4random() over /dev/{u,}random to make it possible to obtain
|
318 | 318 | // random data even when using sandboxing mechanisms such as chroots,
|
|
370 | 370 | # define _LIBCPP_HAS_ALIGNED_ALLOC
|
371 | 371 | # define _LIBCPP_HAS_QUICK_EXIT
|
372 | 372 | # define _LIBCPP_HAS_TIMESPEC_GET
|
| 373 | +# elif defined(__OpenBSD__) |
| 374 | +# define _LIBCPP_HAS_ALIGNED_ALLOC |
| 375 | +# define _LIBCPP_HAS_TIMESPEC_GET |
373 | 376 | # elif defined(__linux__)
|
374 | 377 | # if !defined(_LIBCPP_HAS_MUSL_LIBC)
|
375 | 378 | # if _LIBCPP_GLIBC_PREREQ(2, 15) || defined(__BIONIC__)
|
@@ -1109,6 +1112,7 @@ extern "C" _LIBCPP_FUNC_VIS void __sanitizer_annotate_contiguous_container(
|
1109 | 1112 | # if defined(__FreeBSD__) || \
|
1110 | 1113 | defined(__wasi__) || \
|
1111 | 1114 | defined(__NetBSD__) || \
|
| 1115 | + defined(__OpenBSD__) || \ |
1112 | 1116 | defined(__NuttX__) || \
|
1113 | 1117 | defined(__linux__) || \
|
1114 | 1118 | defined(__GNU__) || \
|
@@ -1204,14 +1208,15 @@ extern "C" _LIBCPP_FUNC_VIS void __sanitizer_annotate_contiguous_container(
|
1204 | 1208 | // Some systems do not provide gets() in their C library, for security reasons.
|
1205 | 1209 | #ifndef _LIBCPP_C_HAS_NO_GETS
|
1206 | 1210 | # if defined(_LIBCPP_MSVCRT) || \
|
1207 |
| - (defined(__FreeBSD_version) && __FreeBSD_version >= 1300043) |
| 1211 | + (defined(__FreeBSD_version) && __FreeBSD_version >= 1300043) || \ |
| 1212 | + defined(__OpenBSD__) |
1208 | 1213 | # define _LIBCPP_C_HAS_NO_GETS
|
1209 | 1214 | # endif
|
1210 | 1215 | #endif
|
1211 | 1216 |
|
1212 | 1217 | #if defined(__BIONIC__) || defined(__CloudABI__) || defined(__NuttX__) || \
|
1213 | 1218 | defined(__Fuchsia__) || defined(__wasi__) || defined(_LIBCPP_HAS_MUSL_LIBC) || \
|
1214 |
| - defined(__MVS__) |
| 1219 | + defined(__MVS__) || defined(__OpenBSD__) |
1215 | 1220 | #define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE
|
1216 | 1221 | #endif
|
1217 | 1222 |
|
|
0 commit comments