From 5400a7d131ecf621f074ae242867de2f78076b28 Mon Sep 17 00:00:00 2001
From: Richard Henderson <rth@twiddle.net>
Date: Fri, 15 Jun 2012 14:26:58 -0700
Subject: [PATCH] alpha: Define FP_TRAPPING_EXCEPTIONS

---
 ChangeLog.alpha                     | 2 ++
 sysdeps/alpha/soft-fp/sfp-machine.h | 5 ++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/ChangeLog.alpha b/ChangeLog.alpha
index 5ec363444b..062b4f283d 100644
--- a/ChangeLog.alpha
+++ b/ChangeLog.alpha
@@ -1,5 +1,7 @@
 2012-06-15  Richard Henderson  <rth@twiddle.net>
 
+	* sysdeps/alpha/soft-fp/sfp-machine.h (FP_TRAPPING_EXCEPTIONS): New.
+
 	* sysdeps/alpha/fpu/s_rint.c (__rint): Handle inexact regardless
 	of -mieee-with-inexact.
 	* sysdeps/alpha/fpu/s_rintf.c (__rintf): Likewise.
diff --git a/sysdeps/alpha/soft-fp/sfp-machine.h b/sysdeps/alpha/soft-fp/sfp-machine.h
index ef6e957140..202f7366cb 100644
--- a/sysdeps/alpha/soft-fp/sfp-machine.h
+++ b/sysdeps/alpha/soft-fp/sfp-machine.h
@@ -1,6 +1,6 @@
 /* Machine-dependent software floating-point definitions.
    Alpha userland IEEE 128-bit version.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson (rth@cygnus.com),
 		  Jakub Jelinek (jj@ultra.linux.cz) and
@@ -91,3 +91,6 @@ do {								\
       __ieee_set_fp_control (t | _fex);				\
     }								\
 } while (0)
+
+#define FP_TRAPPING_EXCEPTIONS					\
+  ((__ieee_get_fp_control () & SWCR_ENABLE_MASK) << SWCR_ENABLE_SHIFT)