aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToon Moene <toon@moene.indiv.nluug.nl>2002-11-20 00:17:36 +0100
committerToon Moene <toon@gcc.gnu.org>2002-11-19 23:17:36 +0000
commit27dcc451f40505497c3c7788dfd935d4afa897cb (patch)
tree3b88d6d3847d7785e7d7a32ceaeb9108cdb7125a
parentefcc70370b9319ec419e220cece0e8c82642c298 (diff)
downloadgcc-27dcc451f40505497c3c7788dfd935d4afa897cb.zip
gcc-27dcc451f40505497c3c7788dfd935d4afa897cb.tar.gz
gcc-27dcc451f40505497c3c7788dfd935d4afa897cb.tar.bz2
re PR fortran/8587 ((double complex zero)**(double prec number) = NAN instead of zero)
2002-11-19 Toon Moene <toon@moene.indiv.nluug.nl> PR fortran/8587 * libF77/pow_zz.c: Handle (0.0, 0.0) ** power. 2002-11-19 Toon Moene <toon@moene.indiv.nluug.nl> PR fortran/8587 * news.texi: Show PR fortran/8587 fixed. From-SVN: r59280
-rw-r--r--gcc/f/ChangeLog5
-rw-r--r--gcc/f/news.texi4
-rw-r--r--libf2c/ChangeLog5
-rw-r--r--libf2c/libF77/pow_zz.c6
4 files changed, 19 insertions, 1 deletions
diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog
index 4960f2f..2142b4c 100644
--- a/gcc/f/ChangeLog
+++ b/gcc/f/ChangeLog
@@ -1,3 +1,8 @@
+2002-11-19 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ PR fortran/8587
+ * news.texi: Show PR fortran/8587 fixed.
+
2002-11-19 Jason Thorpe <thorpej@wasabisystems.com>
* g77spec.c (lang_specific_spec_functions): New.
diff --git a/gcc/f/news.texi b/gcc/f/news.texi
index 24cec0a..2d0dc0f 100644
--- a/gcc/f/news.texi
+++ b/gcc/f/news.texi
@@ -10,7 +10,7 @@
@c in the standalone derivations of this file (e.g. NEWS).
@set copyrights-news 1995,1996,1997,1998,1999,2000,2001,2002
-@set last-update-news 2002-11-02
+@set last-update-news 2002-11-19
@include root.texi
@@ -181,6 +181,8 @@ gave wrong results)
(libf2c) DATE_AND_TIME milliseconds field inactive on Windows
@item 7388
Incorrect output with 0-based array of characters
+@item 8587
+Double complex zero ** double precision number -> NaN instead of zero
@end table
@item
Richard Henderson (@email{rth@@redhat.com}) analysed and improved the handling
diff --git a/libf2c/ChangeLog b/libf2c/ChangeLog
index e06717f..7e10295 100644
--- a/libf2c/ChangeLog
+++ b/libf2c/ChangeLog
@@ -1,3 +1,8 @@
+2002-11-19 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ PR fortran/8587
+ * libF77/pow_zz.c: Handle (0.0, 0.0) ** power.
+
2002-09-23 Zack Weinberg <zack@codesourcery.com>
* libF77/Version.c: Rename junk to __LIBF77_VERSION__. Add
diff --git a/libf2c/libF77/pow_zz.c b/libf2c/libF77/pow_zz.c
index 522b639..d5cfbf3 100644
--- a/libf2c/libF77/pow_zz.c
+++ b/libf2c/libF77/pow_zz.c
@@ -8,6 +8,12 @@ pow_zz (doublecomplex * r, doublecomplex * a, doublecomplex * b)
{
double logr, logi, x, y;
+ if (a->r == 0.0 && a->i == 0.0)
+ {
+ /* Algorithm below doesn't cope. */
+ r->r = r->i = 0.0;
+ return;
+ }
logr = log (f__cabs (a->r, a->i));
logi = atan2 (a->i, a->r);