2003-01-08 David Carlton <carlton@math.stanford.edu>
* linespec.c (decode_line_1): Move code into decode_variable. (decode_variable): New function.
This commit is contained in:
parent
3f234ef5cc
commit
bca02a8a3a
@ -1,3 +1,8 @@
|
||||
2003-01-08 David Carlton <carlton@math.stanford.edu>
|
||||
|
||||
* linespec.c (decode_line_1): Move code into decode_variable.
|
||||
(decode_variable): New function.
|
||||
|
||||
2003-01-08 Andrew Cagney <ac131313@redhat.com>
|
||||
|
||||
* mn10300-tdep.c (analyze_dummy_frame): Fix typo.
|
||||
|
@ -87,6 +87,11 @@ static struct symtabs_and_lines decode_dollar (char *copy,
|
||||
char ***canonical,
|
||||
struct symtab *s);
|
||||
|
||||
static struct symtabs_and_lines decode_variable (char *copy,
|
||||
int funfirstline,
|
||||
char ***canonical,
|
||||
struct symtab *s);
|
||||
|
||||
static struct
|
||||
symtabs_and_lines symbol_found (int funfirstline,
|
||||
char ***canonical,
|
||||
@ -558,11 +563,6 @@ decode_line_1 (char **argptr, int funfirstline, struct symtab *default_symtab,
|
||||
char *q;
|
||||
struct symtab *s = NULL;
|
||||
|
||||
struct symbol *sym;
|
||||
/* The symtab that SYM was found in. */
|
||||
struct symtab *sym_symtab;
|
||||
|
||||
struct minimal_symbol *msymbol;
|
||||
char *copy;
|
||||
/* This is NULL if there are no parens in *ARGPTR, or a pointer to
|
||||
the closing parenthesis if there are parens. */
|
||||
@ -713,24 +713,7 @@ decode_line_1 (char **argptr, int funfirstline, struct symtab *default_symtab,
|
||||
/* Look up that token as a variable.
|
||||
If file specified, use that file's per-file block to start with. */
|
||||
|
||||
sym = lookup_symbol (copy,
|
||||
(s ? BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), STATIC_BLOCK)
|
||||
: get_selected_block (0)),
|
||||
VAR_NAMESPACE, 0, &sym_symtab);
|
||||
|
||||
if (sym != NULL)
|
||||
return symbol_found (funfirstline, canonical, copy, sym, s, sym_symtab);
|
||||
|
||||
msymbol = lookup_minimal_symbol (copy, NULL, NULL);
|
||||
|
||||
if (msymbol != NULL)
|
||||
return minsym_found (funfirstline, msymbol);
|
||||
|
||||
if (!have_full_symbols () &&
|
||||
!have_partial_symbols () && !have_minimal_symbols ())
|
||||
error ("No symbol table is loaded. Use the \"file\" command.");
|
||||
|
||||
error ("Function \"%s\" not defined.", copy);
|
||||
return decode_variable (copy, funfirstline, canonical, s);
|
||||
}
|
||||
|
||||
|
||||
@ -1387,6 +1370,42 @@ decode_dollar (char *copy, int funfirstline, struct symtab *default_symtab,
|
||||
return values;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Decode a linespec that's a variable. If S is non-NULL,
|
||||
look in that symtab's static variables first. */
|
||||
|
||||
static struct symtabs_and_lines
|
||||
decode_variable (char *copy, int funfirstline, char ***canonical,
|
||||
struct symtab *s)
|
||||
{
|
||||
struct symbol *sym;
|
||||
/* The symtab that SYM was found in. */
|
||||
struct symtab *sym_symtab;
|
||||
|
||||
struct minimal_symbol *msymbol;
|
||||
|
||||
sym = lookup_symbol (copy,
|
||||
(s ? BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), STATIC_BLOCK)
|
||||
: get_selected_block (0)),
|
||||
VAR_NAMESPACE, 0, &sym_symtab);
|
||||
|
||||
if (sym != NULL)
|
||||
return symbol_found (funfirstline, canonical, copy, sym, s, sym_symtab);
|
||||
|
||||
msymbol = lookup_minimal_symbol (copy, NULL, NULL);
|
||||
|
||||
if (msymbol != NULL)
|
||||
return minsym_found (funfirstline, msymbol);
|
||||
|
||||
if (!have_full_symbols () &&
|
||||
!have_partial_symbols () && !have_minimal_symbols ())
|
||||
error ("No symbol table is loaded. Use the \"file\" command.");
|
||||
|
||||
error ("Function \"%s\" not defined.", copy);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* Now come some functions that are called from multiple places within
|
||||
|
Loading…
x
Reference in New Issue
Block a user