aboutsummaryrefslogtreecommitdiff
path: root/gdb/stabsread.c
diff options
context:
space:
mode:
authorJim Blandy <jimb@codesourcery.com>2000-11-10 23:18:16 +0000
committerJim Blandy <jimb@codesourcery.com>2000-11-10 23:18:16 +0000
commit1300f5dda8b5e782749f40dda5ee613eb65273f8 (patch)
tree159569350d60ccbfc921aede0fc204fb91570776 /gdb/stabsread.c
parent506419459ac4303cdb9adb6e4b121049ef6be0a2 (diff)
downloadgdb-1300f5dda8b5e782749f40dda5ee613eb65273f8.zip
gdb-1300f5dda8b5e782749f40dda5ee613eb65273f8.tar.gz
gdb-1300f5dda8b5e782749f40dda5ee613eb65273f8.tar.bz2
* stabsread.c (read_range_type): Properly construct complex
type nodes.
Diffstat (limited to 'gdb/stabsread.c')
-rw-r--r--gdb/stabsread.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/gdb/stabsread.c b/gdb/stabsread.c
index fb1a184..730df9d 100644
--- a/gdb/stabsread.c
+++ b/gdb/stabsread.c
@@ -4593,14 +4593,18 @@ read_range_type (char **pp, int typenums[2], struct objfile *objfile)
if (n3 == 0 && n2 > 0)
{
+ struct type *float_type
+ = init_type (TYPE_CODE_FLT, n2, 0, NULL, objfile);
+
if (self_subrange)
{
- return init_type (TYPE_CODE_COMPLEX, 2 * n2, 0, NULL, objfile);
+ struct type *complex_type =
+ init_type (TYPE_CODE_COMPLEX, 2 * n2, 0, NULL, objfile);
+ TYPE_TARGET_TYPE (complex_type) = float_type;
+ return complex_type;
}
else
- {
- return init_type (TYPE_CODE_FLT, n2, 0, NULL, objfile);
- }
+ return float_type;
}
/* If the upper bound is -1, it must really be an unsigned int. */