]> granicus.if.org Git - python/commit
Fix problems in x64 build that were discovered by the testsuite:
authorKristján Valur Jónsson <kristjan@ccpgames.com>
Thu, 3 May 2007 20:27:03 +0000 (20:27 +0000)
committerKristján Valur Jónsson <kristjan@ccpgames.com>
Thu, 3 May 2007 20:27:03 +0000 (20:27 +0000)
commitf030394de333ed645e7f1139e2e42f43444efb73
tree3c9a6131bcfa6edeb265c63f2a531adc00d05214
parent170eee9d6ae4ad4270cfd164c046c2381d746191
Fix problems in x64 build that were discovered by the testsuite:
- Reenable modules on x64 that had been disabled aeons ago for Itanium.
- Cleared up confusion about compilers for 64 bit windows.  There is only Itanium and x64.  Added macros MS_WINI64 and MS_WINX64 for those rare cases where it matters, such as the disabling of modules above.
- Set target platform (_WIN32_WINNT and WINVER) to 0x0501 (XP) for x64, and 0x0400 (NT 4.0) otherwise, which are the targeted minimum platforms.
- Fixed thread_nt.h.  The emulated InterlockedCompareExchange function didn´t work on x64, probaby due to the lack of a "volatile" specifier.  Anyway, win95 is no longer a target platform.
- Itertools module used wrong constant to check for overflow in count()
- PyInt_AsSsize_t couldn't deal with attribute error when accessing the __long__ member.
- PyLong_FromSsize_t() incorrectly specified that the operand were unsigned.

With these changes, the x64 passes the testsuite, for those modules present.
Modules/itertoolsmodule.c
Modules/posixmodule.c
Objects/intobject.c
Objects/longobject.c
PC/config.c
PC/pyconfig.h
Python/thread_nt.h