Re: RFA: shrink main_type

Tom Tromey
2008-08-24T18:03:12Z

>>>>> "Tom" == Tom Tromey <tromey@redhat.com> writes:

Tom> dwarf2read.c needed the additional appended hunk in order to compile.
Tom> This file changed since I wrote this patch. So, I am including this
Tom> in what I am going to commit.

It turns out I missed a couple other problems. My apologies -- I
messed up.

Here is the follow-up patch I am committing as obvious. It fixes the
remaining uses of TYPE_FLAGS in the tree.

Also, I didn't realize that the features/ files were generated from XML.
Whoops. I will send a follow-on patch for this.

While looking at this, I found that --enable-targets=all does not
build. Is this known? I'm thinking that in the future I would like
to enable this flag on my patch tester, so I miss fewer potential
problems in the future. Also I see a few --enable arguments related
to the gdb build in configure (build-warnings, werror,
gdb-build-warnings) ... should I be enabling any of these?

I tested the appended by building with a powerpc target enabled.

Tom

ChangeLog:
2008-08-24 Tom Tromey <tromey@redhat.com>

* rs6000-tdep.c (rs6000_builtin_type_vec128): Don't use
TYPE_FLAGS.
* features/rs6000/powerpc-vsx32l.c
(initialize_tdesc_powerpc_vsx32l): Update.
* features/rs6000/powerpc-vsx32.c
(initialize_tdesc_powerpc_vsx32): Update.
* features/rs6000/powerpc-vsx64.c
(initialize_tdesc_powerpc_vsx64): Update.
* features/rs6000/powerpc-vsx64l.c
(initialize_tdesc_powerpc_vsx64l): Update.
* target-descriptions.c (maint_print_c_tdesc_cmd): Emit
TYPE_VECTOR, not TYPE_FLAGS.

Index: rs6000-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/rs6000-tdep.c,v
retrieving revision 1.322
diff -u -r1.322 rs6000-tdep.c
--- rs6000-tdep.c 24 Aug 2008 16:39:57 -0000 1.322
+++ rs6000-tdep.c 24 Aug 2008 18:00:04 -0000
@@ -2128,7 +2128,7 @@
append_composite_type_field (t, "v16_int8",
init_vector_type (builtin_type_int8, 16));

- TYPE_FLAGS (t) |= TYPE_FLAG_VECTOR;
+ TYPE_VECTOR (t) = 1;
TYPE_NAME (t) = "ppc_builtin_type_vec128";
tdep->ppc_builtin_type_vec128 = t;
}
Index: target-descriptions.c
===================================================================
RCS file: /cvs/src/src/gdb/target-descriptions.c,v
retrieving revision 1.16
diff -u -r1.16 target-descriptions.c
--- target-descriptions.c 3 Jul 2008 23:14:35 -0000 1.16
+++ target-descriptions.c 24 Aug 2008 18:00:04 -0000
@@ -1096,7 +1096,7 @@
}
if (TYPE_VECTOR (type))
printf_unfiltered
- (" TYPE_FLAGS (type) |= TYPE_FLAG_VECTOR;\n");
+ (" TYPE_VECTOR (type) = 1;\n");
break;
default:
error (_("C output is not supported type \"%s\"."), TYPE_NAME (type));
Index: features/rs6000/powerpc-vsx32.c
===================================================================
RCS file: /cvs/src/src/gdb/features/rs6000/powerpc-vsx32.c,v
retrieving revision 1.1
diff -u -r1.1 powerpc-vsx32.c
--- features/rs6000/powerpc-vsx32.c 15 Aug 2008 15:18:34 -0000 1.1
+++ features/rs6000/powerpc-vsx32.c 24 Aug 2008 18:00:04 -0000
@@ -122,7 +122,7 @@
append_composite_type_field (type, xstrdup ("v8_int16"), field_type);
field_type = tdesc_named_type (feature, "v16i8");
append_composite_type_field (type, xstrdup ("v16_int8"), field_type);
- TYPE_FLAGS (type) |= TYPE_FLAG_VECTOR;
+ TYPE_VECTOR (type) = 1;
tdesc_record_type (feature, type);

tdesc_create_reg (feature, "vr0", 71, 1, NULL, 128, "vec128");
Index: features/rs6000/powerpc-vsx32l.c
===================================================================
RCS file: /cvs/src/src/gdb/features/rs6000/powerpc-vsx32l.c,v
retrieving revision 1.1
diff -u -r1.1 powerpc-vsx32l.c
--- features/rs6000/powerpc-vsx32l.c 15 Aug 2008 15:18:34 -0000 1.1
+++ features/rs6000/powerpc-vsx32l.c 24 Aug 2008 18:00:04 -0000
@@ -126,7 +126,7 @@
append_composite_type_field (type, xstrdup ("v8_int16"), field_type);
field_type = tdesc_named_type (feature, "v16i8");
append_composite_type_field (type, xstrdup ("v16_int8"), field_type);
- TYPE_FLAGS (type) |= TYPE_FLAG_VECTOR;
+ TYPE_VECTOR (type) = 1;
tdesc_record_type (feature, type);

tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
Index: features/rs6000/powerpc-vsx64.c
===================================================================
RCS file: /cvs/src/src/gdb/features/rs6000/powerpc-vsx64.c,v
retrieving revision 1.1
diff -u -r1.1 powerpc-vsx64.c
--- features/rs6000/powerpc-vsx64.c 15 Aug 2008 15:18:34 -0000 1.1
+++ features/rs6000/powerpc-vsx64.c 24 Aug 2008 18:00:04 -0000
@@ -122,7 +122,7 @@
append_composite_type_field (type, xstrdup ("v8_int16"), field_type);
field_type = tdesc_named_type (feature, "v16i8");
append_composite_type_field (type, xstrdup ("v16_int8"), field_type);
- TYPE_FLAGS (type) |= TYPE_FLAG_VECTOR;
+ TYPE_VECTOR (type) = 1;
tdesc_record_type (feature, type);

tdesc_create_reg (feature, "vr0", 71, 1, NULL, 128, "vec128");
Index: features/rs6000/powerpc-vsx64l.c
===================================================================
RCS file: /cvs/src/src/gdb/features/rs6000/powerpc-vsx64l.c,v
retrieving revision 1.1
diff -u -r1.1 powerpc-vsx64l.c
--- features/rs6000/powerpc-vsx64l.c 15 Aug 2008 15:18:34 -0000 1.1
+++ features/rs6000/powerpc-vsx64l.c 24 Aug 2008 18:00:04 -0000
@@ -126,7 +126,7 @@
append_composite_type_field (type, xstrdup ("v8_int16"), field_type);
field_type = tdesc_named_type (feature, "v16i8");
append_composite_type_field (type, xstrdup ("v16_int8"), field_type);
- TYPE_FLAGS (type) |= TYPE_FLAG_VECTOR;
+ TYPE_VECTOR (type) = 1;
tdesc_record_type (feature, type);

tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");