#! /bin/sh -e

# DP: #212912
# DP: on alpha-linux, make -mieee default and add -mieee-disable switch
# DP: to turn default off

dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
    pdir="-d $3"
    dir="$3/"
elif [ $# -ne 1 ]; then
    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
    exit 1
fi
case "$1" in
    -patch)
        patch $pdir -f --no-backup-if-mismatch -p1 < $0
        ;;
    -unpatch)
        patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
        ;;
    *)
        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
        exit 1
esac
exit 0


--- src/gcc/config/alpha/alpha.c~	2005-06-04 21:25:45.000000000 +0200
+++ src/gcc/config/alpha/alpha.c	2005-09-30 22:21:33.251175568 +0200
@@ -248,6 +248,10 @@
     { 0, 0, 0 }
   };
 
+  /* If not -ffinite-math-only, enable -mieee*/
+  if (!flag_finite_math_only)
+    target_flags |= MASK_IEEE|MASK_IEEE_CONFORMANT;
+
   /* Unicos/Mk doesn't have shared libraries.  */
   if (TARGET_ABI_UNICOSMK && flag_pic)
     {
#--- src/gcc/doc/invoke.texi~	2005-09-29 20:00:57.638380128 +0200
#+++ src/gcc/doc/invoke.texi	2005-09-30 22:23:22.922502992 +0200
#@@ -7670,6 +7670,13 @@
# values such as not-a-number and plus/minus infinity.  Other Alpha
# compilers call this option @option{-ieee_with_no_inexact}.
# 
#+DEBIAN SPECIFIC: This option is on by default, unless
#+@option{-ffinite-math-only} (which is part of the @option{-ffast-math}
#+set) is specified, because the software functions in the GNU libc math
#+libraries generate denormalized numbers, NaNs, and infs (all of which
#+will cause a programs to SIGFPE when it attempts to use the results without
#+@option{-mieee}).
#+
# @item -mieee-with-inexact
# @opindex mieee-with-inexact
# This is like @option{-mieee} except the generated code also maintains
