aboutsummaryrefslogtreecommitdiff
path: root/gdb/stabsread.c
diff options
context:
space:
mode:
authorPer Bothner <per@bothner.com>1996-02-07 05:43:04 +0000
committerPer Bothner <per@bothner.com>1996-02-07 05:43:04 +0000
commitec49fc987c60ae5d79d45992f3e196904056503c (patch)
treef29b3991affda093a75428397af1c8772f5f0e67 /gdb/stabsread.c
parentfe16107dfa238202a8735bd709c694cd781d50f8 (diff)
downloadgdb-ec49fc987c60ae5d79d45992f3e196904056503c.zip
gdb-ec49fc987c60ae5d79d45992f3e196904056503c.tar.gz
gdb-ec49fc987c60ae5d79d45992f3e196904056503c.tar.bz2
* stabsread.c (read_range_type): If !self-subrange and language
is Chill, assume a true range. If a true_range is a sub_subrange, use builtin_type_int for index_type. This is for PR chill/8894.
Diffstat (limited to 'gdb/stabsread.c')
-rw-r--r--gdb/stabsread.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/gdb/stabsread.c b/gdb/stabsread.c
index 988c75c..541e886 100644
--- a/gdb/stabsread.c
+++ b/gdb/stabsread.c
@@ -3512,7 +3512,7 @@ read_range_type (pp, typenums, objfile)
return init_type (TYPE_CODE_INT, 1, 0, NULL, objfile);
else if (current_symbol && SYMBOL_LANGUAGE (current_symbol) == language_chill
- && SYMBOL_LINE (current_symbol) > 0)
+ && !self_subrange)
goto handle_true_range;
/* We used to do this only for subrange of self or subrange of int. */
@@ -3552,13 +3552,10 @@ read_range_type (pp, typenums, objfile)
return a real pointer. */
handle_true_range:
- /* At this point I don't have the faintest idea how to deal with
- a self_subrange type; I'm going to assume that this is used
- as an idiom, and that all of them are special cases. So . . . */
if (self_subrange)
- return error_type (pp, objfile);
-
- index_type = *dbx_lookup_type (rangenums);
+ index_type = builtin_type_int;
+ else
+ index_type = *dbx_lookup_type (rangenums);
if (index_type == NULL)
{
/* Does this actually ever happen? Is that why we are worrying