| Index: gdb/objc-exp.y
|
| diff --git a/gdb/objc-exp.y b/gdb/objc-exp.y
|
| index 346b404181d6bbd90698c8f64475cab34d6a90a8..6f51edff8162f1489a91cd03c3a03537f6f29ee4 100644
|
| --- a/gdb/objc-exp.y
|
| +++ b/gdb/objc-exp.y
|
| @@ -102,6 +102,12 @@
|
| #define yygindex objc_yygindex
|
| #define yytable objc_yytable
|
| #define yycheck objc_yycheck
|
| +#define yyss objc_yyss
|
| +#define yysslim objc_yysslim
|
| +#define yyssp objc_yyssp
|
| +#define yystacksize objc_yystacksize
|
| +#define yyvs objc_yyvs
|
| +#define yyvsp objc_yyvsp
|
|
|
| #ifndef YYDEBUG
|
| #define YYDEBUG 0 /* Default to no yydebug support. */
|
| @@ -648,6 +654,13 @@ variable: block COLONCOLON name
|
| if (sym == 0)
|
| error (_("No symbol \"%s\" in specified context."),
|
| copy_name ($3));
|
| + if (symbol_read_needs_frame (sym))
|
| + {
|
| + if (innermost_block == 0
|
| + || contained_in (block_found,
|
| + innermost_block))
|
| + innermost_block = block_found;
|
| + }
|
|
|
| write_exp_elt_opcode (OP_VAR_VALUE);
|
| /* block_found is set by lookup_symbol. */
|
| @@ -985,11 +998,7 @@ name_not_typename : NAME
|
| /*** Needs some error checking for the float case. ***/
|
|
|
| static int
|
| -parse_number (p, len, parsed_float, putithere)
|
| - char *p;
|
| - int len;
|
| - int parsed_float;
|
| - YYSTYPE *putithere;
|
| +parse_number (char *p, int len, int parsed_float, YYSTYPE *putithere)
|
| {
|
| /* FIXME: Shouldn't these be unsigned? We don't deal with negative
|
| values here, and we do kind of silly things like cast to
|
| @@ -1412,9 +1421,6 @@ yylex (void)
|
| case '^':
|
| case '~':
|
| case '!':
|
| -#if 0
|
| - case '@': /* Moved out below. */
|
| -#endif
|
| case '<':
|
| case '>':
|
| case '[':
|
| @@ -1776,8 +1782,7 @@ yylex (void)
|
| }
|
|
|
| void
|
| -yyerror (msg)
|
| - char *msg;
|
| +yyerror (char *msg)
|
| {
|
| if (*lexptr == '\0')
|
| error(_("A %s near end of expression."), (msg ? msg : "error"));
|
|
|