------- Comment #19 from mmitchel at gcc dot gnu dot org 2005-11-15 22:10 ------- There are only two choices: either __imag__ is an lvalue, and the code in Comment #1 is valid, or __imag__ is not an lvalue, and the compiler should issue an error.
Nobody wants to see a warning about an uninitialized variable use on: __complex__ double t; __imag__ t = 0.0; __real__ t = 0.0; If Andrew doesn't like the fact that __imag__ is an lvalue, then Andrew should complain to the C front-end maintainers. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23497