From ac1ca910d74d5bd1d2800cb190659c9e3043a904 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 13 May 2013 16:51:52 +0000 Subject: PR exp/15364: * eval.c (evaluate_subexp_standard) : 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. --- gdb/opencl-lang.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'gdb/opencl-lang.c') diff --git a/gdb/opencl-lang.c b/gdb/opencl-lang.c index d7e66c4..4720e2b 100644 --- a/gdb/opencl-lang.c +++ b/gdb/opencl-lang.c @@ -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: -- cgit v1.1