[libc++] [LIBCXX-DEBUG-FIXME] Constexpr char_traits::copy mustn't compare unrelated...
authorArthur O'Dwyer <arthur.j.odwyer@gmail.com>
Wed, 21 Apr 2021 02:24:24 +0000 (22:24 -0400)
committerArthur O'Dwyer <arthur.j.odwyer@gmail.com>
Mon, 20 Sep 2021 18:44:59 +0000 (14:44 -0400)
commitdf81bb71aa452c677984fbeb7c34e8a77ec3e83b
tree340addabc26b055a4af6dc5b69ab070fd0920a92
parentc4a406bbd0fe3afa8366b72c49b1bc494a168624
[libc++] [LIBCXX-DEBUG-FIXME] Constexpr char_traits::copy mustn't compare unrelated pointers.

Now that __builtin_is_constant_evaluated() is present on all supported
compilers, we can use it to skip the UB-inducing assert in cases where
the computation might be happening at constexpr time.

Differential Revision: https://reviews.llvm.org/D101674
libcxx/include/__string
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/copy.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/copy.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/copy.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/copy.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/copy.pass.cpp
libcxx/test/std/strings/string.view/string.view.ops/copy.pass.cpp