diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 66849598d3..e2fe0a3836 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2012-02-29 Joel Brobecker + + * ada-lang.c (ada_is_ignored_field): Rewrite wrong comment. + 2012-02-29 Joel Brobecker * ada-lang.c (ada_lookup_symbol_list): Only cache the result of diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index cbdff3fb55..6382369aea 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -5882,7 +5882,7 @@ ada_is_ignored_field (struct type *type, int field_num) { if (field_num < 0 || field_num > TYPE_NFIELDS (type)) return 1; - + /* Check the name of that field. */ { const char *name = TYPE_FIELD_NAME (type, field_num); @@ -5893,8 +5893,13 @@ ada_is_ignored_field (struct type *type, int field_num) if (name == NULL) return 1; - /* A field named "_parent" is internally generated by GNAT for - tagged types, and should not be printed either. */ + /* Normally, fields whose name start with an underscore ("_") + are fields that have been internally generated by the compiler, + and thus should not be printed. The "_parent" field is special, + however: This is a field internally generated by the compiler + for tagged types, and it contains the components inherited from + the parent type. This field should not be printed as is, but + should not be ignored either. */ if (name[0] == '_' && strncmp (name, "_parent", 7) != 0) return 1; }