aboutsummaryrefslogtreecommitdiff
path: root/gdb/infcall.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2006-09-10 15:44:36 +0000
committerDaniel Jacobowitz <drow@false.org>2006-09-10 15:44:36 +0000
commit4c8508101163caf4d851d20d96dca2d77635b382 (patch)
treef21fc9b4f0f7ff2ec3e937f3dc4265df9ee704d1 /gdb/infcall.c
parenta4697170c74a4b15f7f77910207d7ae4ccd6d39f (diff)
downloadgdb-4c8508101163caf4d851d20d96dca2d77635b382.zip
gdb-4c8508101163caf4d851d20d96dca2d77635b382.tar.gz
gdb-4c8508101163caf4d851d20d96dca2d77635b382.tar.bz2
* infcall.c (call_function_by_hand): Check for function pointer
types.
Diffstat (limited to 'gdb/infcall.c')
-rw-r--r--gdb/infcall.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gdb/infcall.c b/gdb/infcall.c
index 3a1ad6a..9f12896 100644
--- a/gdb/infcall.c
+++ b/gdb/infcall.c
@@ -336,6 +336,9 @@ call_function_by_hand (struct value *function, int nargs, struct value **args)
struct cleanup *caller_regcache_cleanup;
struct frame_id dummy_id;
+ if (TYPE_CODE (ftype) == TYPE_CODE_PTR)
+ ftype = check_typedef (TYPE_TARGET_TYPE (ftype));
+
if (!target_has_execution)
noprocess ();