In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/429a3a11f97e72ecd402d69d36672e64e38beaa4?hp=4eadd82f8c152034818f42956737102f674f9118>
- Log ----------------------------------------------------------------- commit 429a3a11f97e72ecd402d69d36672e64e38beaa4 Author: Jarkko Hietaniemi <j...@iki.fi> Date: Mon Oct 17 17:55:26 2016 -0400 make regen for the IBM/CRAY fp M uconfig.h commit 6e6b38aecfbcb229c8568366e3566d7fe7c8bbc5 Author: Jarkko Hietaniemi <j...@iki.fi> Date: Mon Oct 17 08:29:35 2016 -0400 Add scan for IBM and Cray mainframe fp formats. For completeness: it's quite unlikely Perl would build in those environments. Though with Cray it's less impossible: Perl used to build in C90 UNICOS, in 5.8-ish timeframe. With IBM, highly unlikely, because there probably never was a UNIXy enough environment where the IBM Floating Point Architecture was used. M Configure M Porting/Glossary M config_h.SH ----------------------------------------------------------------------- Summary of changes: Configure | 20 +++++++++++++++++++- Porting/Glossary | 3 +++ config_h.SH | 6 ++++++ uconfig.h | 8 +++++++- 4 files changed, 35 insertions(+), 2 deletions(-) diff --git a/Configure b/Configure index 818ab8e..7c598e9 100755 --- a/Configure +++ b/Configure @@ -10161,6 +10161,11 @@ int main() { printf("9\n"); exit(0); } + if (b[0] == 0xC0 && b[3] == 0x9A) { + /* IBM single 32-bit */ + printf("12\n"); + exit(0); + } #endif #if DOUBLESIZE == 8 if (b[0] == 0x9A && b[7] == 0xBF) { @@ -10197,6 +10202,16 @@ int main() { printf("11\n"); exit(0); } + if (b[0] == 0xC0 && b[7] == 0x9A) { + /* IBM double 64-bit */ + printf("13\n"); + exit(0); + } + if (b[0] == 0xBF && b[7] == 0xCD) { + /* CRAY single 64-bit */ + printf("14\n"); + exit(0); + } #endif #if DOUBLESIZE == 16 if (b[0] == 0x9A && b[15] == 0xBF) { @@ -10234,7 +10249,10 @@ case "$doublekind" in 9) echo "You have VAX format F 32-bit PDP-style mixed endian doubles." >&4 ;; 10) echo "You have VAX format D 64-bit PDP-style mixed endian doubles." >&4 ;; 11) echo "You have VAX format G 64-bit PDP-style mixed endian doubles." >&4 ;; -*) echo "Cannot figure out your double. You CRAY, or something?" >&4 ;; +12) echo "You have IBM short 32-bit doubles." >&4 ;; +13) echo "You have IBM long 64-bit doubles." >&4 ;; +14) echo "You have Cray single 64-bit doubles." >&4 ;; +*) echo "Cannot figure out your double. You Cyber, or something?" >&4 ;; esac $rm_try diff --git a/Porting/Glossary b/Porting/Glossary index 39a17b8..06b80a8 100644 --- a/Porting/Glossary +++ b/Porting/Glossary @@ -2933,6 +2933,9 @@ doublekind (longdblfio.U): 9 = VAX 32bit little endian F float format 10 = VAX 64bit little endian D float format 11 = VAX 64bit little endian G float format + 12 = IBM 32bit format + 13 = IBM 64bit format + 14 = Cray 64bit format -1 = unknown format. doublemantbits (mantbits.U): diff --git a/config_h.SH b/config_h.SH index 099f92a..fbf6d32 100755 --- a/config_h.SH +++ b/config_h.SH @@ -3982,6 +3982,9 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un * DOUBLE_IS_VAX_F_FLOAT * DOUBLE_IS_VAX_D_FLOAT * DOUBLE_IS_VAX_G_FLOAT + * DOUBLE_IS_IBM_SINGLE_32_BIT + * DOUBLE_IS_IBM_DOUBLE_64_BIT + * DOUBLE_IS_CRAY_SINGLE_64_BIT * DOUBLE_IS_UNKNOWN_FORMAT */ #define DOUBLEKIND $doublekind /**/ @@ -3996,6 +3999,9 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un #define DOUBLE_IS_VAX_F_FLOAT 9 #define DOUBLE_IS_VAX_D_FLOAT 10 #define DOUBLE_IS_VAX_G_FLOAT 11 +#define DOUBLE_IS_IBM_SINGLE_32_BIT 12 +#define DOUBLE_IS_IBM_DOUBLE_64_BIT 13 +#define DOUBLE_IS_CRAY_SINGLE_64_BIT 14 #define DOUBLE_IS_UNKNOWN_FORMAT -1 #$d_PRIfldbl PERL_PRIfldbl $sPRIfldbl /**/ #$d_PRIgldbl PERL_PRIgldbl $sPRIgldbl /**/ diff --git a/uconfig.h b/uconfig.h index a02560f..f8bb9c0 100644 --- a/uconfig.h +++ b/uconfig.h @@ -3947,6 +3947,9 @@ * DOUBLE_IS_VAX_F_FLOAT * DOUBLE_IS_VAX_D_FLOAT * DOUBLE_IS_VAX_G_FLOAT + * DOUBLE_IS_IBM_SINGLE_32_BIT + * DOUBLE_IS_IBM_DOUBLE_64_BIT + * DOUBLE_IS_CRAY_SINGLE_64_BIT * DOUBLE_IS_UNKNOWN_FORMAT */ #define DOUBLEKIND 3 /**/ @@ -3961,6 +3964,9 @@ #define DOUBLE_IS_VAX_F_FLOAT 9 #define DOUBLE_IS_VAX_D_FLOAT 10 #define DOUBLE_IS_VAX_G_FLOAT 11 +#define DOUBLE_IS_IBM_SINGLE_32_BIT 12 +#define DOUBLE_IS_IBM_DOUBLE_64_BIT 13 +#define DOUBLE_IS_CRAY_SINGLE_64_BIT 14 #define DOUBLE_IS_UNKNOWN_FORMAT -1 /*#define PERL_PRIfldbl "llf" / **/ /*#define PERL_PRIgldbl "llg" / **/ @@ -5273,6 +5279,6 @@ #endif /* Generated from: - * 42be1deadbcceadd92a1463d6c11c441bad7c83fe2a4cd1c2ebec7742bb5e8a3 config_h.SH + * 6b650d833a54250188bb71d659ae15d31148e6b005c50a63ef8e3599668a1c43 config_h.SH * 0fca2bf99ac976bba919b593a18bacd059c581dbe6c8638dc0861b1e613b8406 uconfig.sh * ex: set ro: */ -- Perl5 Master Repository