Nikolas Klauser
ba87515fea
[libc++][RFC] Always define internal feature test macros ( #89178 )
...
Currently, the library-internal feature test macros are only defined if
the feature is not available, and always have the prefix
`_LIBCPP_HAS_NO_`. This patch changes that, so that they are always
defined and have the prefix `_LIBCPP_HAS_` instead. This changes the
canonical use of these macros to `#if _LIBCPP_HAS_FEATURE`, which means
that using an undefined macro (e.g. due to a missing include) is
diagnosed now. While this is rather unlikely currently, a similar change
in `<__configuration/availability.h>` caught a few bugs. This also
improves readability, since it removes the double-negation of `#ifndef
_LIBCPP_HAS_NO_FEATURE`.
The current patch only touches the macros defined in `<__config>`. If
people are happy with this approach, I'll make a follow-up PR to also
change the macros defined in `<__config_site>`.
2024-10-12 09:49:52 +02:00
..
2024-07-19 09:42:16 -07:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2024-10-12 09:49:52 +02:00
2023-08-22 20:15:16 +02:00
2023-09-05 18:10:46 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2024-05-03 17:29:27 +02:00
2023-08-09 19:39:08 +02:00
2024-05-03 17:29:27 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2024-07-16 19:01:00 +02:00
2024-05-03 17:29:27 +02:00
2023-08-09 19:39:08 +02:00
2024-05-03 17:29:27 +02:00
2024-07-20 17:50:05 +02:00
2023-11-24 17:34:30 +01:00
2023-08-09 19:39:08 +02:00
2024-02-19 09:56:06 +02:00
2023-08-09 19:39:08 +02:00
2023-08-22 20:15:16 +02:00
2023-08-09 19:39:08 +02:00
2024-05-03 17:29:27 +02:00
2024-05-03 17:29:27 +02:00
2024-05-03 17:29:27 +02:00
2024-05-03 17:29:27 +02:00
2024-05-03 17:29:27 +02:00
2024-05-03 17:29:27 +02:00
2024-05-03 17:29:27 +02:00
2024-05-03 17:29:27 +02:00
2024-05-03 17:29:27 +02:00
2024-10-12 09:49:52 +02:00
2024-05-03 17:29:27 +02:00
2024-05-03 17:29:27 +02:00
2023-08-09 19:39:08 +02:00
2024-08-27 17:15:03 -04:00
2023-09-06 19:31:29 +02:00
2023-09-05 18:10:46 +02:00
2023-08-22 20:15:59 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2024-08-30 12:09:36 -04:00
2023-08-09 19:39:08 +02:00
2023-08-22 20:15:59 +02:00
2024-04-09 11:10:20 -04:00
2023-08-22 20:15:16 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2024-10-12 09:49:52 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2023-08-22 20:15:16 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2024-04-05 22:04:07 +03:00
2023-08-09 19:39:08 +02:00
2024-08-10 10:08:41 +02:00
2023-08-09 19:39:08 +02:00
2024-10-12 09:49:52 +02:00
2023-08-22 20:15:16 +02:00
2024-08-10 10:08:41 +02:00
2023-08-09 19:39:08 +02:00
2024-01-22 06:57:45 +02:00
2023-08-09 19:39:08 +02:00
2024-02-10 15:22:16 +01:00
2023-09-05 18:10:46 +02:00
2023-08-09 19:39:08 +02:00
2023-08-22 20:16:53 +02:00
2024-05-08 20:17:59 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2023-08-22 20:15:16 +02:00
2023-08-09 19:39:08 +02:00
2023-08-22 20:15:16 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2024-09-12 09:48:59 -04:00
2023-08-09 19:39:08 +02:00
2024-10-12 09:49:52 +02:00
2024-10-12 09:49:52 +02:00
2024-04-04 06:03:00 +03:00
2023-11-08 17:45:06 +01:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2024-09-12 09:48:59 -04:00
2023-09-05 18:10:46 +02:00
2024-10-09 08:19:14 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2023-09-05 18:10:46 +02:00
2023-08-09 19:39:08 +02:00
2023-08-09 19:39:08 +02:00
2023-09-05 18:10:46 +02:00
2023-08-09 19:39:08 +02:00