X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fvalops.c;h=f6c83ac17e3364557a8deb8e0e4e0e23a6c19bf1;hb=4183d8120459822e219461c82c295e7571eee4f5;hp=90ad7ba4936877a5f8fb8a6cc60119d59d54d59c;hpb=1bf6d5cced30fb7670ad45b0b51a2ea77ec3dc4b;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/valops.c b/gdb/valops.c index 90ad7ba493..f6c83ac17e 100644 --- a/gdb/valops.c +++ b/gdb/valops.c @@ -1654,16 +1654,11 @@ You must use a pointer to function type variable. Command ignored.", arg_name); } /* Store the address at which the structure is supposed to be - written. Note that this (and the code which reserved the space - above) assumes that gcc was used to compile this function. Since - it doesn't cost us anything but space and if the function is pcc - it will ignore this value, we will make that assumption. - - Also note that on some machines (like the sparc) pcc uses a - convention like gcc's. */ - - if (struct_return) - STORE_STRUCT_RETURN (struct_addr, sp); + written. */ + /* NOTE: 2003-03-24: Since PUSH_ARGUMENTS can (and typically does) + store the struct return address, this call is entirely redundant. */ + if (struct_return && DEPRECATED_STORE_STRUCT_RETURN_P ()) + DEPRECATED_STORE_STRUCT_RETURN (struct_addr, sp); /* Write the stack pointer. This is here because the statements above might fool with it. On SPARC, this write also stores the register