diff options
author | David Blaikie <dblaikie@gmail.com> | 2013-09-20 00:33:15 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2013-09-20 00:33:15 +0000 |
commit | ac3f016599ac50a4777b0348c43892c041ef489b (patch) | |
tree | 8f9e4640de972fee884bbacce3f5831bb1989da9 /lib | |
parent | c2286720de4f665dc2750d54c3748d331f81e105 (diff) | |
download | external_llvm-ac3f016599ac50a4777b0348c43892c041ef489b.zip external_llvm-ac3f016599ac50a4777b0348c43892c041ef489b.tar.gz external_llvm-ac3f016599ac50a4777b0348c43892c041ef489b.tar.bz2 |
DebugInfo: GDBIndexEntry*String conversion functions now return const char* for easy llvm::formating
This was previously invoking UB by passing a user-defined type to
format. Thanks to Jordan Rose for pointing this out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191060 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 4 | ||||
-rw-r--r-- | lib/Support/Dwarf.cpp | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index f45e2f2..76d63c7 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -2426,7 +2426,7 @@ void DwarfDebug::emitDebugPubNames(bool GnuStyle) { if (GnuStyle) { dwarf::PubIndexEntryDescriptor Desc = computeIndexValue(TheCU, Entity); Asm->OutStreamer.AddComment( - "Kind: " + dwarf::GDBIndexEntryKindString(Desc.Kind) + ", " + + Twine("Kind: ") + dwarf::GDBIndexEntryKindString(Desc.Kind) + ", " + dwarf::GDBIndexEntryLinkageString(Desc.Linkage)); Asm->EmitInt8(Desc.toBits()); } @@ -2488,7 +2488,7 @@ void DwarfDebug::emitDebugPubTypes(bool GnuStyle) { if (GnuStyle) { dwarf::PubIndexEntryDescriptor Desc = computeIndexValue(TheCU, Entity); Asm->OutStreamer.AddComment( - "Kind: " + dwarf::GDBIndexEntryKindString(Desc.Kind) + ", " + + Twine("Kind: ") + dwarf::GDBIndexEntryKindString(Desc.Kind) + ", " + dwarf::GDBIndexEntryLinkageString(Desc.Linkage)); Asm->EmitInt8(Desc.toBits()); } diff --git a/lib/Support/Dwarf.cpp b/lib/Support/Dwarf.cpp index 0e64035..f499345 100644 --- a/lib/Support/Dwarf.cpp +++ b/lib/Support/Dwarf.cpp @@ -742,7 +742,7 @@ const char *llvm::dwarf::AtomTypeString(unsigned AT) { return 0; } -StringRef llvm::dwarf::GDBIndexEntryKindString(GDBIndexEntryKind Kind) { +const char *llvm::dwarf::GDBIndexEntryKindString(GDBIndexEntryKind Kind) { switch (Kind) { case GIEK_NONE: return "NONE"; @@ -764,7 +764,7 @@ StringRef llvm::dwarf::GDBIndexEntryKindString(GDBIndexEntryKind Kind) { llvm_unreachable("Unknown GDBIndexEntryKind value"); } -StringRef llvm::dwarf::GDBIndexEntryLinkageString(GDBIndexEntryLinkage Linkage) { +const char *llvm::dwarf::GDBIndexEntryLinkageString(GDBIndexEntryLinkage Linkage) { switch (Linkage) { case GIEL_EXTERNAL: return "EXTERNAL"; |