summaryrefslogtreecommitdiff
path: root/gdb/gdbtypes.h
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2001-08-21 00:24:58 +0000
committerAndrew Cagney <cagney@redhat.com>2001-08-21 00:24:58 +0000
commite4fccb97fcfe1d7ccaf7535028c49d82567bd519 (patch)
tree35fe5f852239d8d03f99f9aa19e161be4bae7fcf /gdb/gdbtypes.h
parent2318e767605c7c7230c66170e8083317415067aa (diff)
downloadgdb-e4fccb97fcfe1d7ccaf7535028c49d82567bd519.tar.gz
* gdbtypes.h (struct type): Clarify meaning of field ``length''.
Diffstat (limited to 'gdb/gdbtypes.h')
-rw-r--r--gdb/gdbtypes.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
index bc0f8fb9cba..6869a604bfc 100644
--- a/gdb/gdbtypes.h
+++ b/gdb/gdbtypes.h
@@ -231,13 +231,17 @@ struct type
char *tag_name;
- /* Length of storage for a value of this type. Various places pass
- this to memcpy and such, meaning it must be in units of
- HOST_CHAR_BIT. Various other places expect they can calculate
- addresses by adding it and such, meaning it must be in units of
+ /* Length of storage for a value of this type. This is of length
+ of the type as defined by the debug info and not the length of
+ the value that resides within the type. For instance, an
+ i386-ext floating-point value only occupies 80 bits of what is
+ typically a 12 byte `long double'. Various places pass this to
+ memcpy and such, meaning it must be in units of HOST_CHAR_BIT.
+ Various other places expect they can calculate addresses by
+ adding it and such, meaning it must be in units of
TARGET_CHAR_BIT. For some DSP targets, in which HOST_CHAR_BIT
- will (presumably) be 8 and TARGET_CHAR_BIT will be (say) 32, this
- is a problem. One fix would be to make this field in bits
+ will (presumably) be 8 and TARGET_CHAR_BIT will be (say) 32,
+ this is a problem. One fix would be to make this field in bits
(requiring that it always be a multiple of HOST_CHAR_BIT and
TARGET_CHAR_BIT)--the other choice would be to make it
consistently in units of HOST_CHAR_BIT. */