diff options
Diffstat (limited to 'gdb/frame.c')
-rw-r--r-- | gdb/frame.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gdb/frame.c b/gdb/frame.c index 36fb02f..c8b8d2e 100644 --- a/gdb/frame.c +++ b/gdb/frame.c @@ -1733,6 +1733,13 @@ get_current_frame (void) static frame_id selected_frame_id = null_frame_id; static int selected_frame_level = -1; +/* See frame.h. This definition should come before any definition of a static + frame_info_ptr, to ensure that frame_list is destroyed after any static + frame_info_ptr. This is necessary because the destructor of frame_info_ptr + uses frame_list. */ + +intrusive_list<frame_info_ptr> frame_info_ptr::frame_list; + /* The cached frame_info object pointing to the selected frame. Looked up on demand by get_selected_frame. */ static frame_info_ptr selected_frame; @@ -3275,10 +3282,6 @@ maintenance_print_frame_id (const char *args, int from_tty) /* See frame-info-ptr.h. */ -intrusive_list<frame_info_ptr> frame_info_ptr::frame_list; - -/* See frame-info-ptr.h. */ - frame_info_ptr::frame_info_ptr (struct frame_info *ptr) : m_ptr (ptr) { |