Remove rust_type_alignment
authorTom Tromey <tom@tromey.com>
Mon, 23 Apr 2018 19:23:02 +0000 (13:23 -0600)
committerTom Tromey <tom@tromey.com>
Mon, 30 Apr 2018 17:25:32 +0000 (11:25 -0600)
rust_type_alignment is not needed now that gdb has type alignment
code.  So, this removes it.

2018-04-30  Tom Tromey  <tom@tromey.com>

* rust-lang.c (rust_type_alignment): Remove.
(rust_composite_type): Use type_align.

gdb/ChangeLog
gdb/rust-lang.c

index 0053b901af216ab99ab3ba280cf1b0d83315b43d..49481e04ff0a1d561319e58c05538fbfe8bfb8e9 100644 (file)
@@ -1,3 +1,8 @@
+2018-04-30  Tom Tromey  <tom@tromey.com>
+
+       * rust-lang.c (rust_type_alignment): Remove.
+       (rust_composite_type): Use type_align.
+
 2018-04-30  Tom Tromey  <tom@tromey.com>
 
        * NEWS: Mention Type.align.
index 5d1c0a7f37ffa217caa03f6a384b4100a29ef2fe..ed0394592fac5e730f65e16ad000d417504368ba 100644 (file)
@@ -862,47 +862,6 @@ rust_print_type (struct type *type, const char *varstring,
 
 \f
 
-/* Compute the alignment of the type T.  */
-
-static int
-rust_type_alignment (struct type *t)
-{
-  t = check_typedef (t);
-  switch (TYPE_CODE (t))
-    {
-    default:
-      error (_("Could not compute alignment of type"));
-
-    case TYPE_CODE_PTR:
-    case TYPE_CODE_ENUM:
-    case TYPE_CODE_INT:
-    case TYPE_CODE_FLT:
-    case TYPE_CODE_REF:
-    case TYPE_CODE_CHAR:
-    case TYPE_CODE_BOOL:
-      return TYPE_LENGTH (t);
-
-    case TYPE_CODE_ARRAY:
-    case TYPE_CODE_COMPLEX:
-      return rust_type_alignment (TYPE_TARGET_TYPE (t));
-
-    case TYPE_CODE_STRUCT:
-    case TYPE_CODE_UNION:
-      {
-       int i;
-       int align = 1;
-
-       for (i = 0; i < TYPE_NFIELDS (t); ++i)
-         {
-           int a = rust_type_alignment (TYPE_FIELD_TYPE (t, i));
-           if (a > align)
-             align = a;
-         }
-       return align;
-      }
-    }
-}
-
 /* Like arch_composite_type, but uses TYPE to decide how to allocate
    -- either on an obstack or on a gdbarch.  */
 
@@ -945,7 +904,7 @@ rust_composite_type (struct type *original,
   if (field2 != NULL)
     {
       struct field *field = &TYPE_FIELD (result, i);
-      int align = rust_type_alignment (type2);
+      unsigned align = type_align (type2);
 
       if (align != 0)
        {