summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortege <tege@gmplib.org>2000-05-25 13:05:39 +0200
committertege <tege@gmplib.org>2000-05-25 13:05:39 +0200
commite36ca9b02f8fdabe1f36ab8970431fda15220aa1 (patch)
tree31d3a7e064077c9d36c8797847ec3eee5a84c693
parentc9908234c9c9cd3aae32361545ff5ddc4e15e90c (diff)
downloadgmp-e36ca9b02f8fdabe1f36ab8970431fda15220aa1.tar.gz
Work around GCC 2.8 bug.
-rw-r--r--extract-dbl.c4
-rw-r--r--insert-dbl.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/extract-dbl.c b/extract-dbl.c
index ebd477344..0699a7fa4 100644
--- a/extract-dbl.c
+++ b/extract-dbl.c
@@ -65,6 +65,10 @@ __gmp_extract_double (rp, d)
#if _GMP_IEEE_FLOATS
{
+#if defined (__alpha) && __GNUC__ == 2 && __GNUC_MINOR__ == 8
+ /* Work around alpha-specific bug in GCC 2.8.x. */
+ volatile
+#endif
union ieee_double_extract x;
x.d = d;
exp = x.s.exp;
diff --git a/insert-dbl.c b/insert-dbl.c
index 3511f95fa..2fd689502 100644
--- a/insert-dbl.c
+++ b/insert-dbl.c
@@ -41,6 +41,10 @@ __gmp_scale2 (d, exp)
{
#if _GMP_IEEE_FLOATS
{
+#if defined (__alpha) && __GNUC__ == 2 && __GNUC_MINOR__ == 8
+ /* Work around alpha-specific bug in GCC 2.8.x. */
+ volatile
+#endif
union ieee_double_extract x;
x.d = d;
exp += x.s.exp;