[Bug middle-end/23497] [4.1 regression] Bogus 'is used uninitialized...' warning about std::complex<T>
mmitchel at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Tue Nov 15 19:23:00 GMT 2005
------- Comment #14 from mmitchel at gcc dot gnu dot org 2005-11-15 19:23 -------
There is nothing wrong with the code in Comment #1; __imag__ is an
lvalue-yielding operator. If, for some reason, we wanted to make __imag__
yield an rvalue, then this code would be rejected with an error; under no
circumstances should it yield a warning about the complex value being
uninitialized upon initialization of its imaginary component. It would be
reasonable to warn about a subsequent use of the complex value, as the real
part remains uninitialized.
Andrew's comments about the fact that __complex__ is a scalar are irrelevant.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23497
More information about the Gcc-bugs
mailing list