aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2013-10-22 20:28:55 +0000
committerDavid Blaikie <dblaikie@gmail.com>2013-10-22 20:28:55 +0000
commitc960816625ce47aea8368451b0025fbdcd15011a (patch)
treef79ad374ad47c349cb4193f55f3401311c0d283c
parent67fa53989a7bb05083966a694ad0c2e9b62ed683 (diff)
downloadexternal_llvm-c960816625ce47aea8368451b0025fbdcd15011a.zip
external_llvm-c960816625ce47aea8368451b0025fbdcd15011a.tar.gz
external_llvm-c960816625ce47aea8368451b0025fbdcd15011a.tar.bz2
DIEHashing: Provide an assert for unreachable functionality regarding friends.
Since (as of r190716) Clang no longer emits debug info for C++ friend declarations (and it seems GCC never has/does, which was the motivation for the Clang change), there's no actual reachable case for implementing the part of DWARF 4, Section 7.27 part 5 that pertains to friends. Leave an assert here so that if/when we do have a client producing friends and using type units, we can fill in the gap and add appropriate (unit and feature) tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193193 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/AsmPrinter/DIEHash.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/CodeGen/AsmPrinter/DIEHash.cpp b/lib/CodeGen/AsmPrinter/DIEHash.cpp
index 9a1f966..ea5cbad 100644
--- a/lib/CodeGen/AsmPrinter/DIEHash.cpp
+++ b/lib/CodeGen/AsmPrinter/DIEHash.cpp
@@ -200,6 +200,9 @@ void DIEHash::hashAttribute(AttrEntry Attr, dwarf::Tag Tag) {
if (const DIEEntry *EntryAttr = dyn_cast<DIEEntry>(Value)) {
DIE *Entry = EntryAttr->getEntry();
+ assert(Tag != dwarf::DW_TAG_friend && "No current LLVM clients emit friend "
+ "tags. Add support here when there's "
+ "a use case");
// Step 5
// If the tag in Step 3 is one of [the below tags]
if ((Tag == dwarf::DW_TAG_pointer_type ||