This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[commit] Use bfd_byte in value.h
- From: Andrew Cagney <cagney at gnu dot org>
- To: gdb-patches at sources dot redhat dot com
- Date: Thu, 28 Apr 2005 12:25:52 -0400
- Subject: [commit] Use bfd_byte in value.h
This changes value.h to use bfd_byte more consistently. When trying to
fix the signed (string) VS unsigned (buffer) pointer warnings you very
quickly run into these interfaces.
2005-04-28 Andrew Cagney <cagney@gnu.org>
* valops.c (check_field): Make buffer a bfd_byte.
* value.c (unpack_long, unpack_double, unpack_pointer)
(unpack_field_as_long, modify_field): Ditto.
* value.h: Update declarations.
Index: valops.c
===================================================================
RCS file: /cvs/src/src/gdb/valops.c,v
retrieving revision 1.155
diff -p -u -r1.155 valops.c
--- valops.c 24 Feb 2005 13:51:35 -0000 1.155
+++ valops.c 28 Apr 2005 16:13:15 -0000
@@ -2317,7 +2317,7 @@ check_field_in (struct type *type, const
target structure/union is defined, otherwise, return 0. */
int
-check_field (struct value *arg1, const char *name)
+check_field (struct value *arg1, const bfd_byte *name)
{
struct type *t;
Index: value.c
===================================================================
RCS file: /cvs/src/src/gdb/value.c,v
retrieving revision 1.27
diff -p -u -r1.27 value.c
--- value.c 20 Feb 2005 01:19:24 -0000 1.27
+++ value.c 28 Apr 2005 16:13:16 -0000
@@ -996,7 +996,7 @@ value_as_address (struct value *val)
to an INT (or some size). After all, it is only an offset. */
LONGEST
-unpack_long (struct type *type, const char *valaddr)
+unpack_long (struct type *type, const bfd_byte *valaddr)
{
enum type_code code = TYPE_CODE (type);
int len = TYPE_LENGTH (type);
@@ -1045,7 +1045,7 @@ unpack_long (struct type *type, const ch
format, result is in host format. */
DOUBLEST
-unpack_double (struct type *type, const char *valaddr, int *invp)
+unpack_double (struct type *type, const bfd_byte *valaddr, int *invp)
{
enum type_code code;
int len;
@@ -1109,7 +1109,7 @@ unpack_double (struct type *type, const
to an INT (or some size). After all, it is only an offset. */
CORE_ADDR
-unpack_pointer (struct type *type, const char *valaddr)
+unpack_pointer (struct type *type, const bfd_byte *valaddr)
{
/* Assume a CORE_ADDR can fit in a LONGEST (for now). Not sure
whether we want this to be true eventually. */
@@ -1359,7 +1359,7 @@ value_fn_field (struct value **arg1p, st
If the field is signed, we also do sign extension. */
LONGEST
-unpack_field_as_long (struct type *type, const char *valaddr, int fieldno)
+unpack_field_as_long (struct type *type, const bfd_byte *valaddr, int fieldno)
{
ULONGEST val;
ULONGEST valmask;
@@ -1406,7 +1406,7 @@ unpack_field_as_long (struct type *type,
0 <= BITPOS, where lbits is the size of a LONGEST in bits. */
void
-modify_field (char *addr, LONGEST fieldval, int bitpos, int bitsize)
+modify_field (bfd_byte *addr, LONGEST fieldval, int bitpos, int bitsize)
{
ULONGEST oword;
ULONGEST mask = (ULONGEST) -1 >> (8 * sizeof (ULONGEST) - bitsize);
Index: value.h
===================================================================
RCS file: /cvs/src/src/gdb/value.h,v
retrieving revision 1.85
diff -p -u -r1.85 value.h
--- value.h 8 Mar 2005 14:35:17 -0000 1.85
+++ value.h 28 Apr 2005 16:13:16 -0000
@@ -262,11 +262,12 @@ extern LONGEST value_as_long (struct val
extern DOUBLEST value_as_double (struct value *val);
extern CORE_ADDR value_as_address (struct value *val);
-extern LONGEST unpack_long (struct type *type, const char *valaddr);
-extern DOUBLEST unpack_double (struct type *type, const char *valaddr,
+extern LONGEST unpack_long (struct type *type, const bfd_byte *valaddr);
+extern DOUBLEST unpack_double (struct type *type, const bfd_byte *valaddr,
int *invp);
-extern CORE_ADDR unpack_pointer (struct type *type, const char *valaddr);
-extern LONGEST unpack_field_as_long (struct type *type, const char *valaddr,
+extern CORE_ADDR unpack_pointer (struct type *type, const bfd_byte *valaddr);
+extern LONGEST unpack_field_as_long (struct type *type,
+ const bfd_byte *valaddr,
int fieldno);
extern struct value *value_from_longest (struct type *type, LONGEST num);
@@ -451,14 +452,15 @@ extern void release_value (struct value
extern int record_latest_value (struct value *val);
-extern void modify_field (char *addr, LONGEST fieldval, int bitpos,
+extern void modify_field (bfd_byte *addr, LONGEST fieldval, int bitpos,
int bitsize);
extern void type_print (struct type *type, char *varstring,
struct ui_file *stream, int show);
-extern char *baseclass_addr (struct type *type, int index, char *valaddr,
- struct value **valuep, int *errp);
+extern bfd_byte *baseclass_addr (struct type *type, int index,
+ bfd_byte *valaddr,
+ struct value **valuep, int *errp);
extern void print_longest (struct ui_file *stream, int format,
int use_local, LONGEST val);
@@ -493,7 +495,7 @@ extern void print_variable_value (struct
struct frame_info *frame,
struct ui_file *stream);
-extern int check_field (struct value *, const char *);
+extern int check_field (struct value *, const bfd_byte *);
extern void typedef_print (struct type *type, struct symbol *news,
struct ui_file *stream);