This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] values.c: don't fetch func void return value


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;
>  }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]