diff options
Diffstat (limited to 'gdb/ada-lang.c')
-rw-r--r-- | gdb/ada-lang.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index cbdff3f..6382369 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; } |