[libcxx-commits] [PATCH] D107239: [libcxx] Remove _LIBCPP_HAS_NO_BUILTIN_IS_CONSTANT_EVALUATED
Louis Dionne via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Aug 10 08:12:14 PDT 2021
ldionne accepted this revision.
ldionne added a comment.
This revision is now accepted and ready to land.
LGTM.
The issue of `#error`ing out on compilers that are not supported is a tricky one, and I'd tackle it as a separate effort. I see the following options:
1. Error-out on any compiler that isn't officially supported, even if parts of the library may still work.
2. Error-out only on compilers that we know will fail in crazy ways in order to provide a "fail fast and obviously" kind of experience to users.
The problem with (1) is that it could be perceived as raising the bar for people who want to create a setup that "kinda works". I can easily imagine people saying "my setup works just fine even though you don't officially support it - why are you making my life harder?".
The problem with (2) is that it's a moving target, and it's not easy to define "is obviously broken on compiler version X". For example, GCC 5 *clearly* doesn't work, but what about GCC 10? It's not supported, but parts of the library do work. How broken should compiler support be in order to explicitly `#error` out in `__config`?
In both cases, it's not an easy solution. Let's tackle it separately.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D107239/new/
https://reviews.llvm.org/D107239
More information about the libcxx-commits
mailing list