On 13 September 2015 at 19:55, Charles Forsyth <charles.forsyth@gmail.com> wrote:
On 13 September 2015 at 19:46, <cinap_lenrek@felloff.net> wrote:
so we really want to have n->type == double/float

no, it happens to be wrong for ordinary integers too:


int
x(int a, double d)
{
a += (a += d);
return a;
}

i've fixed the original problem, but the assumption that the result type is the type of the right,
not the type of the left (after a store) turns out to be fairly pervasive, and i'd better fix that too.
6c and 7c get it right. the others are variously wrong.