|
38 | 38 | # define _LIBCPP_FREESTANDING
|
39 | 39 | # endif
|
40 | 40 |
|
| 41 | +# if __has_feature(experimental_library) |
| 42 | +# ifndef _LIBCPP_ENABLE_EXPERIMENTAL |
| 43 | +# define _LIBCPP_ENABLE_EXPERIMENTAL |
| 44 | +# endif |
| 45 | +# endif |
| 46 | + |
| 47 | +// Incomplete features get their own specific disabling flags. This makes it |
| 48 | +// easier to grep for target specific flags once the feature is complete. |
| 49 | +# if defined(_LIBCPP_ENABLE_EXPERIMENTAL) || defined(_LIBCPP_BUILDING_LIBRARY) |
| 50 | +# define _LIBCPP_HAS_EXPERIMENTAL_LIBRARY 1 |
| 51 | +# else |
| 52 | +# define _LIBCPP_HAS_EXPERIMENTAL_LIBRARY 0 |
| 53 | +# endif |
| 54 | + |
| 55 | +# define _LIBCPP_HAS_EXPERIMENTAL_PSTL _LIBCPP_HAS_EXPERIMENTAL_LIBRARY |
| 56 | +# define _LIBCPP_HAS_EXPERIMENTAL_TZDB _LIBCPP_HAS_EXPERIMENTAL_LIBRARY |
| 57 | +# define _LIBCPP_HAS_EXPERIMENTAL_SYNCSTREAM _LIBCPP_HAS_EXPERIMENTAL_LIBRARY |
| 58 | +# define _LIBCPP_HAS_EXPERIMENTAL_HARDENING_OBSERVE_SEMANTIC _LIBCPP_HAS_EXPERIMENTAL_LIBRARY |
| 59 | + |
41 | 60 | // HARDENING {
|
42 | 61 |
|
43 | 62 | // TODO: Remove in LLVM 21. We're making this an error to catch folks who might not have migrated.
|
@@ -232,25 +251,6 @@ _LIBCPP_HARDENING_MODE_DEBUG
|
232 | 251 | # define _LIBCPP_ABI_VCRUNTIME
|
233 | 252 | # endif
|
234 | 253 |
|
235 |
| -# if __has_feature(experimental_library) |
236 |
| -# ifndef _LIBCPP_ENABLE_EXPERIMENTAL |
237 |
| -# define _LIBCPP_ENABLE_EXPERIMENTAL |
238 |
| -# endif |
239 |
| -# endif |
240 |
| - |
241 |
| -// Incomplete features get their own specific disabling flags. This makes it |
242 |
| -// easier to grep for target specific flags once the feature is complete. |
243 |
| -# if defined(_LIBCPP_ENABLE_EXPERIMENTAL) || defined(_LIBCPP_BUILDING_LIBRARY) |
244 |
| -# define _LIBCPP_HAS_EXPERIMENTAL_LIBRARY 1 |
245 |
| -# else |
246 |
| -# define _LIBCPP_HAS_EXPERIMENTAL_LIBRARY 0 |
247 |
| -# endif |
248 |
| - |
249 |
| -# define _LIBCPP_HAS_EXPERIMENTAL_PSTL _LIBCPP_HAS_EXPERIMENTAL_LIBRARY |
250 |
| -# define _LIBCPP_HAS_EXPERIMENTAL_TZDB _LIBCPP_HAS_EXPERIMENTAL_LIBRARY |
251 |
| -# define _LIBCPP_HAS_EXPERIMENTAL_SYNCSTREAM _LIBCPP_HAS_EXPERIMENTAL_LIBRARY |
252 |
| -# define _LIBCPP_HAS_EXPERIMENTAL_HARDENING_OBSERVE_SEMANTIC _LIBCPP_HAS_EXPERIMENTAL_LIBRARY |
253 |
| - |
254 | 254 | # if defined(__MVS__)
|
255 | 255 | # include <features.h> // for __NATIVE_ASCII_F
|
256 | 256 | # endif
|
|
0 commit comments