From f156e33b31b33e3b5b1b3ba506b8060d1084fbf5 Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Fri, 12 Oct 2007 15:31:42 +0000 Subject: [PATCH] * infcall.c (call_function_by_hand): Remove special handling for HP aCC compiled code. --- gdb/ChangeLog | 5 +++++ gdb/infcall.c | 38 -------------------------------------- 2 files changed, 5 insertions(+), 38 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 76e3fa10eb..3bc050a5c4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2007-10-12 Ulrich Weigand + + * infcall.c (call_function_by_hand): Remove special handling + for HP aCC compiled code. + 2007-10-12 Ulrich Weigand * cris-tdep.c (cris_push_dummy_call): Support arguments passed by diff --git a/gdb/infcall.c b/gdb/infcall.c index fe9b168176..21557964a6 100644 --- a/gdb/infcall.c +++ b/gdb/infcall.c @@ -583,44 +583,6 @@ call_function_by_hand (struct value *function, int nargs, struct value **args) if (param_type != NULL && language_pass_by_reference (param_type)) args[i] = value_addr (args[i]); - - /* elz: this code is to handle the case in which the function - to be called has a pointer to function as parameter and the - corresponding actual argument is the address of a function - and not a pointer to function variable. In aCC compiled - code, the calls through pointers to functions (in the body - of the function called by hand) are made via - $$dyncall_external which requires some registers setting, - this is taken care of if we call via a function pointer - variable, but not via a function address. In cc this is - not a problem. */ - - if (using_gcc == 0) - { - if (param_type != NULL && TYPE_CODE (ftype) != TYPE_CODE_METHOD) - { - /* if this parameter is a pointer to function. */ - if (TYPE_CODE (param_type) == TYPE_CODE_PTR) - if (TYPE_CODE (TYPE_TARGET_TYPE (param_type)) == TYPE_CODE_FUNC) - /* elz: FIXME here should go the test about the - compiler used to compile the target. We want to - issue the error message only if the compiler - used was HP's aCC. If we used HP's cc, then - there is no problem and no need to return at - this point. */ - /* Go see if the actual parameter is a variable of - type pointer to function or just a function. */ - if (VALUE_LVAL (args[i]) == not_lval) - { - char *arg_name; - /* NOTE: cagney/2005-01-02: THIS IS BOGUS. */ - if (find_pc_partial_function ((CORE_ADDR) value_contents (args[i])[0], &arg_name, NULL, NULL)) - error (_("\ -You cannot use function <%s> as argument. \n\ -You must use a pointer to function type variable. Command ignored."), arg_name); - } - } - } } }