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

Reply via email to