summaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/misc.c
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2015-05-26 20:19:55 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2015-05-26 20:19:55 +0000
commit1cfce405de92940fba24c9cdcc48c39585852b3d (patch)
tree296159a0889b88fc3421b965557c6fc40d9370e2 /gcc/ada/gcc-interface/misc.c
parent3ed0dfd5fc582349a82a0696a8ee5bb1c9c8a299 (diff)
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Machine>: Do not apply
extra-precision trick to literals. Build SAVE_EXPR manually. * gcc-interface/misc.c (enumerate_modes): Add bypass for x86/x86-64. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223715 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/gcc-interface/misc.c')
-rw-r--r--gcc/ada/gcc-interface/misc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c
index cdd546668dd9..9f931dc8aa63 100644
--- a/gcc/ada/gcc-interface/misc.c
+++ b/gcc/ada/gcc-interface/misc.c
@@ -847,7 +847,12 @@ enumerate_modes (void (*f) (const char *, int, int, int, int, int, int, int))
|| fmt == &ieee_extended_intel_96_format
|| fmt == &ieee_extended_intel_96_round_53_format
|| fmt == &ieee_extended_intel_128_format)
- fp_arith_may_widen = true;
+ {
+#ifdef TARGET_FPMATH_DEFAULT
+ if (TARGET_FPMATH_DEFAULT == FPMATH_387)
+#endif
+ fp_arith_may_widen = true;
+ }
if (fmt->b == 2)
digs = (fmt->p - 1) * 1233 / 4096; /* scale by log (2) */