This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[RFA] values.c: don't fetch func void return value
- From: Elena Zannoni <ezannoni at redhat dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Wed, 16 Apr 2003 18:10:43 -0400
- Subject: [RFA] values.c: don't fetch func void return value
While debugging the x86-64 I noticed that there were problems because
gdb was trying to extract a void return value from a function. It
already has set up the value structure with all the correct fields, it
seems a waste to go and ask the target for a value if we know there
isn't one.
No regressions on x86.
2003-04-16 Elena Zannoni <ezannoni at redhat dot com>
* values.c (value_being_returned): Don't fetch the return
value if the return type is void.
Index: values.c
===================================================================
RCS file: /cvs/uberbaum/gdb/values.c,v
retrieving revision 1.47
diff -u -p -r1.47 values.c
--- values.c 20 Feb 2003 00:01:07 -0000 1.47
+++ values.c 16 Apr 2003 21:29:19 -0000
@@ -1240,7 +1240,9 @@ value_being_returned (struct type *valty
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;
}