aboutsummaryrefslogtreecommitdiff
path: root/gdb/eval.c
diff options
context:
space:
mode:
authorDavid Carlton <carlton@bactrian.org>2003-09-25 16:39:39 +0000
committerDavid Carlton <carlton@bactrian.org>2003-09-25 16:39:39 +0000
commit79c2c32df4d14566f2d11310fddd4e4ca9ab6542 (patch)
treea5e0893e16910a2814ae39a59ab3293a7d86ecbb /gdb/eval.c
parent594e6d67cd35735bd5eb9eca720560a8336eac37 (diff)
downloadgdb-79c2c32df4d14566f2d11310fddd4e4ca9ab6542.zip
gdb-79c2c32df4d14566f2d11310fddd4e4ca9ab6542.tar.gz
gdb-79c2c32df4d14566f2d11310fddd4e4ca9ab6542.tar.bz2
2003-09-25 David Carlton <carlton@kealia.com>
* c-exp.y: Include cp-support.h. Add qualified_type. (yylex): Delete nested type hack; add comments. * cp-namespace.c (cp_lookup_nested_type): New function. * cp-support.h: Declare cp_lookup_nested_type. * eval.c (evaluate_subexp_standard): Call value_aggregate_elt instead of value_struct_elt_for_reference. * valops.c: Include cp-support.h. (value_aggregate_elt): New function. (value_namespace_elt): Ditto. (value_struct_elt_for_reference): Make static. * value.h: Delete declaration of value_struct_elt_for_reference; add declaration for value_aggregate_elt. * Makefile.in (c-exp.tab.o): Depend on $(cp_support_h). (valops.o): Ditto. 2003-09-25 David Carlton <carlton@kealia.com> * gdb.cp/namespace.exp: Tweak comments. Add non-quoted versions of some print tests, where appropriate. Add tests for C::D::cd, E::ce, F::cXfX, G::XgX. * gdb.cp/namespace.cc: Add XgX, cXfX, ce.
Diffstat (limited to 'gdb/eval.c')
-rw-r--r--gdb/eval.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/gdb/eval.c b/gdb/eval.c
index cda1494..a44d0c7 100644
--- a/gdb/eval.c
+++ b/gdb/eval.c
@@ -408,11 +408,9 @@ evaluate_subexp_standard (struct type *expect_type,
case OP_SCOPE:
tem = longest_to_int (exp->elts[pc + 2].longconst);
(*pos) += 4 + BYTES_TO_EXP_ELEM (tem + 1);
- arg1 = value_struct_elt_for_reference (exp->elts[pc + 1].type,
- 0,
- exp->elts[pc + 1].type,
- &exp->elts[pc + 3].string,
- NULL_TYPE);
+ arg1 = value_aggregate_elt (exp->elts[pc + 1].type,
+ &exp->elts[pc + 3].string,
+ noside);
if (arg1 == NULL)
error ("There is no field named %s", &exp->elts[pc + 3].string);
return arg1;