summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/values.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f66137bd784..08cbb63adf6 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2003-04-17 Elena Zannoni <ezannoni@redhat.com>
+
+ * values.c (value_being_returned): Don't fetch the return
+ value if the return type is void.
+
2003-04-17 Jeff Johnston <jjohnstn@redhat.com>
* thread-db.c: Reindented.
diff --git a/gdb/values.c b/gdb/values.c
index 8b1d013a0e1..88c6a61037b 100644
--- a/gdb/values.c
+++ b/gdb/values.c
@@ -1240,7 +1240,9 @@ value_being_returned (struct type *valtype, struct regcache *retbuf,
val = allocate_value (valtype);
CHECK_TYPEDEF (valtype);
- EXTRACT_RETURN_VALUE (valtype, retbuf, VALUE_CONTENTS_RAW (val));
+ /* If the function returns void, don't bother fetching the return value. */
+ if (TYPE_CODE (valtype) != TYPE_CODE_VOID)
+ EXTRACT_RETURN_VALUE (valtype, retbuf, VALUE_CONTENTS_RAW (val));
return val;
}