summaryrefslogtreecommitdiffstats
path: root/src/readDwarf.cpp
diff options
context:
space:
mode:
authorRainer Schuetze <r.sagitario@gmx.de>2023-04-02 09:41:41 (GMT)
committerRainer Schuetze <r.sagitario@gmx.de>2023-04-02 09:41:41 (GMT)
commitda6546c45efdbf53f796192d1b65c5557d1f1882 (patch)
tree0cb68146fffe1667996e666b2f9c3576afe80098 /src/readDwarf.cpp
parent4d9596ce98097f817700948a90daa3e8b150ed9b (diff)
downloadcv2pdb-da6546c45efdbf53f796192d1b65c5557d1f1882.zip
cv2pdb-da6546c45efdbf53f796192d1b65c5557d1f1882.tar.gz
cv2pdb-da6546c45efdbf53f796192d1b65c5557d1f1882.tar.bz2
move mergeAbstractOrigin() and mergeSpecification() from readDwarf.cpp to dwarf2pdb.cpp, so they don't create a dependency for dumplines.exe
Diffstat (limited to 'src/readDwarf.cpp')
-rw-r--r--src/readDwarf.cpp48
1 files changed, 0 insertions, 48 deletions
diff --git a/src/readDwarf.cpp b/src/readDwarf.cpp
index 6562980..e6f187c 100644
--- a/src/readDwarf.cpp
+++ b/src/readDwarf.cpp
@@ -363,54 +363,6 @@ Location decodeLocation(const DWARF_Attribute& attr, const Location* frameBase,
return stack[0];
}
-// Find the source of an inlined function by following its 'abstract_origin'
-// attribute references and recursively merge it into 'id'.
-// TODO: this description isn't quite right. See section 3.3.8.1 in DWARF 4 spec.
-void mergeAbstractOrigin(DWARF_InfoData& id, const CV2PDB& context)
-{
- DWARF_InfoData* abstractOrigin = context.findEntryByPtr(id.abstract_origin);
- if (!abstractOrigin) {
- // Could not find abstract origin. Why not?
- assert(false);
- return;
- }
-
- // assert seems invalid, combination DW_TAG_member and DW_TAG_variable found
- // in the wild.
- //
- // assert(id.tag == idspec.tag);
-
- if (abstractOrigin->abstract_origin)
- mergeAbstractOrigin(*abstractOrigin, context);
- if (abstractOrigin->specification)
- mergeSpecification(*abstractOrigin, context);
- id.merge(*abstractOrigin);
-}
-
-// Find the declaration entry for a definition by following its 'specification'
-// attribute references and merge it into 'id'.
-void mergeSpecification(DWARF_InfoData& id, const CV2PDB& context)
-{
- DWARF_InfoData* idspec = context.findEntryByPtr(id.specification);
- if (!idspec) {
- // Could not find decl for this definition. Why not?
- assert(false);
- return;
- }
-
- // assert seems invalid, combination DW_TAG_member and DW_TAG_variable found
- // in the wild.
- //
- // assert(id.tag == idspec.tag);
-
- if (idspec->abstract_origin)
- mergeAbstractOrigin(*idspec, context);
- if (idspec->specification) {
- mergeSpecification(*idspec, context);
- }
- id.merge(*idspec);
-}
-
LOCCursor::LOCCursor(const DIECursor& parent, unsigned long off)
: parent(parent)
{