use remote-utils facilities for baud_rate
[deliverable/binutils-gdb.git] / gdb / convex-tdep.c
index ac213aef7ddf2c68e4868ecf47cebba006d87447..dd4daeb9f35722bc1263a0ecc768d1807bb4a4fb 100644 (file)
@@ -223,7 +223,7 @@ xfer_core_file (memaddr, myaddr, len)
         read zeros if reading, or do nothing if writing.  */
       else
        {
-         bzero (myaddr, i);
+         memset (myaddr, '\0', i);
          returnval = EIO;
        }
 
@@ -316,9 +316,9 @@ is_trapped_internalvar (name)
 
   if ((name[0] == 'v' || name[0] == 'V')
       && (((name[1] & -8) == '0' && name[2] == '\0')
-         || !strcmp (name, "vl")
-         || !strcmp (name, "vs") 
-         || !strcmp (name, "vm")))
+         || STREQ (name, "vl")
+         || STREQ (name, "vs") 
+         || STREQ (name, "vm")))
     return 1;
   else return 0;
 }
@@ -332,25 +332,29 @@ value_of_trapped_internalvar (var)
   char *name = var->name;
   value val;
   struct type *type;
+  struct type *range_type;
   long len = *read_vector_register (VL_REGNUM);
   if (len <= 0 || len > 128) len = 128;
 
-  if (!strcmp (name, "vl"))
+  if (STREQ (name, "vl"))
     {
       val = value_from_longest (builtin_type_int,
                             (LONGEST) *read_vector_register_1 (VL_REGNUM));
     }
-  else if (!strcmp (name, "vs"))
+  else if (STREQ (name, "vs"))
     {
       val = value_from_longest (builtin_type_int,
                             (LONGEST) *read_vector_register_1 (VS_REGNUM));
     }
-  else if (!strcmp (name, "vm"))
+  else if (STREQ (name, "vm"))
     {
       long vm[4];
       long i, *p;
-      bcopy (read_vector_register_1 (VM_REGNUM), vm, sizeof vm);
-      type = vector_type (builtin_type_int, len);
+      memcpy (vm, read_vector_register_1 (VM_REGNUM), sizeof vm);
+      range_type =
+       create_range_type ((struct type *) NULL, builtin_type_int, 0, len - 1);
+      type =
+       create_array_type ((struct type *) NULL, builtin_type_int, range_type);
       val = allocate_value (type);
       p = (long *) VALUE_CONTENTS (val);
       for (i = 0; i < len; i++) 
@@ -358,15 +362,24 @@ value_of_trapped_internalvar (var)
     }
   else if (name[0] == 'V')
     {
-      type = vector_type (builtin_type_long_long, len);
+      range_type =
+       create_range_type ((struct type *) NULL, builtin_type_int 0, len - 1);
+      type =
+       create_array_type ((struct type *) NULL, builtin_type_long_long,
+                          range_type);
       val = allocate_value (type);
-      bcopy (read_vector_register_1 (name[1] - '0'),
-            VALUE_CONTENTS (val), TYPE_LENGTH (type));
+      memcpy (VALUE_CONTENTS (val),
+            read_vector_register_1 (name[1] - '0'),
+            TYPE_LENGTH (type));
     }
   else if (name[0] == 'v')
     {
       long *p1, *p2;
-      type = vector_type (builtin_type_long, len);
+      range_type =
+       create_range_type ((struct type *) NULL, builtin_type_int 0, len - 1);
+      type =
+       create_array_type ((struct type *) NULL, builtin_type_long,
+                          range_type);
       val = allocate_value (type);
       p1 = read_vector_register_1 (name[1] - '0');
       p2 = (long *) VALUE_CONTENTS (val);
@@ -385,22 +398,6 @@ value_of_trapped_internalvar (var)
   return val;
 }
 
-/* Construct the type for a vector register's value --
-   array[LENGTH] of ELEMENT_TYPE.  */
-
-static struct type *
-vector_type (element_type, length)
-     struct type *element_type;
-     long length;
-{
-  struct type *type = (struct type *) xmalloc (sizeof (struct type));
-  bzero (type, sizeof type);
-  TYPE_CODE (type) = TYPE_CODE_ARRAY;
-  TYPE_TARGET_TYPE (type) = element_type;
-  TYPE_LENGTH (type) = length * TYPE_LENGTH (TYPE_TARGET_TYPE (type));
-  return type;
-}
-
 /* Handle a new value assigned to a trapped internal variable */
 
 void
@@ -412,13 +409,13 @@ set_trapped_internalvar (var, val, bitpos, bitsize, offset)
   char *name = var->name;
   long long newval = value_as_long (val);
 
-  if (!strcmp (name, "vl")) 
+  if (STREQ (name, "vl")) 
     write_vector_register (VL_REGNUM, 0, newval);
-  else if (!strcmp (name, "vs"))
+  else if (STREQ (name, "vs"))
     write_vector_register (VS_REGNUM, 0, newval);
   else if (name[0] == 'c' || name[0] == 'C')
     write_comm_register (atoi (&name[1]), newval);
-  else if (!strcmp (name, "vm"))
+  else if (STREQ (name, "vm"))
     error ("can't assign to $vm");
   else
     {
@@ -502,9 +499,9 @@ set_pipelining_command (arg)
       sequential = !sequential;
       printf_filtered ("%s\n", sequential ? "off" : "on");
     }
-  else if (!strcmp (arg, "on"))
+  else if (STREQ (arg, "on"))
     sequential = 0;
-  else if (!strcmp (arg, "off"))
+  else if (STREQ (arg, "off"))
     sequential = 1;
   else error ("valid args are `on', to allow instructions to overlap, or\n\
 `off', to prevent it and thereby pinpoint exceptions.");
@@ -521,9 +518,9 @@ set_parallel_command (arg)
 
   if (!strncmp (arg, "fixed", strlen (arg)))
     parallel = 2;  
-  else if (!strcmp (arg, "on"))
+  else if (STREQ (arg, "on"))
     parallel = 1;
-  else if (!strcmp (arg, "off"))
+  else if (STREQ (arg, "off"))
     parallel = 0;
   else error ("valid args are `on', to allow multiple threads, or\n\
 `fixed', to force multiple threads, or\n\
This page took 0.025342 seconds and 4 git commands to generate.