PR exp/15364:

* eval.c (evaluate_subexp_standard) <STRUCTOP_STRUCT,
	STRUCTOP_PTR>: Return a not_lval value for
	EVAL_AVOID_SIDE_EFFECTS.
	* opencl-lang.c (evaluate_subexp_opencl): Return a not_lval value
	for EVAL_AVOID_SIDE_EFFECTS.
gdb/testsuite
	* gdb.base/exprs.exp (test_expr): Add regression test.
	* gdb.base/exprs.c (null_t_struct): New global.
This commit is contained in:
Tom Tromey 2013-05-13 16:51:52 +00:00
parent fd7b2a545d
commit ac1ca910d7
6 changed files with 34 additions and 8 deletions

View file

@ -1035,10 +1035,13 @@ Cannot perform conditional operation on vectors with different sizes"));
}
else
{
/* Also handle EVAL_AVOID_SIDE_EFFECTS. */
return value_struct_elt (&arg1, NULL,
&exp->elts[pc + 2].string, NULL,
"structure");
struct value *v = value_struct_elt (&arg1, NULL,
&exp->elts[pc + 2].string, NULL,
"structure");
if (noside == EVAL_AVOID_SIDE_EFFECTS)
v = value_zero (value_type (v), not_lval);
return v;
}
}
default: