aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog11
-rw-r--r--gdb/dummy-frame.c2
-rw-r--r--gdb/dummy-frame.h4
-rw-r--r--gdb/infcall.c2
-rw-r--r--gdb/infcall.h5
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