Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [PATCH] gdb/doublest.c: Avoid calling ldfrexp if long double is double.
@ 2013-06-07 18:40 Will Newton
  2013-06-07 18:39 ` Will Newton
  2013-06-07 20:24 ` Mark Kettenis
  0 siblings, 2 replies; 4+ messages in thread
From: Will Newton @ 2013-06-07 18:40 UTC (permalink / raw)
  To: gdb-patches; +Cc: patches


There's no need to call ldfrexp if long double is the same size
as double, the standard frexp will be faster and more accurate.
This fixes a failure in ldbl_308.exp on ARM, where long double
is the same size as double.

gdb/ChangeLog:

2013-06-07  Will Newton  <will.newton@linaro.org>

	* doublest.c (convert_doublest_to_floatformat): If long
	double is the same size as double call frexp instead of
	ldfrexp.
---
 gdb/doublest.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gdb/doublest.c b/gdb/doublest.c
index 9ddc7a6..4bc0bd6 100644
--- a/gdb/doublest.c
+++ b/gdb/doublest.c
@@ -466,7 +466,10 @@ convert_doublest_to_floatformat (CONST struct floatformat *fmt,
     }

 #ifdef HAVE_LONG_DOUBLE
-  mant = ldfrexp (dfrom, &exponent);
+  if (sizeof (long double) > sizeof (double))
+    mant = ldfrexp (dfrom, &exponent);
+  else
+    mant = frexp (dfrom, &exponent);
 #else
   mant = frexp (dfrom, &exponent);
 #endif
-- 
1.8.1.4


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-06-11 13:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-07 18:40 [PATCH] gdb/doublest.c: Avoid calling ldfrexp if long double is double Will Newton
2013-06-07 18:39 ` Will Newton
2013-06-07 20:24 ` Mark Kettenis
2013-06-11 13:33   ` Will Newton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox