================ @@ -1170,10 +1171,41 @@ class CommandObjectSourceList : public CommandObjectParsed { if (m_options.num_lines == 0) m_options.num_lines = 10; const uint32_t column = 0; + + // Headers aren't always in the DWARF but if they have + // executable code (eg., inlined-functions) then the callsite's + // file(s) will be found. So if a header was requested and we got a + // primary file (ie., something with a different name), then look thru + // its support file(s) for the header. + lldb::SupportFileSP found_file_sp = + sc.comp_unit->GetPrimarySupportFile(); + + if (!llvm::StringRef(found_file_sp->GetSpecOnly().GetPath()) + .ends_with(filename)) { + int support_matches_count = 0; + for (auto &file : sc.comp_unit->GetSupportFiles()) { + if (llvm::StringRef(file->GetSpecOnly().GetPath()) + .ends_with(filename)) { + found_file_sp = file; + ++support_matches_count; + } + } + if (support_matches_count == 0) { + result.AppendErrorWithFormat( + "No file found for requested header: \"%s.\"\n", filename); ---------------- oontvoo wrote:
done https://github.com/llvm/llvm-project/pull/139002 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits