[PATCH] D55308: Implement the second part of P0482 (char8_t)

Marshall Clow via Phabricator reviews at reviews.llvm.org
Wed Dec 5 14:01:19 PST 2018

mclow.lists marked 2 inline comments as done.
mclow.lists added a comment.

In D55308#1320586 <https://reviews.llvm.org/D55308#1320586>, @ldionne wrote:

> 2. Maybe we should consider having a LIT feature to represent `char8_t` support, that way we could mark tests as unsupported?

I thought about that, but I didn't want to start a trend of adding lit features (because there would be several).

> Otherwise, I would say just assume that a compiler implementing c++2a supports `char8_t` and don't bother disabling the tests.

This is demonstrably untrue.
clang 7.0, for example, supports `-std=c++2a` but not `char8_t`.

Comment at: test/std/strings/basic.string.literals/literal.pass.cpp:19
+//	This is changed by P0482 to return a std::u8string - re-enable when we implement that.
+#if defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L
+    typedef std::u8string u8string;
ldionne wrote:
> I don't understand the part of the comment that says "re-enable when we implement that". With this patch, I think `defined(__cpp_lib_char8_t) && __cpp_lib_char8_t >= 201811L` is true, right?
I have removed this.



More information about the libcxx-commits mailing list