This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Implement C++20 constexpr <algorithm>, , and <array>
On Tue, Mar 19, 2019 at 4:57 PM Ed Smith-Rowland via gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> On 3/18/19 6:18 PM, Jonathan Wakely wrote:
> > On 17/03/19 22:54 -0400, Ed Smith-Rowland via libstdc++ wrote:
> > I'm very surprised that none of the algos that dispatch to
> > __builtin_memove need changes, because those optimizations won't work
> > in constant expressions. I would expect to have to use
> > std::is_constant_evaluated to disable the optimizations when used in
> > constant expressions.
> >
> As am I. As I mentioned on IRC I could roll a constexpr memmove.
>
> I was wondering if somehow I'm not checking what I think I'm checking
> (but I don't see how.)
>
> I wonder if the builtins are handled differently somehow by the front
> end. I'm still not sure why __builtin_memcmp is OK for array == array
> but not array != array. In that case I just do element by element
> compare for constexpr now anyway.
Is there a PR about making these builtins work in constexpr?
Jason