In metaconfig.git, the branch master has been updated <http://perl5.git.perl.org/metaconfig.git/commitdiff/ff006bc1e67739563aaed013558c8de785d2952a?hp=52e5a8b9ef219e4c9610c64816d58cc1c54810c5>
- Log ----------------------------------------------------------------- commit ff006bc1e67739563aaed013558c8de785d2952a Author: H.Merijn Brand - Tux <[email protected]> Date: Fri Mar 6 13:40:14 2015 +0100 Configure: add note about nvsize sometimes lying Lying in case you expect that many bytes being used for NV. Backport of 0cd93aca4e274765289e9e01d34c4a5dcf06df1c Author: Jarkko Hietaniemi <[email protected]> 2015-03-02 13:00:33 M U/modified/d_longdbl.U M U/perl/perlxv.U commit 0972895bc1b334ba65b674e15c4a3469614a55ed Author: H.Merijn Brand - Tux <[email protected]> Date: Fri Mar 6 13:33:17 2015 +0100 Missing Configure messages. (The scans have been happening, the echo case branches were missing.) Backport of e11fa374c86b187ae1e8382680d49e2e44abf1bb Author: Jarkko Hietaniemi <[email protected]> 2015-02-25 13:51:53 M U/perl/longdblfio.U ----------------------------------------------------------------------- Summary of changes: U/modified/d_longdbl.U | 6 ++++-- U/perl/longdblfio.U | 2 ++ U/perl/perlxv.U | 8 +++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/U/modified/d_longdbl.U b/U/modified/d_longdbl.U index 6cd9f5f..56afbba 100644 --- a/U/modified/d_longdbl.U +++ b/U/modified/d_longdbl.U @@ -21,7 +21,8 @@ ?S:longdblsize: ?S: This variable contains the value of the LONG_DOUBLESIZE symbol, which ?S: indicates to the C program how many bytes there are in a long double, -?S: if this system supports long doubles. +?S: if this system supports long doubles. Note that this is +?S: sizeof(long double), which may include unused bytes. ?S:. ?S:longdblkind: ?S: This variable, if defined, encodes the type of a long double: @@ -37,7 +38,8 @@ ?C:LONG_DOUBLESIZE: ?C: This symbol contains the size of a long double, so that the ?C: C preprocessor can make decisions based on it. It is only -?C: defined if the system supports long doubles. +?C: defined if the system supports long doubles. Note that this +?C: is sizeof(long double), which may include unused bytes. ?C:. ?C:HAS_LDEXPL: ?C: This symbol, if defined, indicates that the ldexpl routine is diff --git a/U/perl/longdblfio.U b/U/perl/longdblfio.U index e67bea0..1e8a93e 100644 --- a/U/perl/longdblfio.U +++ b/U/perl/longdblfio.U @@ -244,6 +244,8 @@ case "$doublekind" in 4) echo "You have IEEE 754 64-bit big endian doubles." >&4 ;; 5) echo "You have IEEE 754 128-bit little endian doubles." >&4 ;; 6) echo "You have IEEE 754 128-bit big endian doubles." >&4 ;; +7) echo "You have IEEE 754 64-bit mixed endian doubles (32-bit LEs in BE)." >&4 ;; +8) echo "You have IEEE 754 64-bit mixed endian doubles (32-bit BEs in LE)." >&4 ;; *) echo "Cannot figure out your double. You VAX, or something?" >&4 ;; esac $rm_try diff --git a/U/perl/perlxv.U b/U/perl/perlxv.U index 01c4d29..b5e0be0 100644 --- a/U/perl/perlxv.U +++ b/U/perl/perlxv.U @@ -79,7 +79,8 @@ ?S: This variable is the size of an U64 in bytes. ?S:. ?S:nvsize: -?S: This variable is the size of an NV in bytes. +?S: This variable is the size of a Perl NV in bytes. +?S: Note that some floating point formats have unused bytes. ?S:. ?S:d_nv_preserves_uv: ?S: This variable indicates whether a variable of type nvtype @@ -163,6 +164,11 @@ ?C:. ?C:NVSIZE: ?C: This symbol contains the sizeof(NV). +?C: Note that some floating point formats have unused bytes. +?C: The most notable example is the x86* 80-bit extended precision +?C: which comes in byte sizes of 12 and 16 (for 32 and 64 bit +?C: platforms, respectively), but which only uses 10 bytes. +?C: Perl compiled with -Duselongdouble on x86* is like this. ?C:. ?C:NV_PRESERVES_UV: ?C: This symbol, if defined, indicates that a variable of type NVTYPE -- perl5 metaconfig repository
