[DWARF] Fix debug info generation for function static variables, typedefs, and records
[oota-llvm.git] / lib / CodeGen / AsmPrinter / DwarfDebug.h
index 1c3e2aec64ab549881584367dd29a78b38b99f49..3a583e71c4c7dbec180b79e1c5e76155762a50d2 100644 (file)
@@ -278,13 +278,10 @@ class DwarfDebug : public AsmPrinterHandler {
   // Holder for the file specific debug information.
   DwarfFile InfoHolder;
 
-  // Holders for the various debug information flags that we might need to
-  // have exposed. See accessor functions below for description.
-
-  // Holder for imported entities.
+  // Holder for local declaration DI nodes per scope.
   typedef SmallVector<std::pair<const MDNode *, const MDNode *>, 32>
-  ImportedEntityMap;
-  ImportedEntityMap ScopesWithImportedEntities;
+  LocalDeclMap;
+  LocalDeclMap ScopesWithLocalDeclNodes;
 
   // Map from MDNodes for user-defined types to the type units that describe
   // them.
@@ -619,10 +616,12 @@ public:
 
   const MachineFunction *getCurrentFunction() const { return CurFn; }
 
-  iterator_range<ImportedEntityMap::const_iterator>
-  findImportedEntitiesForScope(const MDNode *Scope) const {
+  typedef iterator_range<LocalDeclMap::const_iterator> LocalDeclMapRange;
+  
+  LocalDeclMapRange findLocalDeclNodesForScope(const MDNode *Scope) const {
+    assert(DILexicalBlockBase::classof(Scope) && "Expected LexicalBlock scope");
     return make_range(std::equal_range(
-        ScopesWithImportedEntities.begin(), ScopesWithImportedEntities.end(),
+        ScopesWithLocalDeclNodes.begin(), ScopesWithLocalDeclNodes.end(),
         std::pair<const MDNode *, const MDNode *>(Scope, nullptr),
         less_first()));
   }