[Bug c++/71537] GCC rejects consetxpr boolean conversions and comparisons on the result of pointer arithmetic.
msebor at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Dec 3 16:59:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71537
--- Comment #7 from Martin Sebor <msebor at gcc dot gnu.org> ---
Unfortunately, __builtin_memchr is not usable in constexpr contexts. Hardly
any of these builtins are. I think the only exception is __builtin_strlen but
only to a limited extent (bug 77357 has some background). There's a general
problem with folding it and other functions like it when the argument is an
array (i.e., a CONSTRUCTOR in GCC, as opposed to a STRING_CST). Bug 78257 has
a test case involving memcmp but the same problem applies to memchr. Once that
is solved all of this should just work both in C and in C++ (i.e., even beyond
constexpr).
More information about the Gcc-bugs
mailing list