diff --git a/include/llvm/Analysis/DebugInfo.h b/include/llvm/Analysis/DebugInfo.h index fac86b3e01d..c97cb2616f2 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 af419822255..3176c38141d 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. ///