[Bug middle-end/94992] gcc thinks a member variable is uninitialised
rafael at espindo dot la
gcc-bugzilla@gcc.gnu.org
Fri May 8 15:52:15 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94992
--- Comment #3 from Rafael Avila de Espindola <rafael at espindo dot la> ---
For completeness, this is a reduction of a std::swap(x,x). The placement new
was originally in the move assignment operator.
I was able to reproduce this with gcc 9 by moving a few functions out of line.
As far as I can tell, the relevant standard line is from basic.life:
The lifetime of an object \placeholder{o} of type \tcode{T} ends when:
...
\item the storage which the object occupies is released,
or is reused by an object that is not nested within
\placeholder{o}\iref{intro.object}.
More information about the Gcc-bugs
mailing list