summaryrefslogtreecommitdiff
path: root/gdb/dwarf2read.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/dwarf2read.c')
-rw-r--r--gdb/dwarf2read.c9
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);
}