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: Elena Zannoni <ezannoni at redhat dot com>
- To: Michael Snyder <msnyder at redhat dot com>
- Cc: Elena Zannoni <ezannoni at redhat dot com>, gdb-patches at sources dot redhat dot com
- Date: Thu, 17 Apr 2003 16:40:51 -0400
- Subject: Re: [RFA] values.c: don't fetch func void return value
- References: <16029.54499.392215.696866@localhost.redhat.com><3E9EE7E7.B91EFA27@redhat.com>
Michael Snyder writes:
> 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...
>
Thanks,
committed
elena
>
> > 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;
> > }