aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-05-03 17:51:02 -0700
committerRichard Henderson <rth@gcc.gnu.org>2002-05-03 17:51:02 -0700
commitb3ae1ccd98a86f1a3b63cf1294d7b7effb3f9fa9 (patch)
tree1c6a3803fbcc9266244b35586a585030fb8d2c4e /gcc
parent8f39865a3c995f73b925d243f78b85e293820cee (diff)
downloadgcc-b3ae1ccd98a86f1a3b63cf1294d7b7effb3f9fa9.zip
gcc-b3ae1ccd98a86f1a3b63cf1294d7b7effb3f9fa9.tar.gz
gcc-b3ae1ccd98a86f1a3b63cf1294d7b7effb3f9fa9.tar.bz2
real.c (etoasc): Strip most trailing zeros for clarity.
* real.c (etoasc): Strip most trailing zeros for clarity. * sched-vis.c: Include real.h. (print_value): Use REAL_VALUE_TO_DECIMAL as needed. * Makefile.in (sched-vis.o): Add real.h. From-SVN: r53137
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/Makefile.in2
-rw-r--r--gcc/real.c9
-rw-r--r--gcc/sched-vis.c11
4 files changed, 21 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 70f2819..d838272 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2002-05-03 Richard Henderson <rth@redhat.com>
+
+ * real.c (etoasc): Strip most trailing zeros for clarity.
+ * sched-vis.c: Include real.h.
+ (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
+ * Makefile.in (sched-vis.o): Add real.h.
+
2002-05-03 David S. Miller <davem@redhat.com>
* haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 8407632..f66179d 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1599,7 +1599,7 @@ sched-ebb.o : sched-ebb.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) sched-int.h \
$(INSN_ATTR_H) toplev.h $(RECOG_H) except.h $(TM_P_H)
sched-vis.o : sched-vis.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) sched-int.h \
hard-reg-set.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(REGS_H) $(TM_P_H) \
- $(TARGET_H)
+ $(TARGET_H) real.h
final.o : final.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h intl.h \
$(REGS_H) $(RECOG_H) conditions.h insn-config.h $(INSN_ATTR_H) function.h \
real.h output.h hard-reg-set.h except.h debug.h xcoffout.h \
diff --git a/gcc/real.c b/gcc/real.c
index 56b365e..0c951f6 100644
--- a/gcc/real.c
+++ b/gcc/real.c
@@ -5004,12 +5004,9 @@ etoasc (x, string, ndigs)
}
}
doexp:
- /*
- if (expon >= 0)
- sprintf (ss, "e+%d", expon);
- else
- sprintf (ss, "e%d", expon);
- */
+ /* Strip trailing zeros, but leave at least one. */
+ while (ss[-1] == '0' && ss[-2] != '.')
+ --ss;
sprintf (ss, "e%d", expon);
bxit:
rndprc = rndsav;
diff --git a/gcc/sched-vis.c b/gcc/sched-vis.c
index 48b6854..e49d4bf 100644
--- a/gcc/sched-vis.c
+++ b/gcc/sched-vis.c
@@ -30,6 +30,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "hard-reg-set.h"
#include "basic-block.h"
#include "insn-attr.h"
+#include "real.h"
#include "sched-int.h"
#include "target.h"
@@ -560,7 +561,15 @@ print_value (buf, x, verbose)
cur = safe_concat (buf, cur, t);
break;
case CONST_DOUBLE:
- sprintf (t, "<0x%lx,0x%lx>", (long) XWINT (x, 2), (long) XWINT (x, 3));
+ if (FLOAT_MODE_P (GET_MODE (x)))
+ {
+ REAL_VALUE_TYPE r;
+
+ REAL_VALUE_FROM_CONST_DOUBLE (r, x);
+ REAL_VALUE_TO_DECIMAL(r, "%.6e", t);
+ }
+ else
+ sprintf (t, "<0x%lx,0x%lx>", (long) XWINT (x, 2), (long) XWINT (x, 3));
cur = safe_concat (buf, cur, t);
break;
case CONST_STRING: