* symtab.c (decode_line_1): If SKIP_PROLOGUE leaves us in

mid-line, be more careful about possibly advancing to the next line.
This commit is contained in:
John Gilmore 1991-12-06 09:22:33 +00:00
parent 1cca172985
commit 7b2a87cab2
3 changed files with 15 additions and 2 deletions

View file

@ -1,3 +1,8 @@
Thu Dec 5 21:53:21 1991 John Gilmore (gnu at cygnus.com)
* symtab.c (decode_line_1): If SKIP_PROLOGUE leaves us in
mid-line, be more careful about possibly advancing to the next line.
Thu Dec 5 18:59:51 1991 Michael Tiemann (tiemann at cygnus.com)
* cplus-dem.c (cplus_demangle): Call `string_need' when

View file

@ -1,4 +1,3 @@
/* DWARF debugging format support for GDB.
Copyright (C) 1991 Free Software Foundation, Inc.
Written by Fred Fish at Cygnus Support, portions based on dbxread.c,

View file

@ -2114,7 +2114,16 @@ decode_line_1 (argptr, funfirstline, default_symtab, default_line)
/* Convex: no need to suppress code on first line, if any */
val.pc = pc;
#else
val.pc = (val.end && val.pc != pc) ? val.end : pc;
/* If SKIP_PROLOGUE left us in mid-line, and the next line is still
part of the same function:
advance to next line,
recalculate its line number (might not be N+1). */
if (val.pc != pc && val.end &&
find_pc_misc_function (pc) == find_pc_misc_function (val.end)) {
pc = val.end; /* First pc of next line */
val = find_pc_line (pc, 0);
}
val.pc = pc;
#endif
values.sals = (struct symtab_and_line *)xmalloc (sizeof (struct symtab_and_line));
values.sals[0] = val;