summaryrefslogtreecommitdiff
path: root/gdb/stack.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2002-11-29 01:52:02 +0000
committerAndrew Cagney <cagney@redhat.com>2002-11-29 01:52:02 +0000
commitf5571a4b8e031da6f9bc6b142025814bb655bf3a (patch)
tree0addda845379808c60c47c7e3bb4c3992e9e6cfc /gdb/stack.c
parentb4238a4e2a225b9605f78377b24e0ba4314c3585 (diff)
downloadgdb-f5571a4b8e031da6f9bc6b142025814bb655bf3a.tar.gz
2002-11-28 Andrew Cagney <ac131313@redhat.com>
* frame.c (pc_notcurrent): New function. (find_frame_sal): New function. * frame.h (find_frame_sal): Declare. (struct symtab_and_line): Add opaque declaration. * stack.c (print_frame_info_base): Use find_pc_line instead of find_frame_sal. (frame_info): Ditto. * ada-lang.c (find_printable_frame): Ditto. Index: tui/ChangeLog 2002-11-28 Andrew Cagney <ac131313@redhat.com> * tuiStack.c (tuiShowFrameInfo): Use find_frame_sal instead of find_pc_line.
Diffstat (limited to 'gdb/stack.c')
-rw-r--r--gdb/stack.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/gdb/stack.c b/gdb/stack.c
index effa18c49e8..999de6fde4c 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -356,11 +356,7 @@ print_frame_info_base (struct frame_info *fi, int level, int source, int args)
frame is a SIGTRAMP_FRAME or a DUMMY_FRAME, then the next frame
was not entered as the result of a call, and we want to get the
line containing fi->pc. */
- sal =
- find_pc_line (fi->pc,
- fi->next != NULL
- && !(get_frame_type (fi->next) == SIGTRAMP_FRAME)
- && !(get_frame_type (fi->next) == DUMMY_FRAME));
+ find_frame_sal (fi, &sal);
location_print = (source == LOCATION
|| source == LOC_AND_ADDRESS
@@ -757,11 +753,10 @@ frame_info (char *addr_exp, int from_tty)
if (fi == NULL)
error ("Invalid frame specified.");
- sal = find_pc_line (fi->pc,
- fi->next != NULL
- && !(get_frame_type (fi->next) == SIGTRAMP_FRAME)
- && !(get_frame_type (fi->next) == DUMMY_FRAME));
+ find_frame_sal (fi, &sal);
func = get_frame_function (fi);
+ /* FIXME: cagney/2002-11-28: Why bother? Won't sal.symtab contain
+ the same value. */
s = find_pc_symtab (fi->pc);
if (func)
{
@@ -858,7 +853,8 @@ frame_info (char *addr_exp, int from_tty)
if (fi->next || calling_frame_info)
puts_filtered ("\n");
if (s)
- printf_filtered (" source language %s.\n", language_str (s->language));
+ printf_filtered (" source language %s.\n",
+ language_str (s->language));
#ifdef PRINT_EXTRA_FRAME_INFO
PRINT_EXTRA_FRAME_INFO (fi);