* gdbtypes.h (struct type): Fix comment about what units the
authorJim Kingdon <jkingdon@engr.sgi.com>
Tue, 14 Mar 1995 14:05:16 +0000 (14:05 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Tue, 14 Mar 1995 14:05:16 +0000 (14:05 +0000)
TYPE_LENGTH is in.

gdb/ChangeLog
gdb/gdbtypes.h

index 9902cb1..a1c99b8 100644 (file)
@@ -1,3 +1,8 @@
+Tue Mar 14 05:52:36 1995  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+       * gdbtypes.h (struct type): Fix comment about what units the
+       TYPE_LENGTH is in.
+
 Mon Mar 13 18:27:25 1995  Stan Shebs  <shebs@andros.cygnus.com>
 
        * ch-valprint.c (annotate.h): Include.
index c6b9551..63a8e53 100644 (file)
@@ -178,8 +178,16 @@ struct type
 
   char *tag_name;
 
-  /* Length, in units of TARGET_CHAR_BIT bits,
-     of storage for a value of this type */
+  /* 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
+     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
+     (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.  */
 
   unsigned length;