When 0.0 and -0.0 occur in the same compilation unit (e.g. function), the first one to occur gets used in lieu of all occurrences of the other. So, I've added a unittest to confirm this bug, and slightly tweaked an optimization performed in ast.c (_exactly_ along the lines of the similar tweak that's already there in the similar optimization performed in peephole.c) to remove the bug (which was not in the latest released 2.4 but keeps resurfacing -- hopefully no longer, w/the new unittest).
This can be closed, I think: it's already been fixed in the trunk (with a different fix, also due to Alex, from the one given here) and the fix has been backported to 2.5.2. Not sure what the appropriate resolution is here; plumping for 'out of date'.
History
Date
User
Action
Args
2022-04-11 14:56:23
admin
set
github: 44702
2008-01-21 23:22:29
mark.dickinson
set
status: open -> closedresolution: out of datemessages: +