diff options
-rw-r--r-- | gdb/ChangeLog | 11 | ||||
-rw-r--r-- | gdb/dummy-frame.c | 2 | ||||
-rw-r--r-- | gdb/dummy-frame.h | 4 | ||||
-rw-r--r-- | gdb/infcall.c | 2 | ||||
-rw-r--r-- | gdb/infcall.h | 5 |
5 files changed, 19 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 082886e..6af4d26 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,14 @@ +2015-05-08 Jan Kratochvil <jan.kratochvil@redhat.com> + + * dummy-frame.c (struct dummy_frame): Use proper typedef for dtor. + * dummy-frame.h (dummy_frame_dtor_ftype): Add its comment. + * infcall.c (call_function_by_hand_dummy): Use proper typedef for + dummy_dtor parameter. + * infcall.h: Include dummy-frame.h. + (call_function_by_hand_dummy_dtor_ftype): Remove. + (call_function_by_hand_dummy): Use proper typedef for dummy_dtor + parameter. + 2015-05-13 Patrick Palka <patrick@parcs.ath.cx> PR gdb/17820 diff --git a/gdb/dummy-frame.c b/gdb/dummy-frame.c index 0fbbeb1..f193289 100644 --- a/gdb/dummy-frame.c +++ b/gdb/dummy-frame.c @@ -64,7 +64,7 @@ struct dummy_frame /* If non-NULL, a destructor that is run when this dummy frame is popped. */ - void (*dtor) (void *data); + dummy_frame_dtor_ftype *dtor; /* Arbitrary data that is passed to DTOR. */ void *dtor_data; diff --git a/gdb/dummy-frame.h b/gdb/dummy-frame.h index bdc406a..ffd3b0a 100644 --- a/gdb/dummy-frame.h +++ b/gdb/dummy-frame.h @@ -54,10 +54,12 @@ extern void dummy_frame_discard (struct frame_id dummy_id, ptid_t ptid); extern const struct frame_unwind dummy_frame_unwind; +/* Destructor for dummy_frame. DATA is supplied by registrant. */ +typedef void (dummy_frame_dtor_ftype) (void *data); + /* Call DTOR with DTOR_DATA when DUMMY_ID frame of thread PTID gets discarded. Dummy frame with DUMMY_ID must exist. There must be no other call of register_dummy_frame_dtor for that dummy frame. */ -typedef void (dummy_frame_dtor_ftype) (void *data); extern void register_dummy_frame_dtor (struct frame_id dummy_id, ptid_t ptid, dummy_frame_dtor_ftype *dtor, void *dtor_data); diff --git a/gdb/infcall.c b/gdb/infcall.c index 26c64f6..cef6b91 100644 --- a/gdb/infcall.c +++ b/gdb/infcall.c @@ -490,7 +490,7 @@ call_function_by_hand (struct value *function, int nargs, struct value **args) struct value * call_function_by_hand_dummy (struct value *function, int nargs, struct value **args, - call_function_by_hand_dummy_dtor_ftype *dummy_dtor, + dummy_frame_dtor_ftype *dummy_dtor, void *dummy_dtor_data) { CORE_ADDR sp; diff --git a/gdb/infcall.h b/gdb/infcall.h index d038b6a..77c5101 100644 --- a/gdb/infcall.h +++ b/gdb/infcall.h @@ -20,6 +20,8 @@ #ifndef INFCALL_H #define INFCALL_H +#include "dummy-frame.h" + struct value; struct type; @@ -42,11 +44,10 @@ extern struct value *call_function_by_hand (struct value *function, int nargs, register_dummy_frame_dtor with DUMMY_DTOR and DUMMY_DTOR_DATA for the created inferior call dummy frame. */ -typedef void (call_function_by_hand_dummy_dtor_ftype) (void *data); extern struct value * call_function_by_hand_dummy (struct value *function, int nargs, struct value **args, - call_function_by_hand_dummy_dtor_ftype *dummy_dtor, + dummy_frame_dtor_ftype *dummy_dtor, void *dummy_dtor_data); #endif |