X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fvalues.c;h=42395c886e2b4cf38b68f62468a87ed9a6308edd;hb=4e7d75111e767a216cd9230c1ce8f45f3874d133;hp=7e7e9b15534093678a60eac24b60c31d95c93e04;hpb=6302298482a57a625399947705ae2b3981b07d20;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/values.c b/gdb/values.c index 7e7e9b1553..42395c886e 100644 --- a/gdb/values.c +++ b/gdb/values.c @@ -1212,36 +1212,31 @@ value_from_double (struct type *type, DOUBLEST num) /* ARGSUSED */ struct value * value_being_returned (struct type *valtype, struct regcache *retbuf, - int struct_return, CORE_ADDR struct_addr) + int struct_return) { struct value *val; CORE_ADDR addr; - if (struct_return) - { - if (struct_addr != 0) - { - /* Struct return addr supplied by hand_function_call. */ - return value_at (valtype, struct_addr, NULL); - } - /* If one of these is not defined, just use EXTRACT_RETURN_VALUE - instead. */ - else if (EXTRACT_STRUCT_VALUE_ADDRESS_P ()) - { - addr = EXTRACT_STRUCT_VALUE_ADDRESS (retbuf); - if (!addr) - error ("Function return value unknown."); - return value_at (valtype, addr, NULL); - } - else if (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P ()) - { - char *buf = deprecated_grub_regcache_for_registers (retbuf); - addr = DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS (buf); - if (!addr) - error ("Function return value unknown."); - return value_at (valtype, addr, NULL); - } - } + /* If this is not defined, just use EXTRACT_RETURN_VALUE instead. */ + if (EXTRACT_STRUCT_VALUE_ADDRESS_P ()) + if (struct_return) + { + addr = EXTRACT_STRUCT_VALUE_ADDRESS (retbuf); + if (!addr) + error ("Function return value unknown."); + return value_at (valtype, addr, NULL); + } + + /* If this is not defined, just use EXTRACT_RETURN_VALUE instead. */ + if (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P ()) + if (struct_return) + { + char *buf = deprecated_grub_regcache_for_registers (retbuf); + addr = DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS (buf); + if (!addr) + error ("Function return value unknown."); + return value_at (valtype, addr, NULL); + } val = allocate_value (valtype); CHECK_TYPEDEF (valtype);