summaryrefslogtreecommitdiff
path: root/gdb/f-exp.y
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2012-12-14 17:47:38 +0000
committerTom Tromey <tromey@redhat.com>2012-12-14 17:47:38 +0000
commitad8f0b374d3c0fb8c1f754b2eeef0115d09b2fce (patch)
treecb790eb8fc468db7431abfccb72fb2a368288d8f /gdb/f-exp.y
parente8d965638a8374af0dff9819622f76f30472bc0b (diff)
downloadgdb-ad8f0b374d3c0fb8c1f754b2eeef0115d09b2fce.tar.gz
* c-exp.y (block, variable, name_not_typename, lex_one_token,
classify_name): Update. * c-valprint.c (c_val_print): Update. * f-exp.y (yylex): Update. * go-exp.y (package_name_p, classify_packaged_name) (classify_name): Update. * jv-exp.y (push_variable): Update. * m2-exp.y (variable): Update. * mi/mi-cmd-stack.c (list_args_or_locals): Update. * p-exp.y (block, variable, yylex): Update. * p-valprint.c (pascal_val_print): Update. * parse.c (write_dollar_variable): Update. * printcmd.c (address_info): Update. * python/py-symbol.c (gdbpy_lookup_symbol): Update. * symtab.c (lookup_symbol_aux, lookup_symbol_in_language) (lookup_symbol): Change type of 'is_a_field_of_this'. (check_field): Add 'is_a_field_of_this' argument. * symtab.h (struct field_of_this_result): New. (lookup_symbol, lookup_symbol_in_language): Update.
Diffstat (limited to 'gdb/f-exp.y')
-rw-r--r--gdb/f-exp.y10
1 files changed, 7 insertions, 3 deletions
diff --git a/gdb/f-exp.y b/gdb/f-exp.y
index 33c7418caed..8e941749f67 100644
--- a/gdb/f-exp.y
+++ b/gdb/f-exp.y
@@ -1175,9 +1175,13 @@ yylex (void)
{
char *tmp = copy_name (yylval.sval);
struct symbol *sym;
- int is_a_field_of_this = 0;
+ struct field_of_this_result is_a_field_of_this;
int hextype;
+ /* Initialize this in case we *don't* use it in this call; that
+ way we can refer to it unconditionally below. */
+ memset (&is_a_field_of_this, 0, sizeof (is_a_field_of_this));
+
sym = lookup_symbol (tmp, expression_context_block,
VAR_DOMAIN,
parse_language->la_language == language_cplus
@@ -1205,14 +1209,14 @@ yylex (void)
if (hextype == INT)
{
yylval.ssym.sym = sym;
- yylval.ssym.is_a_field_of_this = is_a_field_of_this;
+ yylval.ssym.is_a_field_of_this = is_a_field_of_this.type != NULL;
return NAME_OR_INT;
}
}
/* Any other kind of symbol */
yylval.ssym.sym = sym;
- yylval.ssym.is_a_field_of_this = is_a_field_of_this;
+ yylval.ssym.is_a_field_of_this = is_a_field_of_this.type != NULL;
return NAME;
}
}