diff options
author | Bill Wendling <isanbard@gmail.com> | 2009-03-13 04:37:11 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2009-03-13 04:37:11 +0000 |
commit | c7a09ab3110b9462ad9646cb60c22c8527491ad9 (patch) | |
tree | db612124a57fb8f23dfadbf625ea75d22512bc18 /lib/CodeGen/AsmPrinter/DwarfWriter.cpp | |
parent | 77502c93442c5953c05e39fcd4c17d9e2aca766f (diff) |
Temporarily XFAIL this test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66866 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter/DwarfWriter.cpp')
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfWriter.cpp | 65 |
1 files changed, 25 insertions, 40 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp index 4120d9f917..7190b9269b 100644 --- a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp @@ -1619,14 +1619,12 @@ private: /// ConstructTypeDIE - Construct basic type die from DIBasicType. void ConstructTypeDIE(CompileUnit *DW_Unit, DIE &Buffer, DIBasicType BTy) { - // Get core information. - std::string Name; - BTy.getName(Name); + const char *Name = BTy.getName(); Buffer.setTag(DW_TAG_base_type); AddUInt(&Buffer, DW_AT_encoding, DW_FORM_data1, BTy.getEncoding()); // Add name if not anonymous or intermediate type. - if (!Name.empty()) + if (Name) AddString(&Buffer, DW_AT_name, DW_FORM_string, Name); uint64_t Size = BTy.getSizeInBits() >> 3; AddUInt(&Buffer, DW_AT_byte_size, 0, Size); @@ -1635,10 +1633,8 @@ private: /// ConstructTypeDIE - Construct derived type die from DIDerivedType. void ConstructTypeDIE(CompileUnit *DW_Unit, DIE &Buffer, DIDerivedType DTy) { - // Get core information. - std::string Name; - DTy.getName(Name); + const char *Name = DTy.getName(); uint64_t Size = DTy.getSizeInBits() >> 3; unsigned Tag = DTy.getTag(); @@ -1652,7 +1648,7 @@ private: AddType(DW_Unit, &Buffer, FromTy); // Add name if not anonymous or intermediate type. - if (!Name.empty()) + if (Name) AddString(&Buffer, DW_AT_name, DW_FORM_string, Name); // Add size if non-zero (derived types might be zero-sized.) @@ -1669,8 +1665,7 @@ private: void ConstructTypeDIE(CompileUnit *DW_Unit, DIE &Buffer, DICompositeType CTy) { // Get core information. - std::string Name; - CTy.getName(Name); + const char *Name = CTy.getName(); uint64_t Size = CTy.getSizeInBits() >> 3; unsigned Tag = CTy.getTag(); @@ -1746,7 +1741,7 @@ private: } // Add name if not anonymous or intermediate type. - if (!Name.empty()) + if (Name) AddString(&Buffer, DW_AT_name, DW_FORM_string, Name); if (Tag == DW_TAG_enumeration_type || Tag == DW_TAG_structure_type @@ -1811,8 +1806,7 @@ private: DIE *ConstructEnumTypeDIE(CompileUnit *DW_Unit, DIEnumerator *ETy) { DIE *Enumerator = new DIE(DW_TAG_enumerator); - std::string Name; - ETy->getName(Name); + const char *Name = ETy->getName(); AddString(Enumerator, DW_AT_name, DW_FORM_string, Name); int64_t Value = ETy->getEnumValue(); AddSInt(Enumerator, DW_AT_const_value, DW_FORM_sdata, Value); @@ -1823,12 +1817,10 @@ private: DIE *CreateGlobalVariableDIE(CompileUnit *DW_Unit, const DIGlobalVariable &GV) { DIE *GVDie = new DIE(DW_TAG_variable); - std::string Name; - GV.getDisplayName(Name); + const char *Name = GV.getDisplayName(); AddString(GVDie, DW_AT_name, DW_FORM_string, Name); - std::string LinkageName; - GV.getLinkageName(LinkageName); - if (!LinkageName.empty()) + const char *LinkageName = GV.getLinkageName(); + if (LinkageName) AddString(GVDie, DW_AT_MIPS_linkage_name, DW_FORM_string, LinkageName); AddType(DW_Unit, GVDie, GV.getType()); if (!GV.isLocalToUnit()) @@ -1840,9 +1832,8 @@ private: /// CreateMemberDIE - Create new member DIE. DIE *CreateMemberDIE(CompileUnit *DW_Unit, const DIDerivedType &DT) { DIE *MemberDie = new DIE(DT.getTag()); - std::string Name; - DT.getName(Name); - if (!Name.empty()) + const char *Name = DT.getName(); + if (Name) AddString(MemberDie, DW_AT_name, DW_FORM_string, Name); AddType(DW_Unit, MemberDie, DT.getTypeDerivedFrom()); @@ -1885,12 +1876,10 @@ private: const DISubprogram &SP, bool IsConstructor = false) { DIE *SPDie = new DIE(DW_TAG_subprogram); - std::string Name; - SP.getName(Name); + const char *Name = SP.getName(); AddString(SPDie, DW_AT_name, DW_FORM_string, Name); - std::string LinkageName; - SP.getLinkageName(LinkageName); - if (!LinkageName.empty()) + const char *LinkageName = SP.getLinkageName(); + if (LinkageName) AddString(SPDie, DW_AT_MIPS_linkage_name, DW_FORM_string, LinkageName); AddSourceLine(SPDie, &SP); @@ -1956,8 +1945,7 @@ private: // Define variable debug information entry. DIE *VariableDie = new DIE(Tag); - std::string Name; - VD.getName(Name); + const char *Name = VD.getName(); AddString(VariableDie, DW_AT_name, DW_FORM_string, Name); // Add source line info if available. @@ -2819,24 +2807,23 @@ private: void ConstructCompileUnit(GlobalVariable *GV) { DICompileUnit DIUnit(GV); - std::string Dir, FN, Prod; - unsigned ID = GetOrCreateSourceID(DIUnit.getDirectory(Dir), - DIUnit.getFilename(FN)); + const char *Dir = DIUnit.getDirectory(); + const char *FN = DIUnit.getFilename(); + unsigned ID = GetOrCreateSourceID(Dir, FN); DIE *Die = new DIE(DW_TAG_compile_unit); AddSectionOffset(Die, DW_AT_stmt_list, DW_FORM_data4, DWLabel("section_line", 0), DWLabel("section_line", 0), false); - AddString(Die, DW_AT_producer, DW_FORM_string, DIUnit.getProducer(Prod)); + AddString(Die, DW_AT_producer, DW_FORM_string, DIUnit.getProducer()); AddUInt(Die, DW_AT_language, DW_FORM_data1, DIUnit.getLanguage()); AddString(Die, DW_AT_name, DW_FORM_string, FN); - if (!Dir.empty()) + if (Dir) AddString(Die, DW_AT_comp_dir, DW_FORM_string, Dir); if (DIUnit.isOptimized()) AddUInt(Die, DW_AT_APPLE_optimized, DW_FORM_flag, 1); - std::string Flags; - DIUnit.getFlags(Flags); - if (!Flags.empty()) + const char *Flags = DIUnit.getFlags(); + if (Flags) AddString(Die, DW_AT_APPLE_flags, DW_FORM_string, Flags); unsigned RVer = DIUnit.getRunTimeVersion(); if (RVer) @@ -2895,8 +2882,7 @@ private: // Add to context owner. DW_Unit->getDie()->AddChild(VariableDie); // Expose as global. FIXME - need to check external flag. - std::string Name; - DW_Unit->AddGlobal(DI_GV.getName(Name), VariableDie); + DW_Unit->AddGlobal(DI_GV.getName(), VariableDie); return true; } @@ -2948,8 +2934,7 @@ private: // Add to context owner. Unit->getDie()->AddChild(SubprogramDie); // Expose as global. - std::string Name; - Unit->AddGlobal(SP.getName(Name), SubprogramDie); + Unit->AddGlobal(SP.getName(), SubprogramDie); return true; } |