diff options
author | Jeff Law <law@redhat.com> | 1995-01-05 08:18:13 +0000 |
---|---|---|
committer | Jeff Law <law@redhat.com> | 1995-01-05 08:18:13 +0000 |
commit | 117a817d90627add30de376a42c14220dd21e738 (patch) | |
tree | ad07d9915c960a8f8730210d61c2dfe65d4c7f5f /gdb/stabsread.c | |
parent | ea6d581719a6997397bf12a3391e81ac1b084738 (diff) | |
download | gdb-117a817d90627add30de376a42c14220dd21e738.zip gdb-117a817d90627add30de376a42c14220dd21e738.tar.gz gdb-117a817d90627add30de376a42c14220dd21e738.tar.bz2 |
* stabsread.c (define_symbol): Handle `a' symbol type used for
reference parameter passed in a register.
Diffstat (limited to 'gdb/stabsread.c')
-rw-r--r-- | gdb/stabsread.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gdb/stabsread.c b/gdb/stabsread.c index 6eb5790..a21e521 100644 --- a/gdb/stabsread.c +++ b/gdb/stabsread.c @@ -1186,6 +1186,20 @@ define_symbol (valu, string, desc, type, objfile) add_symbol_to_list (sym, &local_symbols); break; + case 'a': + /* Reference parameter which is in a register. */ + SYMBOL_TYPE (sym) = read_type (&p, objfile); + SYMBOL_CLASS (sym) = LOC_REGPARM_ADDR; + SYMBOL_VALUE (sym) = STAB_REG_TO_REGNUM (valu); + if (SYMBOL_VALUE (sym) >= NUM_REGS) + { + complain (®_value_complaint, SYMBOL_SOURCE_NAME (sym)); + SYMBOL_VALUE (sym) = SP_REGNUM; /* Known safe, though useless */ + } + SYMBOL_NAMESPACE (sym) = VAR_NAMESPACE; + add_symbol_to_list (sym, &local_symbols); + break; + case 'X': /* This is used by Sun FORTRAN for "function result value". Sun claims ("dbx and dbxtool interfaces", 2nd ed) |