------- Comment #5 from gdr at integrable-solutions dot net 2005-11-16 20:24 ------- Subject: Re: COMPLEX_ASSIGN is wrong
"pinskia at physics dot uc dot edu" <[EMAIL PROTECTED]> writes: | Subject: Re: COMPLEX_ASSIGN is wrong | | > yields an lvalue. do whatever you want in the *middle end*, but be | > sure you don't transmute that basic semantics constraint. | | Gaby, it also prevents a huge amount of optimizations so what is | the difference from saying it is wrong? You're putting optimization before semantics; -that- is wrong. I'm not interested in the fastest program if it does not meet my needs. If __imag__ z yields a modifiable lvalue, then it follows, by ordinary language rules that it can be used on the left hand side of built-in "=". In C, the resulting expresion is an rvalue; in C++ it is an lvalue. No amount of bizarre extension should break those simple rules. | The issue comes down to what does | __imag__ a = b; really means. No, it comes down to what "__imag__ a" means. -- Gaby -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24902