[libcxx-commits] [libcxx] [libc++][RFC] Always define internal feature test macros (PR #89178)
Nikolas Klauser via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Apr 18 12:15:47 PDT 2024
philnik777 wrote:
As I said in the commit message, this only changes FTMs configured in `<__config>`. `<__config_site>` will be a follow-up patch. Re. some of the macros:
> _LIBCPP_HAS_NO_FILESYSTEM_LIBRARY
> _LIBCPP_HAS_NO_STDIN
> _LIBCPP_HAS_NO_STDOUT
We don't use these macro names anymore, so any code that checks the macro is already broken.
> _LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION
> _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS
> _LIBCPP_HAS_NO_INT128
I don't know why anybody would ever want to define that. Maybe some workaround for a bug?
> _LIBCPP_HAS_NO_LOCALIZATION
> _LIBCPP_HAS_NO_THREADS
> _LIBCPP_HAS_NO_TIME_ZONE_DATABASE
> _LIBCPP_HAS_NO_UNICODE
I'd be really interested what the reasoning for these is. Maybe not properly configured libc++ builds and people try to work around it?
> _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
I don't plan to change that one, but it should really only be set by our tests. OTOH I don't really care if people can't configure their warnings correctly because they define library-internal macros.
https://github.com/llvm/llvm-project/pull/89178
More information about the libcxx-commits
mailing list