[RFA,5/6] Remove rust_type_alignment

Message ID 20180424152222.8053-6-tom@tromey.com
State Superseded
Headers show
Series
  • Teach gdb about type alignment
Related show

Commit Message

Tom Tromey April 24, 2018, 3:22 p.m.
rust_type_alignment is not needed now that gdb has type alignment
code.  So, this removes it.

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

	* rust-lang.c (rust_type_alignment): Remove.
	(rust_composite_type): Use type_align.
---
 gdb/ChangeLog   |  5 +++++
 gdb/rust-lang.c | 43 +------------------------------------------
 2 files changed, 6 insertions(+), 42 deletions(-)

-- 
2.14.3

Patch

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 78acc26f4a..04920fbc4b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@ 
+2018-04-24  Tom Tromey  <tom@tromey.com>
+
+	* rust-lang.c (rust_type_alignment): Remove.
+	(rust_composite_type): Use type_align.
+
 2018-04-24  Tom Tromey  <tom@tromey.com>
 
 	* NEWS: Mention Type.align.
diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c
index cf8a15ee43..74e86d7008 100644
--- a/gdb/rust-lang.c
+++ b/gdb/rust-lang.c
@@ -851,47 +851,6 @@  rust_print_type (struct type *type, const char *varstring,
 
 
 
-/* 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.  */
 
@@ -934,7 +893,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)
 	{