aboutsummaryrefslogtreecommitdiff
path: root/gdb/stack.c
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2008-09-11 14:23:51 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2008-09-11 14:23:51 +0000
commit5ed92fa89a78886c28ecf48a5debdd6a1513bdbf (patch)
tree03611b078d6603cec33b0177744b162e7286f7f6 /gdb/stack.c
parent0dfff4cba79b63947da409e72b2863b160a6233a (diff)
downloadgdb-5ed92fa89a78886c28ecf48a5debdd6a1513bdbf.zip
gdb-5ed92fa89a78886c28ecf48a5debdd6a1513bdbf.tar.gz
gdb-5ed92fa89a78886c28ecf48a5debdd6a1513bdbf.tar.bz2
* stack.c (return_command): Use frame architecture to determine
default integer return type. * f-valprint.c (f77_get_dynamic_lowerbound): Use frame architecture to determine pointer types. (f77_get_dynamic_upperbound): Likewise. * objc-lang.c (OBJC_FETCH_POINTER_ARGUMENT): Remove. (resolve_msgsend): Use architecture of current frame to determine pointer types. Inline OBJC_FETCH_POINTER_ARGUMENT. (resolve_msgsend_stret, resolve_msgsend_super, resolve_msgsend_super_stret): Likewise.
Diffstat (limited to 'gdb/stack.c')
-rw-r--r--gdb/stack.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gdb/stack.c b/gdb/stack.c
index 61c799d..1725dc6 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -1780,11 +1780,13 @@ down_command (char *count_exp, int from_tty)
void
return_command (char *retval_exp, int from_tty)
{
+ struct frame_info *thisframe;
struct symbol *thisfun;
struct value *return_value = NULL;
const char *query_prefix = "";
- thisfun = get_frame_function (get_selected_frame ("No selected frame."));
+ thisframe = get_selected_frame ("No selected frame.");
+ thisfun = get_frame_function (thisframe);
/* Compute the return value. If the computation triggers an error,
let it bail. If the return type can't be handled, set
@@ -1803,7 +1805,7 @@ return_command (char *retval_exp, int from_tty)
if (thisfun != NULL)
return_type = TYPE_TARGET_TYPE (SYMBOL_TYPE (thisfun));
if (return_type == NULL)
- return_type = builtin_type_int;
+ return_type = builtin_type (get_frame_arch (thisframe))->builtin_int;
CHECK_TYPEDEF (return_type);
return_value = value_cast (return_type, return_value);