At the time libcxx does not work as expected with -std=c++17 -fchar8_t.
In my POV, this option was indended to enable the entire P0482, as it has landed into the standard.
At least Clang C++ Status says so:
Prior to Clang 8, this feature (i. e. entire proposal – Yuriy) is not enabled by -std=c++20, but can be enabled with -fchar8_t.
This PR makes libcxx to define u8string / u8string_view regarding the standard feature flag, disregarding wrether the standard was switched to C++20.
As of this PR, _LIBCPP_NO_HAS_CHAR8_T became a simple negation of __cpp_char8_t.
The configuration might become easier to read upon replacing all invocation of these options with feature testing macro.