This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] values.c: don't fetch func void return value
- From: Michael Snyder <msnyder at redhat dot com>
- To: Elena Zannoni <ezannoni at redhat dot com>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Thu, 17 Apr 2003 10:44:07 -0700
- Subject: Re: [RFA] values.c: don't fetch func void return value
- Organization: Red Hat, Inc.
- References: <16029.54499.392215.696866@localhost.redhat.com>
Elena Zannoni wrote:
>
> 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,
Meaning the correct fields for a void return?
> it
> seems a waste to go and ask the target for a value if we know there
> isn't one.
Seems reasonable to me... and I don't see any specific maintainer.
[donning appropriate hat] Bless you, my child...
> 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;
> }