diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 6 | ||||
-rw-r--r-- | include/floatformat.h | 9 |
2 files changed, 15 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index f3dc433..1bde4c5 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-11-05 Danny Smith <dannysmith@users.sourceforge.net> * coff/pe.h (COFF_ENCODE_ALIGNMENT) Define. diff --git a/include/floatformat.h b/include/floatformat.h index f1bd7f6..c5f60a3 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. |