develooper Front page | perl.perl5.porters | Postings from July 2000

QUAD_MAX: integer or floating point?

Thread Next
From:
Jeff Okamoto
Date:
July 25, 2000 16:07
Subject:
QUAD_MAX: integer or floating point?
Message ID:
200007252307.QAA12280@xfiles.intercon.hp.com
Can some of you on Unix systems grep your /usr/include directories and see
if you have QUAD_MAX defined, and if so, whether it's a floating point number
or not?

I'm cross-compiling Perl 5.6.0 in 64-bit mode on HP-UX for PA-RISC and for
IA64.  On PA-RISC, IV_MAX gets expanded through means of the PERL_QUAD_MAX
macro via the QUAD_MAX macro which is not defined on the PA-RISC.  This means
perl.h defines PERL_QUAD_MAX to be ((IV) (PERL_UQUAD_MAX >> 1)), where
PERL_UQUAD_MAX is (~(UV)0).

On the IA64 platform, QUAD_MAX is defined in /usr/include/float.h to be
LDBL_MAX, which is a nasty 1.xxxE+4932L, and so perl.h defines PERL_QUAD_MAX
to be equal to QUAD_MAX and therefore IV_MAX becomes a very large *negative*
number.  The base/rs.t test thus fails because the DIE in pp_enteriter is
called.

I need more information about what QUAD_MAX is supposed to be defined as
before I can try to fix this.  On both PA-RISC and IA64,
/usr/include/inttypes.h has INT64_MIN and INT64_MAX macros available.

Jeff

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About