[Bug libfortran/24902] COMPLEX_ASSIGN is wrong
gdr at integrable-solutions dot net
gcc-bugzilla@gcc.gnu.org
Wed Nov 16 20:24:00 GMT 2005
------- 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" <gcc-bugzilla@gcc.gnu.org> 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
More information about the Gcc-bugs
mailing list