/* Functions for deciding which macros are currently in scope.
- Copyright (C) 2002, 2007, 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2007, 2008, 2009, 2010, 2011
+ Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GDB.
user_macro_scope (void)
{
struct macro_scope *ms;
+
ms = XNEW (struct macro_scope);
ms->file = macro_main (macro_user_macros);
ms->line = -1;
struct symtab_and_line sal;
struct macro_scope *ms;
struct frame_info *frame;
+ CORE_ADDR pc;
/* If there's a selected frame, use its PC. */
frame = deprecated_safe_get_selected_frame ();
- if (frame)
- sal = find_pc_line (get_frame_pc (frame), 0);
-
+ if (frame && get_frame_pc_if_available (frame, &pc))
+ sal = find_pc_line (pc, 0);
+
/* Fall back to the current listing position. */
else
{
return result;
}
+/* Provide a prototype to silence -Wmissing-prototypes. */
+extern initialize_file_ftype _initialize_macroscope;
void
_initialize_macroscope (void)