diff options
Diffstat (limited to 'gdb/linespec.c')
-rw-r--r-- | gdb/linespec.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gdb/linespec.c b/gdb/linespec.c index d1bb4e3..5631fd3 100644 --- a/gdb/linespec.c +++ b/gdb/linespec.c @@ -1027,13 +1027,16 @@ decode_line_1 (char **argptr, int funfirstline, struct symtab *default_symtab, /* This is where we need to make sure that we have good defaults. We must guarantee that this section of code is never executed when we are called with just a function name, since - get_current_or_default_source_symtab_and_line uses + set_default_source_symtab_and_line uses select_source_symtab that calls us with such an argument */ if (s == 0 && default_symtab == 0) { - struct symtab_and_line cursal = - get_current_or_default_source_symtab_and_line (); + struct symtab_and_line cursal; + + /* Make sure we have at least a default source file. */ + set_default_source_symtab_and_line (); + cursal = get_current_source_symtab_and_line (); default_symtab = cursal.symtab; default_line = cursal.line; |