Message158800
> Because "pfval" in this example doesn't exist but is merely a temporary, > there is no aliasing.
Maybe aliasing wasn't the right word to use, then. The exact rule being violated is C99 6.5, para. 7 (or C11 6.5 para. 7 if you prefer):
"""
An object shall have its stored value accessed only by an lvalue expression that has one of the following types: ...
"""
In any case, I don't think it's relevant whether the values involved are named variables or temporaries.
> I don't think we could have our own floating point formatting library > if we didn't make that assumption
There are configure-time checks that determine whether that floating-point formatting library is used or not, including (amongst some other things) whether the underlying floating-point type is IEEE 754. Officially, Python shouldn't assume IEEE 754 floating-point anywhere---the core should build fine without it, and there's lots of code in the core to deal with non-IEEE 754 platforms.
> And should such a platform be found, it is easy enough to disable this > code for it.
I think that's the wrong way around: the code should only be enabled in the first place when we're sure that the platform is IEEE 754. That shouldn't be hard to build into the patch, since the checks for IEEE 754 are already all over the place for other purposes. |
|
Date |
User |
Action |
Args |
2012-04-20 06:46:42 | mark.dickinson | set | recipients:
+ mark.dickinson, rhettinger, jcea, pitrou, kristjan.jonsson, michael.foord, eric.snow, serhiy.storchaka |
2012-04-20 06:46:42 | mark.dickinson | set | messageid: <1334904402.69.0.956915334925.issue14381@psf.upfronthosting.co.za> |
2012-04-20 06:46:42 | mark.dickinson | link | issue14381 messages |
2012-04-20 06:46:41 | mark.dickinson | create | |
|