From: Jarkko Hietaniemi Date: Wed, 8 Aug 2001 13:22:13 +0000 (+0000) Subject: Make VMS use IEEE math by default; reorder Tru64 hints X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=6c7aff00377b827ccc6e918bdb59169ef553af97;p=p5sagit%2Fp5-mst-13.2.git Make VMS use IEEE math by default; reorder Tru64 hints so that -fprm d -ieee (the -ieee gives as e.g. IEEE 754 exception semantics) is always set if using (the new) cc. p4raw-id: //depot/perl@11613 --- diff --git a/configure.com b/configure.com index 43cce9f..a4ff660 100644 --- a/configure.com +++ b/configure.com @@ -41,7 +41,7 @@ $ ans = "" $ macros = "" $ extra_flags = "" $ user_c_flags = "" -$ use_ieee_math = "n" +$ use_ieee_math = "y" $ be_case_sensitive = "n" $ use_vmsdebug_perl = "n" $ use64bitall = "n" diff --git a/hints/dec_osf.sh b/hints/dec_osf.sh index 8bf043f..134a3aa 100644 --- a/hints/dec_osf.sh +++ b/hints/dec_osf.sh @@ -60,12 +60,16 @@ cc=${cc:-cc} +case "`$cc -v 2>&1 | grep cc`" in +*gcc*) isgcc=gcc ;; +esac + # do NOT, I repeat, *NOT* take away the leading tabs # Configure Black Magic (TM) # reset _DEC_cc_style= -case "`$cc -v 2>&1 | grep cc`" in -*gcc*) _gcc_version=`$cc --version 2>&1 | tr . ' '` +case "$isgcc" in +gcc) _gcc_version=`$cc --version 2>&1 | tr . ' '` set $_gcc_version if test "$1" -lt 2 -o \( "$1" -eq 2 -a \( "$2" -lt 95 -o \( "$2" -eq 95 -a "$3" -lt 2 \) \) \); then cat >&4 <&1 | grep gcc`" in -*gcc*) ccflags="$ccflags -ansi" +case "$isgcc" in +gcc) ccflags="$ccflags -ansi" ;; *) ccflags="$ccflags -std" ;; @@ -129,13 +133,10 @@ esac # we want optimisation case "$optimize" in -'') case "`$cc -v 2>&1 | grep gcc`" in - *gcc*) - optimize='-O3' ;; +'') case "$isgcc" in + gcc) optimize='-O3' ;; *) case "$_DEC_cc_style" in - new) optimize='-O4' - ccflags="$ccflags -fprm d -ieee" - ;; + new) optimize='-O4' ;; old) optimize='-O2 -Olimit 3200' ;; esac ccflags="$ccflags -D_INTRINSICS" @@ -144,6 +145,14 @@ case "$optimize" in ;; esac +# we want dynamic fp rounding mode, and we want ieee exception semantics +case "$isgcc" in +gcc) case "$_DEC_cc_style" in + new) ccflags="$ccflags -fprm d -ieee" ;; + esac + ;; +esac + # Make glibpth agree with the compiler suite. Note that /shlib # is not here. That's on purpose. Even though that's where libc # really lives from V4.0 on, the linker (and /sbin/loader) won't @@ -255,8 +264,8 @@ cat > UU/usethreads.cbu <<'EOCBU' case "$usethreads" in $define|true|[yY]*) # Threads interfaces changed with V4.0. - case "`$cc -v 2>&1 | grep gcc`" in - *gcc*)ccflags="-D_REENTRANT $ccflags" ;; + case "$isgcc" in + gcc) ccflags="-D_REENTRANT $ccflags" ;; *) case "`uname -r`" in *[123].*) ccflags="-threads $ccflags" ;; *) ccflags="-pthread $ccflags" ;;