Add Configure -Duselongdouble and add a missing semicolon.
Jarkko Hietaniemi [Thu, 12 Aug 1999 19:06:17 +0000 (19:06 +0000)]
p4raw-id: //depot/cfgperl@3969

Configure
config_h.SH
sv.c

index 60df796..ab71528 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
 
 # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
 #
-# Generated on Tue Aug 10 20:19:08 EET DST 1999 [metaconfig 3.0 PL70]
+# Generated on Thu Aug 12 22:03:15 EET DST 1999 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.com)
 
 cat >/tmp/c1$$ <<EOF
@@ -847,6 +847,7 @@ trnl=''
 uidtype=''
 archname64=''
 use64bits=''
+uselongdouble=''
 usemultiplicity=''
 nm_opt=''
 nm_so_opt=''
@@ -6449,6 +6450,33 @@ fi
 
 cat <<EOM
 
+Perl can be built to take advantage of long doubles which
+(if available) may give more accuracy and range for floating point
+numbers.  To do so, Configure must be run with -Duselongdouble.
+
+If this doesn't make any sense to you, just accept the default 'n'.
+EOM
+case "$uselongdouble" in
+$define|true|[yY]*)    dflt='y';;
+*) dflt='n';;
+esac
+rp='Try to use long doubles if available?'
+. ./myread
+case "$ans" in
+y|Y) 
+       val="$define"
+       ccflags="$ccflags -DUSE_LONG_DOUBLE"
+       ;;     
+*)      
+       val="$undef"
+       ;;
+esac
+set uselongdouble
+eval $setvar
+
+
+cat <<EOM
+
 Previous version of $package used the standard IO mechanisms as defined
 in <stdio.h>.  Versions 5.003_02 and later of perl allow alternate IO
 mechanisms via a "PerlIO" abstraction, but the stdio mechanism is still
@@ -14076,6 +14104,7 @@ uname='$uname'
 uniq='$uniq'
 use64bits='$use64bits'
 usedl='$usedl'
+uselongdouble='$uselongdouble'
 usemultiplicity='$usemultiplicity'
 usemymalloc='$usemymalloc'
 usenm='$usenm'
index 41b4ccc..f0643da 100644 (file)
@@ -2589,6 +2589,12 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
  */
 #$use64bits    USE_64_BITS             /**/
 
+/* USE_LONG_DOUBLE:
+ *     This symbol, if defined, indicates that long doubles should
+ *     be used when available.
+ */
+#$uselongdouble        USE_LONG_DOUBLE         /**/
+
 /* MULTIPLICITY:
  *     This symbol, if defined, indicates that Perl should
  *     be built to use multiplicity.
diff --git a/sv.c b/sv.c
index 26c2b34..520a3b6 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -5130,7 +5130,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV
 #ifdef USE_LONG_DOUBLE
            {
                char* p = PERL_PRIfldbl + sizeof(PERL_PRIfldbl) - 3;
-               while (p >= PERL_PRIfldbl) { *--eptr = *p-- }
+               while (p >= PERL_PRIfldbl) { *--eptr = *p--; }
            }
 #endif
            if (has_precis) {