diff options
author | Tom Tromey <tromey@redhat.com> | 2013-03-25 17:26:18 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2013-03-25 17:26:18 +0000 |
commit | fce632b6dc97eaa7e9f10f5c2c7dd8fd55931a51 (patch) | |
tree | 06761cf79babc8913eb2efe76b35859518a5148a /gdb/eval.c | |
parent | f6f0e17bc3616a0e976b250e361bdd61bbffc6e8 (diff) | |
download | gdb-fce632b6dc97eaa7e9f10f5c2c7dd8fd55931a51.zip gdb-fce632b6dc97eaa7e9f10f5c2c7dd8fd55931a51.tar.gz gdb-fce632b6dc97eaa7e9f10f5c2c7dd8fd55931a51.tar.bz2 |
PR c++/9197:
* opencl-lang.c (evaluate_subexp_opencl) <STRUCTOP_STRUCT>: Use
value_struct_elt, not lookup_struct_elt_type.
* eval.c (evaluate_subexp_standard) <STRUCTOP_STRUCT,
STRUCTOP_PTR>: 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.
Diffstat (limited to 'gdb/eval.c')
-rw-r--r-- | gdb/eval.c | 30 |
1 files changed, 6 insertions, 24 deletions
@@ -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: |