In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/0cd93aca4e274765289e9e01d34c4a5dcf06df1c?hp=923ed5809c063091fb0f77dc6f1b8231d587d13e>

- Log -----------------------------------------------------------------
commit 0cd93aca4e274765289e9e01d34c4a5dcf06df1c
Author: Jarkko Hietaniemi <[email protected]>
Date:   Mon Mar 2 07:00:33 2015 -0500

    Configure: add note about nvsize sometimes lying
    
    Lying in case you expect that many bytes being used for NV.
-----------------------------------------------------------------------

Summary of changes:
 Porting/Glossary | 6 ++++--
 config_h.SH      | 8 +++++++-
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/Porting/Glossary b/Porting/Glossary
index 75f67e3..3f9057e 100644
--- a/Porting/Glossary
+++ b/Porting/Glossary
@@ -4086,7 +4086,8 @@ longdblkind (d_longdbl.U):
 longdblsize (d_longdbl.U):
        This variable contains the value of the LONG_DOUBLESIZE symbol, which
        indicates to the C program how many bytes there are in a long double,
-       if this system supports long doubles.
+       if this system supports long doubles.  Note that this is
+       sizeof(long double), which may include unused bytes.
 
 longlongsize (d_longlong.U):
        This variable contains the value of the LONGLONGSIZE symbol, which
@@ -4351,7 +4352,8 @@ nvGUformat (perlxvf.U):
        a Perl NV using %G-ish floating point format.
 
 nvsize (perlxv.U):
-       This variable is the size of an NV in bytes.
+       This variable is the size of a Perl NV in bytes.
+       Note that some floating point formats have unused bytes.
 
 nvtype (perlxv.U):
        This variable contains the C type used for Perl's NV.
diff --git a/config_h.SH b/config_h.SH
index 03c6753..fb2224e 100755
--- a/config_h.SH
+++ b/config_h.SH
@@ -1952,7 +1952,8 @@ sed <<!GROK!THIS! >$CONFIG_H -e 
's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 /* LONG_DOUBLESIZE:
  *     This symbol contains the size of a long double, so that the
  *     C preprocessor can make decisions based on it.  It is only
- *     defined if the system supports long doubles.
+ *     defined if the system supports long doubles.   Note that this
+ *     is sizeof(long double), which may include unused bytes.
  */
 /* HAS_LDEXPL:
  *     This symbol, if defined, indicates that the ldexpl routine is
@@ -4912,6 +4913,11 @@ sed <<!GROK!THIS! >$CONFIG_H -e 
's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 /* NVSIZE:
  *     This symbol contains the sizeof(NV).
+ *     Note that some floating point formats have unused bytes.
+ *     The most notable example is the x86* 80-bit extended precision
+ *     which comes in byte sizes of 12 and 16 (for 32 and 64 bit
+ *     platforms, respectively), but which only uses 10 bytes.
+ *     Perl compiled with -Duselongdouble on x86* is like this.
  */
 /* NV_PRESERVES_UV:
  *     This symbol, if defined, indicates that a variable of type NVTYPE

--
Perl5 Master Repository

Reply via email to