diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/doublest.c | 21 | ||||
-rw-r--r-- | gdb/doublest.h | 12 |
3 files changed, 22 insertions, 17 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 37017eb..0b24bb8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2005-01-28 Andrew Cagney <cagney@gnu.org> + + * doublest.c (floatformat_is_negative, floatformat_is_nan) + (floatformat_mantissa, get_field): Make the buffer a const + bfd_byte, simplify. + 2005-01-27 Andrew Cagney <cagney@gnu.org> * value.h (struct value): Change type of contents to bfd_byte. diff --git a/gdb/doublest.c b/gdb/doublest.c index b36cbd7..2030838 100644 --- a/gdb/doublest.c +++ b/gdb/doublest.c @@ -1,7 +1,7 @@ /* Floating point routines for GDB, the GNU debugger. Copyright 1986, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, - 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004 Free Software + 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GDB. @@ -44,14 +44,10 @@ can convert to doublest will need. */ #define FLOATFORMAT_LARGEST_BYTES 16 -static unsigned long get_field (unsigned char *, - enum floatformat_byteorders, - unsigned int, unsigned int, unsigned int); - /* Extract a field which starts at START and is LEN bytes long. DATA and TOTAL_LEN are the thing we are extracting it from, in byteorder ORDER. */ static unsigned long -get_field (unsigned char *data, enum floatformat_byteorders order, +get_field (const bfd_byte *data, enum floatformat_byteorders order, unsigned int total_len, unsigned int start, unsigned int len) { unsigned long result; @@ -475,9 +471,9 @@ convert_doublest_to_floatformat (CONST struct floatformat *fmt, format is described by FMT) is negative. */ int -floatformat_is_negative (const struct floatformat *fmt, char *val) +floatformat_is_negative (const struct floatformat *fmt, + const bfd_byte *uval) { - unsigned char *uval = (unsigned char *) val; enum floatformat_byteorders order; unsigned char newfrom[FLOATFORMAT_LARGEST_BYTES]; @@ -496,9 +492,9 @@ floatformat_is_negative (const struct floatformat *fmt, char *val) /* Check if VAL is "not a number" (NaN) for FMT. */ int -floatformat_is_nan (const struct floatformat *fmt, char *val) +floatformat_is_nan (const struct floatformat *fmt, + const bfd_byte *uval) { - unsigned char *uval = (unsigned char *) val; long exponent; unsigned long mant; unsigned int mant_bits, mant_off; @@ -552,8 +548,9 @@ floatformat_is_nan (const struct floatformat *fmt, char *val) point number whose format is described by FMT) into a hexadecimal and store it in a static string. Return a pointer to that string. */ -char * -floatformat_mantissa (const struct floatformat *fmt, char *val) +const char * +floatformat_mantissa (const struct floatformat *fmt, + const bfd_byte *val) { unsigned char *uval = (unsigned char *) val; unsigned long mant; diff --git a/gdb/doublest.h b/gdb/doublest.h index 8510baa..32a0ba4 100644 --- a/gdb/doublest.h +++ b/gdb/doublest.h @@ -1,8 +1,8 @@ /* Floating point definitions for GDB. Copyright 1986, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, - 1996, 1997, 1998, 1999, 2000, 2001, 2003 Free Software Foundation, - Inc. + 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2005 Free Software + Foundation, Inc. This file is part of GDB. @@ -59,9 +59,11 @@ extern void floatformat_to_doublest (const struct floatformat *, extern void floatformat_from_doublest (const struct floatformat *, const DOUBLEST *in, void *out); -extern int floatformat_is_negative (const struct floatformat *, char *); -extern int floatformat_is_nan (const struct floatformat *, char *); -extern char *floatformat_mantissa (const struct floatformat *, char *); +extern int floatformat_is_negative (const struct floatformat *, + const bfd_byte *); +extern int floatformat_is_nan (const struct floatformat *, const bfd_byte *); +extern const char *floatformat_mantissa (const struct floatformat *, + const bfd_byte *); /* These functions have been replaced by extract_typed_floating and store_typed_floating. |