Python 2.4 doesn't handle overflow in integer exponentiation correctly
In Python 2.4 as compiled from guix-past, 2**64
yields 0
, rather than the expected 18446744073709551616L
. This causes two failures in the test suite of NumPy.
The Python source code contains code that checks for this condition, and according to my memories it worked correctly back then. I could certainly run the NumPy test suite without failures with Python 2.4. It would be nice to check on a virtual machine from those days, but I don't have any!
The bug thus seems to be related to the use of a C compiler that is much newer than Python 2.4, possibly due to the use of ambiguous features of the C language that modern compilers intepret differently.