summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
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.