aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Analysis/DebugInfo.h2
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfWriter.cpp11
2 files changed, 12 insertions, 1 deletions
diff --git a/include/llvm/Analysis/DebugInfo.h b/include/llvm/Analysis/DebugInfo.h
index fac86b3e01..c97cb2616f 100644
--- a/include/llvm/Analysis/DebugInfo.h
+++ b/include/llvm/Analysis/DebugInfo.h
@@ -126,7 +126,7 @@ namespace llvm {
explicit DIEnumerator(GlobalVariable *GV = 0);
std::string getName() const { return getStringField(1); }
- uint64_t getLanguage() const { return getUInt64Field(2); }
+ uint64_t getEnumValue() const { return getUInt64Field(2); }
};
/// DIType - This is a wrapper for a type.
diff --git a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
index af41982225..3176c38141 100644
--- a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
@@ -1579,6 +1579,17 @@ private:
}
}
+ /// ConstructEnumTypeDIE - Construct enum type DIE from
+ /// DIEnumerator.
+ void ConstructEnumType(CompileUnit *DW_Unit,
+ DIE &Buffer, DIEnumerator *ETy) {
+
+ DIE *Enumerator = new DIE(DW_TAG_enumerator);
+ AddString(Enumerator, DW_AT_name, DW_FORM_string, ETy->getName());
+ int64_t Value = ETy->getEnumValue();
+ AddSInt(Enumerator, DW_AT_const_value, DW_FORM_sdata, Value);
+ Buffer.AddChild(Enumerator);
+ }
/// ConstructType - Adds all the required attributes to the type.
///