diff --git a/Lib/stdint.i b/Lib/stdint.i
index 14fe619..45337c0 100644
@@ -86,8 +86,8 @@ typedef unsigned long long int uint_fast64_t;
/* Types for `void *' pointers. */
#if defined(SWIGWORDSIZE64)
-typedef long int intptr_t;
-typedef unsigned long int uintptr_t;
+typedef long long intptr_t;
+typedef unsigned long long uintptr_t;
#else
typedef int intptr_t;
typedef unsigned int uintptr_t;
diff --git a/Lib/swigarch.i b/Lib/swigarch.i
index bf4ee8e..bf6b5c3 100644
@@ -53,7 +53,7 @@
#ifndef LONG_MAX
#include <limits.h>
#endif
-#if (__WORDSIZE == 32) || (LONG_MAX == INT_MAX)
+#if (__WORDSIZE == 32)
# error "SWIG wrapped code invalid in 32 bit architecture, regenerate code using -DSWIGWORDSIZE32"
#endif
%}