gdb/
[deliverable/binutils-gdb.git] / gdb / dummy-frame.h
index b299b6dd9c800fc46150d2400b3bdd321de85c3c..dd14a7b7a7e32aa42f0ea77e208d68be51c5ca5c 100644 (file)
@@ -1,6 +1,7 @@
 /* Code dealing with dummy stack frames, for GDB, the GNU debugger.
 
-   Copyright (C) 2002, 2004, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2007, 2008, 2009, 2010, 2011
+   Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 #if !defined (DUMMY_FRAME_H)
 #define DUMMY_FRAME_H 1
 
-struct frame_info;
-struct regcache;
+#include "frame.h"
+
+struct infcall_suspend_state;
 struct frame_unwind;
-struct frame_id;
 
 /* Push the information needed to identify, and unwind from, a dummy
    frame onto the dummy frame stack.  */
@@ -38,12 +39,23 @@ struct frame_id;
    be expanded so that it knowns the lower/upper extent of the dummy
    frame's code.  */
 
-extern void dummy_frame_push (struct regcache *regcache,
-                             const struct frame_id *dummy_id);
+extern void dummy_frame_push (struct infcall_suspend_state *caller_state,
+                              const struct frame_id *dummy_id);
+
+/* Pop the dummy frame DUMMY_ID, restoring program state to that before the
+   frame was created.
+   On return reinit_frame_cache has been called.
+   If the frame isn't found, flag an internal error.
+
+   NOTE: This can only pop the one frame, even if it is in the middle of the
+   stack, because the other frames may be for different threads, and there's
+   currently no way to tell which stack frame is for which thread.  */
+
+extern void dummy_frame_pop (struct frame_id dummy_id);
 
 /* If the PC falls in a dummy frame, return a dummy frame
    unwinder.  */
 
-extern const struct frame_unwind *const dummy_frame_unwind;
+extern const struct frame_unwind dummy_frame_unwind;
 
 #endif /* !defined (DUMMY_FRAME_H)  */
This page took 0.026192 seconds and 4 git commands to generate.