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]

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


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