aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/doublest.c21
-rw-r--r--gdb/doublest.h12
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.