diff options
author | Richard Henderson <rth@redhat.com> | 2002-10-21 17:09:41 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2002-10-21 17:09:41 -0700 |
commit | ad03e4c4c79faea50454da03208b037dedeb4927 (patch) | |
tree | 89ed00a5d9c2cef42696dffda1d771baa825c5b3 /contrib | |
parent | f8eef883323f1cf0b1e442bb285a51216e41ddd6 (diff) | |
download | gcc-ad03e4c4c79faea50454da03208b037dedeb4927.tar.gz |
paranoia.cc (real_c_float::image): Accomodate size of real_internal format.
* paranoia.cc (real_c_float::image): Accomodate size of
real_internal format.
(main): Unbuffer stdio. Add real_internal format.
(floor_log2_wide): New.
From-SVN: r58395
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/ChangeLog | 7 | ||||
-rw-r--r-- | contrib/paranoia.cc | 19 |
2 files changed, 25 insertions, 1 deletions
diff --git a/contrib/ChangeLog b/contrib/ChangeLog index c28fd46ad55..a8adeb3439a 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,10 @@ +2002-10-21 Richard Henderson <rth@redhat.com> + + * paranoia.cc (real_c_float::image): Accomodate size of + real_internal format. + (main): Unbuffer stdio. Add real_internal format. + (floor_log2_wide): New. + 2002-10-16 Richard Henderson <rth@redhat.com> * paranoia.cc (ENUM_BITFIELD): New. diff --git a/contrib/paranoia.cc b/contrib/paranoia.cc index fafb92b708f..694d3d4509b 100644 --- a/contrib/paranoia.cc +++ b/contrib/paranoia.cc @@ -195,7 +195,10 @@ class real_c_float static const enum machine_mode MODE = SFmode; private: - long image[128 / 32]; + static const int external_max = 128 / 32; + static const int internal_max + = (sizeof (REAL_VALUE_TYPE) + sizeof (long) + 1) / sizeof (long); + long image[external_max < internal_max ? internal_max : external_max]; void from_long(long); void from_str(const char *); @@ -2607,6 +2610,9 @@ Paranoia<FLOAT>::notify (const char *s) int main(int ac, char **av) { + setbuf(stdout, NULL); + setbuf(stderr, NULL); + while (1) switch (getopt (ac, av, "pvg:fdl")) { @@ -2639,6 +2645,7 @@ int main(int ac, char **av) F(i370_double), F(c4x_single), F(c4x_extended), + F(real_internal), #undef F }; @@ -2697,3 +2704,13 @@ fancy_abort () } int target_flags = 0; + +extern "C" int +floor_log2_wide (unsigned HOST_WIDE_INT x) +{ + int log = -1; + while (x != 0) + log++, + x >>= 1; + return log; +} |