aboutsummaryrefslogtreecommitdiff
path: root/gdb/linespec.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/linespec.c')
-rw-r--r--gdb/linespec.c9
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;