* blockframe.c (block_innermost_frame): Uncomment.

Return NULL if passed NULL.
	* frame.h: Declare it.
	* expression.h (union exp_element): Add field block.
	* parse.c (write_exp_elt_block): New function.
	* expression.h (OP_VAR_VALUE): Now takes additional struct block *.
	* *-exp.y: Write block for OP_VAR_VALUE.
	* eval.c, expprint.c, parse.c: Deal with block for OP_VAR_VALUE.
	* valops.c, value.h (value_of_variable), callers:
	Add second argument, for block.
This commit is contained in:
Jim Kingdon
1993-08-18 19:33:39 +00:00
parent e56ac0ba86
commit 479fdd26ee
9 changed files with 153 additions and 57 deletions

View File

@ -178,6 +178,15 @@ write_exp_elt_sym (expelt)
write_exp_elt (tmp);
}
void
write_exp_elt_block (b)
struct block *b;
{
union exp_element tmp;
tmp.block = b;
write_exp_elt (tmp);
}
void
write_exp_elt_longcst (expelt)
LONGEST expelt;
@ -389,12 +398,12 @@ length_of_subexp (expr, endpos)
case OP_LONG:
case OP_DOUBLE:
case OP_VAR_VALUE:
oplen = 4;
break;
case OP_TYPE:
case OP_BOOL:
case OP_VAR_VALUE:
case OP_LAST:
case OP_REGISTER:
case OP_INTERNALVAR:
@ -518,12 +527,12 @@ prefixify_subexp (inexpr, outexpr, inend, outbeg)
case OP_LONG:
case OP_DOUBLE:
case OP_VAR_VALUE:
oplen = 4;
break;
case OP_TYPE:
case OP_BOOL:
case OP_VAR_VALUE:
case OP_LAST:
case OP_REGISTER:
case OP_INTERNALVAR: