Revert "D11003: Tolerate DWARF compile unit without filename."
authorPavel Labath <pavel@labath.sk>
Wed, 29 May 2019 11:28:35 +0000 (11:28 +0000)
committerPavel Labath <pavel@labath.sk>
Wed, 29 May 2019 11:28:35 +0000 (11:28 +0000)
Summary:
This code is modifying a support file list after it has been created.
This makes it hard to share the file list between type units and
compile units in DWARF. It's not a total showstopper, but supporting
this while also sharing the lists would make things more complicated.

Given that this was added to support a project which never fully
materialised, and that even back then there were some concerns about the
correctness of this approach (according to D11003#200772 the compile
unit name is not guaranteed to be the first one in the support file
list), I think we should just delete this workaround.

Reviewers: clayborg, tberghammer, dsrbecky

Subscribers: aprantl, lldb-commits

Differential Revision: https://reviews.llvm.org/D62517

llvm-svn: 361948

lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp

index 1b0a572..0ae204e 100644 (file)
@@ -689,19 +689,6 @@ lldb::CompUnitSP SymbolFileDWARF::ParseCompileUnit(DWARFUnit *dwarf_cu) {
                 module_sp, dwarf_cu, cu_file_spec, dwarf_cu->GetID(),
                 cu_language, is_optimized ? eLazyBoolYes : eLazyBoolNo);
 
-            // If we just created a compile unit with an invalid file spec,
-            // try and get the first entry in the supports files from the
-            // line table as that should be the compile unit.
-            if (!cu_file_spec) {
-              cu_file_spec = cu_sp->GetSupportFiles().GetFileSpecAtIndex(1);
-              if (cu_file_spec) {
-                (FileSpec &)(*cu_sp) = cu_file_spec;
-                // Also fix the invalid file spec which was copied from the
-                // compile unit.
-                cu_sp->GetSupportFiles().Replace(0, cu_file_spec);
-              }
-            }
-
             dwarf_cu->SetUserData(cu_sp.get());
 
             m_obj_file->GetModule()->GetSymbolVendor()->SetCompileUnitAtIndex(