aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/values.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 202bb42..b154976 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,9 @@
2001-05-21 Jim Blandy <jimb@redhat.com>
+ * values.c (value_primitive_field): If we're extracting a base
+ class, then the type of the result should be the base class being
+ extracted, not the type of which it is a base class.
+
* value.h (struct value): Doc fix, and rearrange members to place
them near their explanations.
diff --git a/gdb/values.c b/gdb/values.c
index 8336233..f5a7ce0 100644
--- a/gdb/values.c
+++ b/gdb/values.c
@@ -856,7 +856,7 @@ value_primitive_field (register value_ptr arg1, int offset,
entire object's contents for later references to virtual
bases, etc. */
v = allocate_value (VALUE_ENCLOSING_TYPE (arg1));
- VALUE_TYPE (v) = arg_type;
+ VALUE_TYPE (v) = type;
if (VALUE_LAZY (arg1))
VALUE_LAZY (v) = 1;
else