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

--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Ivan Sorokin from comment #5)
> I would suggest (In reply to Andrew Pinski from comment #4)
> >   nullptr_t t, t1 = nullptr;
> >   __builtin_memcpy(&a[0], &t, sizeof(t));
> 
> > So I suspect this should be marked as invalid.
> 
> The questions is how GCC defines memcpy'ing from nullptr_t.
> 
> Should it be required to read zero bytes? Or null pointer value? What about
> systems where the value of null pointer is not zero?
> 
> In any case I don't think memcpy'ing nullptr_t into a different type is
> particularly useful or used anywhere (I might be wrong). So I suggest
> defining nullptr_t as an empty type containing only padding bytes. In this
> case memcpy should just read the padding bytes.

But the padding bits needs to be zero then ....

Reply via email to