From 1f8a1ced4eefa4c6052a3e4566781527373eff45 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 25 Mar 2013 17:26:18 +0000 Subject: PR c++/9197: * opencl-lang.c (evaluate_subexp_opencl) : Use value_struct_elt, not lookup_struct_elt_type. * eval.c (evaluate_subexp_standard) : Use value_struct_elt, not lookup_struct_elt_type. * expression.h (EVAL_AVOID_SIDE_EFFECTS): Update comment. gdb/testsuite * gdb.cp/m-static.exp: Add constructor ptype tests. * gdb.cp/m-static.cc (single_constructor): New class. (main): Make instance of single_constructor. --- gdb/eval.c | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) (limited to 'gdb/eval.c') diff --git a/gdb/eval.c b/gdb/eval.c index 146840e7843..a91ba2271ab 100644 --- a/gdb/eval.c +++ b/gdb/eval.c @@ -1847,18 +1847,9 @@ evaluate_subexp_standard (struct type *expect_type, arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); if (noside == EVAL_SKIP) goto nosideret; - if (noside == EVAL_AVOID_SIDE_EFFECTS) - return value_zero (lookup_struct_elt_type (value_type (arg1), - &exp->elts[pc + 2].string, - 0), - lval_memory); - else - { - struct value *temp = arg1; - - return value_struct_elt (&temp, NULL, &exp->elts[pc + 2].string, - NULL, "structure"); - } + /* Also handle EVAL_AVOID_SIDE_EFFECTS. */ + return value_struct_elt (&arg1, NULL, &exp->elts[pc + 2].string, + NULL, "structure"); case STRUCTOP_PTR: tem = longest_to_int (exp->elts[pc + 1].longconst); @@ -1908,18 +1899,9 @@ evaluate_subexp_standard (struct type *expect_type, } } - if (noside == EVAL_AVOID_SIDE_EFFECTS) - return value_zero (lookup_struct_elt_type (value_type (arg1), - &exp->elts[pc + 2].string, - 0), - lval_memory); - else - { - struct value *temp = arg1; - - return value_struct_elt (&temp, NULL, &exp->elts[pc + 2].string, - NULL, "structure pointer"); - } + /* Also handle EVAL_AVOID_SIDE_EFFECTS. */ + return value_struct_elt (&arg1, NULL, &exp->elts[pc + 2].string, + NULL, "structure pointer"); case STRUCTOP_MEMBER: case STRUCTOP_MPTR: -- cgit v1.2.1