* Rename remote-es1800.c to remote-es.c
[deliverable/binutils-gdb.git] / gdb / gdbtypes.h
index a54b62adadf099e1b781aeb46a244b22bb1a560c..667a8f56cb961afe83c8024e243244d6d73089b9 100644 (file)
@@ -77,12 +77,24 @@ enum type_code
   TYPE_CODE_ENUM,              /* Enumeration type */
   TYPE_CODE_FUNC,              /* Function type */
   TYPE_CODE_INT,               /* Integer type */
-  TYPE_CODE_FLT,               /* Floating type */
-  TYPE_CODE_VOID,              /* Void type (values zero length) */
+
+  /* Floating type.  This is *NOT* a complex type.  Complex types, when
+     we have them, will have their own type code (or TYPE_CODE_ERROR if
+     we can parse a complex type but not manipulate it).  There are parts
+     of GDB which bogusly assume that TYPE_CODE_FLT can mean complex.  */
+  TYPE_CODE_FLT,
+
+  /* Void type (values zero length; the length field is ignored).  */
+  TYPE_CODE_VOID,
+
   TYPE_CODE_SET,               /* Pascal sets */
   TYPE_CODE_RANGE,             /* Range (integers within spec'd bounds) */
-  TYPE_CODE_PASCAL_ARRAY,      /* Array with explicit type of index */
-  TYPE_CODE_ERROR,              /* Unknown type */
+  TYPE_CODE_STRING,            /* String types, distinct from array of char */
+  TYPE_CODE_BITSTRING,         /* String of bits, distinct from bool array */
+
+  /* Unknown type.  The length field is valid if we were able to
+     deduce that much about the type, or 0 if we don't even know that.  */
+  TYPE_CODE_ERROR,
 
   /* C++ */
   TYPE_CODE_MEMBER,            /* Member type */
@@ -130,7 +142,8 @@ struct type
 
   char *name;
 
-  /* Length in bytes of storage for a value of this type */
+  /* Length, in units of TARGET_CHAR_BIT bits,
+     of storage for a value of this type */
 
   unsigned length;
 
@@ -374,7 +387,7 @@ struct cplus_struct_type
 /* The default value of TYPE_CPLUS_SPECIFIC(T) points to the
    this shared static structure. */
 
-extern struct cplus_struct_type cplus_struct_default;
+extern const struct cplus_struct_type cplus_struct_default;
 
 extern void
 allocate_cplus_struct_type PARAMS ((struct type *));
@@ -484,6 +497,7 @@ extern struct type *builtin_type_double;
 extern struct type *builtin_type_long_double;
 extern struct type *builtin_type_complex;
 extern struct type *builtin_type_double_complex;
+extern struct type *builtin_type_string;
 
 /* This type represents a type that was unrecognized in symbol
    read-in.  */
@@ -501,7 +515,6 @@ extern struct type *builtin_type_m2_card;
 extern struct type *builtin_type_m2_real;
 extern struct type *builtin_type_m2_bool;
 
-/* start-sanitize-chill */
 /* Chill types */
 
 extern struct type *builtin_type_chill_bool;
@@ -509,21 +522,20 @@ extern struct type *builtin_type_chill_char;
 extern struct type *builtin_type_chill_long;
 extern struct type *builtin_type_chill_ulong;
 extern struct type *builtin_type_chill_real;
-/* end-sanitize-chill */
 
-/* LONG_LONG is defined if the host has "long long".  */
+/* CC_HAS_LONG_LONG is defined if the host has "long long".  */
 
-#ifdef LONG_LONG
+#ifdef CC_HAS_LONG_LONG
 
 #define BUILTIN_TYPE_LONGEST builtin_type_long_long
 #define BUILTIN_TYPE_UNSIGNED_LONGEST builtin_type_unsigned_long_long
 
-#else /* not LONG_LONG.  */
+#else /* not CC_HAS_LONG_LONG.  */
 
 #define BUILTIN_TYPE_LONGEST builtin_type_long
 #define BUILTIN_TYPE_UNSIGNED_LONGEST builtin_type_unsigned_long
 
-#endif /* not LONG_LONG.  */
+#endif /* not CC_HAS_LONG_LONG.  */
 
 /* Maximum and minimum values of built-in types */
 
@@ -598,6 +610,9 @@ create_range_type PARAMS ((struct type *, struct type *, int, int));
 extern struct type *
 create_array_type PARAMS ((struct type *, struct type *, struct type *));
 
+extern struct type *
+create_string_type PARAMS ((struct type *, struct type *));
+
 extern struct type *
 lookup_unsigned_typename PARAMS ((char *));
 
@@ -619,9 +634,6 @@ gdb_mangle_name PARAMS ((struct type *, int, int));
 extern struct type *
 builtin_type PARAMS ((char **));
 
-extern struct type *
-error_type PARAMS ((char **));
-
 extern struct type *
 lookup_typename PARAMS ((char *, struct block *, int));
 
This page took 0.024338 seconds and 4 git commands to generate.