https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113835

--- Comment #15 from Jason Merrill <jason at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #12)
> The __uninitialized_default_n_1<true> specialization assumes that we can use
> std::fill_n to assign to objects outside their lifetime. I don't think
> that's valid during constant evaluation, is it?

No, you're right; I guess I was thinking that for a type with a trivial default
constructor, assignment could start the lifetime like it does for a union
member, or that allocate would vacuously initialize the elements of an array of
such type.

One of those being needed because we don't get implicit object creation in
constant evaluation.

Reply via email to