summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2007-11-08 00:08:02 +0000
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2007-11-08 00:08:02 +0000
commit4d403838764175e076f8fe4815db2853d7c0f36b (patch)
tree2718810d3dbd721573771aeedc82387f62a2e273 /include
parentf5ef996258725dd451733c21e2bba88c87019646 (diff)
downloadgcc-4d403838764175e076f8fe4815db2853d7c0f36b.tar.gz
include:
2007-11-07 Joseph Myers <joseph@codesourcery.com> Daniel Jacobowitz <dan@codesourcery.com> * floatformat.h (struct floatformat): Add split_half field. (floatformat_ibm_long_double): New. libiberty: 2007-11-07 Joseph Myers <joseph@codesourcery.com> Daniel Jacobowitz <dan@codesourcery.com> * floatformat.c (mant_bits_set): New. (floatformat_to_double): Use it. Note no special handling of split formats. (floatformat_from_double): Note no special handing of split formats. (floatformat_ibm_long_double_is_valid, floatformat_ibm_long_double): New. (floatformat_ieee_single_big, floatformat_ieee_single_little, floatformat_ieee_double_big, floatformat_ieee_double_little, floatformat_ieee_double_littlebyte_bigword, floatformat_vax_f, floatformat_vax_d, floatformat_vax_g, floatformat_i387_ext, floatformat_m68881_ext, floatformat_i960_ext, floatformat_m88110_ext, floatformat_m88110_harris_ext, floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword, floatformat_ia64_spill_big, floatformat_ia64_spill_little, floatformat_ia64_quad_big, floatformat_ia64_quad_little): Update for addition of split_half field. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129977 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog6
-rw-r--r--include/floatformat.h9
2 files changed, 15 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 13542ee97ae..7ea34d2d9c1 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,9 @@
+2007-11-07 Joseph Myers <joseph@codesourcery.com>
+ Daniel Jacobowitz <dan@codesourcery.com>
+
+ * floatformat.h (struct floatformat): Add split_half field.
+ (floatformat_ibm_long_double): New.
+
2007-09-06 Tom Tromey <tromey@redhat.com>
* libiberty.h (pex_free): Document process killing.
diff --git a/include/floatformat.h b/include/floatformat.h
index f1bd7f601f5..c5f60a3cd93 100644
--- a/include/floatformat.h
+++ b/include/floatformat.h
@@ -85,6 +85,13 @@ struct floatformat
/* Validator method. */
int (*is_valid) (const struct floatformat *fmt, const void *from);
+
+ /* Is the format actually the sum of two smaller floating point
+ formats (IBM long double, as described in
+ gcc/config/rs6000/darwin-ldouble-format)? If so, this is the
+ smaller format in question, and the fields sign_start through
+ intbit describe the first half. If not, this is NULL. */
+ const struct floatformat *split_half;
};
/* floatformats for IEEE single and double, big and little endian. */
@@ -118,6 +125,8 @@ extern const struct floatformat floatformat_ia64_spill_big;
extern const struct floatformat floatformat_ia64_spill_little;
extern const struct floatformat floatformat_ia64_quad_big;
extern const struct floatformat floatformat_ia64_quad_little;
+/* IBM long double (double+double). */
+extern const struct floatformat floatformat_ibm_long_double;
/* Convert from FMT to a double.
FROM is the address of the extended float.