X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl.h;h=2871d8021fafe8cfec0866145227323aff51da47;hb=1e2878e610af032604518a9feca8663968d7369a;hp=c9ec37a5ded7c039e095a8eb01727ff99deca7ca;hpb=aba27d8868c4da5501a93098d949549307dd9a6a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/perl.h b/perl.h index c9ec37a..2871d80 100644 --- a/perl.h +++ b/perl.h @@ -836,9 +836,7 @@ Free_t Perl_free _((Malloc_t where)); because then IV/UV have been 32 bits, too. Which, in turn means that even if the system has quads (e.g. long long), IV cannot be a quad. Introducing a 64-bit IV (because of long long existing) - would introduce binary incompatibility. Therefore the - USE_LONG_LONG guard below when probing for quads and the check for - PTRSIZE further down when defining IV/UV. + will introduce binary incompatibility. Summary: a long long system needs to add -DUSE_LONG_LONG to $ccflags to get quads -- and if its pointers are still 32 bits, this will break @@ -889,7 +887,7 @@ Free_t Perl_free _((Malloc_t where)); #endif /* See above note on LP32 about the PTRSIZE test. --jhi */ -#if defined(HAS_QUAD) && PTRSIZE > 4 +#if defined(HAS_QUAD) && (PTRSIZE > 4 || defined(USE_LONG_LONG)) typedef Quad_t IV; typedef unsigned Quad_t UV; # if defined(PERL_QUAD_IS_INT64_T) && defined(INT64_MAX) @@ -1194,8 +1192,9 @@ typedef union any ANY; # endif /* Some systems have open64() in libc but use that only * for true LP64 mode, in mixed mode (ILP32LL64, for example) - * they use the vanilla open(). --jhi */ -# if defined(HAS_OPEN64) && !defined(NO_OPEN64) + * they use the vanilla open(). Such systems should undefine + * d_open64 in their hints files. --jhi */ +# if defined(HAS_OPEN64) # define open open64 # endif # ifdef HAS_OPENDIR64