]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/rust-lang.c
gdb: add field::type / field::set_type
[thirdparty/binutils-gdb.git] / gdb / rust-lang.c
index 8848e975228b003426dcd8ab8c6755a4d4f1d682..20bfbd6bc50f2526d002c61e92a1341fb4ed2a53 100644 (file)
@@ -882,8 +882,8 @@ rust_internal_print_type (struct type *type, const char *varstring,
                                  stream, show - 1, level, flags, false,
                                  podata);
 
-       if (TYPE_HIGH_BOUND_KIND (TYPE_INDEX_TYPE (type)) == PROP_LOCEXPR
-           || TYPE_HIGH_BOUND_KIND (TYPE_INDEX_TYPE (type)) == PROP_LOCLIST)
+       if (TYPE_HIGH_BOUND_KIND (type->index_type ()) == PROP_LOCEXPR
+           || TYPE_HIGH_BOUND_KIND (type->index_type ()) == PROP_LOCLIST)
          fprintf_filtered (stream, "; variable length");
        else if (get_array_bounds (type, &low_bound, &high_bound))
          fprintf_filtered (stream, "; %s",
@@ -988,7 +988,7 @@ rust_composite_type (struct type *original,
       bitpos += TYPE_LENGTH (type1) * TARGET_CHAR_BIT;
 
       FIELD_NAME (*field) = field1;
-      FIELD_TYPE (*field) = type1;
+      field->set_type (type1);
       ++i;
     }
   if (field2 != NULL)
@@ -1008,7 +1008,7 @@ rust_composite_type (struct type *original,
       SET_FIELD_BITPOS (*field, bitpos);
 
       FIELD_NAME (*field) = field2;
-      FIELD_TYPE (*field) = type2;
+      field->set_type (type2);
       ++i;
     }
 
@@ -2056,7 +2056,6 @@ extern const struct language_data rust_language_data =
   rust_print_typedef,          /* Print a typedef using appropriate syntax */
   rust_value_print_inner,      /* la_value_print_inner */
   c_value_print,               /* Print a top-level value */
-  NULL,                                /* Language specific skip_trampoline */
   NULL,                                /* name_of_this */
   false,                       /* la_store_sym_names_in_linkage_form_p */
   rust_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */