diff options
Diffstat (limited to 'gdb/dwarf2read.c')
-rw-r--r-- | gdb/dwarf2read.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index b4f5cd1e3c..4dbd5c35d7 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -17693,11 +17693,16 @@ read_unspecified_type (struct die_info *die, struct dwarf2_cu *cu) { struct type *type; - /* For now, we only support the C meaning of an unspecified type: void. */ - type = init_type (cu->objfile, TYPE_CODE_VOID, 0, NULL); TYPE_NAME (type) = dwarf2_name (die, cu); + /* In Ada, an unspecified type is typically used when the description + of the type is defered to a different unit. When encountering + such a type, we treat it as a stub, and try to resolve it later on, + when needed. */ + if (cu->language == language_ada) + TYPE_STUB (type) = 1; + return set_die_type (die, type, cu); } |