Approved by Jim Blandy:

2001-12-10  Fred Fish  <fnf@redhat.com>
	* values.c (value_fn_field): Add physname variable.  Use a minimal
	symbol if we don't find a full symbol.  Remove setting of the new
	value's type since that was already done by allocate_value().
	Remove obsolete commented out error call since callees need to
	handle a NULL return, which is possible result not an error.
	* eval.c (evaluate_subexp_standard): Move check for inlined
	functions to precede attempt to dereference a NULL argvec[0].
This commit is contained in:
Fred Fish
2001-12-10 23:05:00 +00:00
parent 709ec538af
commit 0478d61cc2
3 changed files with 33 additions and 11 deletions

View File

@ -917,6 +917,8 @@ evaluate_subexp_standard (struct type *expect_type,
if (noside == EVAL_SKIP)
goto nosideret;
if (argvec[0] == NULL)
error ("Cannot evaluate function -- may be inlined");
if (noside == EVAL_AVOID_SIDE_EFFECTS)
{
/* If the return type doesn't look like a function type, call an
@ -934,8 +936,6 @@ evaluate_subexp_standard (struct type *expect_type,
else
error ("Expression of type other than \"Function returning ...\" used as function");
}
if (argvec[0] == NULL)
error ("Cannot evaluate function -- may be inlined");
return call_function_by_hand (argvec[0], nargs, argvec + 1);
/* pai: FIXME save value from call_function_by_hand, then adjust pc by adjust_fn_pc if +ve */