diff options
| -rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfWriter.cpp | 27 | 
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp index a53874dcd3..c1360a9432 100644 --- a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp @@ -2540,6 +2540,33 @@ private:    } +  /// RecordRegionStart - Indicate the start of a region. +  /// +  unsigned RecordRegionStart(GlobalVariable *V) { +    DbgScope *Scope = getOrCreateScope(V); +    unsigned ID = NextLabelID(); +    if (!Scope->getStartLabelID()) Scope->setStartLabelID(ID); +    return ID; +  } + +  /// RecordRegionEnd - Indicate the end of a region. +  /// +  unsigned RecordRegionEnd(GlobalVariable *V) { +    DbgScope *Scope = getOrCreateScope(V); +    unsigned ID = NextLabelID(); +    Scope->setEndLabelID(ID); +    return ID; +  } + +  /// RecordVariable - Indicate the declaration of  a local variable. +  /// +  void RecordVariable(GlobalVariable *GV, unsigned FrameIndex) { +    DbgScope *Scope = getOrCreateScope(GV); +    DIVariable *VD = new DIVariable(GV); +    DbgVariable *DV = new DbgVariable(VD, FrameIndex); +    Scope->AddVariable(DV); +  } +    /// getOrCreateScope - Returns the scope associated with the given descriptor.    ///    DbgScope *getOrCreateScope(GlobalVariable *V) {  | 
