aboutsummaryrefslogtreecommitdiff
path: root/gdb/source-cache.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/source-cache.c')
-rw-r--r--gdb/source-cache.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/source-cache.c b/gdb/source-cache.c
index 1ed2601..9211f09 100644
--- a/gdb/source-cache.c
+++ b/gdb/source-cache.c
@@ -200,6 +200,13 @@ source_cache::get_source_lines (struct symtab *s, int first_line,
std::ifstream input (fullname);
if (input.is_open ())
{
+ if (s->line_charpos == 0)
+ {
+ scoped_fd desc = open_source_file (s);
+ if (desc.get () < 0)
+ return false;
+ find_source_lines (s, desc.get ());
+ }
srchilite::SourceHighlight highlighter ("esc.outlang");
highlighter.setStyleFile("esc.style");