Thread Links | Date Links | ||||
---|---|---|---|---|---|
Thread Prev | Thread Next | Thread Index | Date Prev | Date Next | Date Index |
On Oct 18 2010, Vincent Lefevre wrote:
Another complication with that transformation is that some non-754 compliant systems round some values down when they're used or copied or^^^^ not necessarily downstored, so x = y+0; if (x != y) then maybe it's a NaN or maybe x just got rounded down and y didn't can be the surprise.Actually that was a problem with the old IEEE 754-1985 standard, which didn't specify what a destination was (in C, such problems are more due to non-C conformance).
Not in my experience. While there have been a few compiler bugs, the vast majority of such problems were because the programmers didn't understand C's rules on when values are required to be converted to their semantic type. I can witness that there were heated debates within WG14 on this, but no consensus on precisely what a compiler was allowed to do. At least at one stage, the consensus seemed to be that footnote 52 (which is informative under ISO rules) was in fact normative (i.e. that only casts and assignment need convert, but others may). That was raised in the context of Annex F, but never got settled. Regards, Nick Maclaren.