summaryrefslogtreecommitdiff
path: root/perl.h
diff options
context:
space:
mode:
authorSteve Hay <steve.m.hay@googlemail.com>2012-08-07 08:53:42 +0100
committerSteve Hay <steve.m.hay@googlemail.com>2012-08-07 08:53:42 +0100
commit85b769704171cb40faee0cdff60865fbf100c4c0 (patch)
treeb3ebc53ecc7e2c7cf5f82271f95536adfcc6d111 /perl.h
parent5286555350c911f136a6b28b3bbca509249d1f94 (diff)
downloadperl-85b769704171cb40faee0cdff60865fbf100c4c0.tar.gz
Use _strtoi64, _strtoui64 and _atoi64 for WIN64 VC++ builds
VC++ has QUADKIND == QUAD_IS___INT64 so the "secret handshakes" were only getting used for WIN64 GCC builds (where QUADKIND == QUAD_IS_LONG_LONG).
Diffstat (limited to 'perl.h')
-rw-r--r--perl.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/perl.h b/perl.h
index bc78844028..ab6807b02a 100644
--- a/perl.h
+++ b/perl.h
@@ -5326,7 +5326,8 @@ typedef struct am_table_short AMTS;
#endif /* !USE_LOCALE_NUMERIC */
-#if !defined(Strtol) && defined(USE_64_BIT_INT) && defined(IV_IS_QUAD) && QUADKIND == QUAD_IS_LONG_LONG
+#if !defined(Strtol) && defined(USE_64_BIT_INT) && defined(IV_IS_QUAD) && \
+ (QUADKIND == QUAD_IS_LONG_LONG || QUADKIND == QUAD_IS___INT64)
# ifdef __hpux
# define strtoll __strtoll /* secret handshake */
# endif
@@ -5348,7 +5349,8 @@ typedef struct am_table_short AMTS;
/* It would be more fashionable to use Strtol() to define atol()
* (as is done for Atoul(), see below) but for backward compatibility
* we just assume atol(). */
-# if defined(USE_64_BIT_INT) && defined(IV_IS_QUAD) && QUADKIND == QUAD_IS_LONG_LONG && defined(HAS_ATOLL)
+# if defined(USE_64_BIT_INT) && defined(IV_IS_QUAD) && defined(HAS_ATOLL) && \
+ (QUADKIND == QUAD_IS_LONG_LONG || QUADKIND == QUAD_IS___INT64)
# ifdef WIN64
# define atoll _atoi64 /* secret handshake */
# endif
@@ -5358,7 +5360,8 @@ typedef struct am_table_short AMTS;
# endif
#endif
-#if !defined(Strtoul) && defined(USE_64_BIT_INT) && defined(UV_IS_QUAD) && QUADKIND == QUAD_IS_LONG_LONG
+#if !defined(Strtoul) && defined(USE_64_BIT_INT) && defined(UV_IS_QUAD) && \
+ (QUADKIND == QUAD_IS_LONG_LONG || QUADKIND == QUAD_IS___INT64)
# ifdef __hpux
# define strtoull __strtoull /* secret handshake */
# endif