forked from Imagelibrary/binutils-gdb
2012-04-25 Sergio Durigan Junior <sergiodj@redhat.com>
* features/arm-with-iwmmxt.c: Regenerate. * features/arm-with-m-fpa-layout.c: Likewise. * features/arm-with-m.c: Likewise. * features/arm-with-neon.c: Likewise. * features/arm-with-vfpv2.c: Likewise. * features/arm-with-vfpv3.c: Likewise. * features/mips-dsp-linux.c: Likewise. * features/mips-linux.c: Likewise. * features/mips64-dsp-linux.c: Likewise. * features/mips64-linux.c: Likewise. * features/s390-linux32.c: Likewise. * features/s390-linux32v1.c: Likewise. * features/s390-linux32v2.c: Likewise. * features/s390-linux64.c: Likewise. * features/s390-linux64v1.c: Likewise. * features/s390-linux64v2.c: Likewise. * features/s390x-linux64.c: Likewise. * features/s390x-linux64v1.c: Likewise. * features/s390x-linux64v2.c: Likewise. * features/tic6x-c62x-linux.c: Likewise. * features/tic6x-c62x.c: Likewise. * features/tic6x-c64x-linux.c: Likewise. * features/tic6x-c64x.c: Likewise. * features/tic6x-c64xp-linux.c: Likewise. * features/tic6x-c64xp.c: Likewise. * target-descriptions.c: Only generate `field_type' and `type' variables when needed.
This commit is contained in:
@@ -1550,6 +1550,7 @@ maint_print_c_tdesc_cmd (char *args, int from_tty)
|
||||
struct tdesc_type_field *f;
|
||||
struct tdesc_type_flag *flag;
|
||||
int ix, ix2, ix3;
|
||||
int printed_field_type = 0;
|
||||
|
||||
/* Use the global target-supplied description, not the current
|
||||
architecture's. This lets a GDB for one architecture generate C
|
||||
@@ -1588,7 +1589,39 @@ maint_print_c_tdesc_cmd (char *args, int from_tty)
|
||||
printf_unfiltered
|
||||
(" struct target_desc *result = allocate_target_description ();\n");
|
||||
printf_unfiltered (" struct tdesc_feature *feature;\n");
|
||||
printf_unfiltered (" struct tdesc_type *field_type, *type;\n");
|
||||
|
||||
/* Now we do some "filtering" in order to know which variables to
|
||||
declare. This is needed because otherwise we would declare unused
|
||||
variables `field_type' and `type'. */
|
||||
for (ix = 0;
|
||||
VEC_iterate (tdesc_feature_p, tdesc->features, ix, feature);
|
||||
ix++)
|
||||
{
|
||||
int printed_desc_type = 0;
|
||||
|
||||
for (ix2 = 0;
|
||||
VEC_iterate (tdesc_type_p, feature->types, ix2, type);
|
||||
ix2++)
|
||||
{
|
||||
if (!printed_field_type)
|
||||
{
|
||||
printf_unfiltered (" struct tdesc_type *field_type;\n");
|
||||
printed_field_type = 1;
|
||||
}
|
||||
|
||||
if (type->kind == TDESC_TYPE_UNION
|
||||
&& VEC_length (tdesc_type_field, type->u.u.fields) > 0)
|
||||
{
|
||||
printf_unfiltered (" struct tdesc_type *type;\n");
|
||||
printed_desc_type = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (printed_desc_type)
|
||||
break;
|
||||
}
|
||||
|
||||
printf_unfiltered ("\n");
|
||||
|
||||
if (tdesc_architecture (tdesc) != NULL)
|
||||
|
||||
Reference in New Issue
Block a user