From c960816625ce47aea8368451b0025fbdcd15011a Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Tue, 22 Oct 2013 20:28:55 +0000 Subject: [PATCH] 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 --- lib/CodeGen/AsmPrinter/DIEHash.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/CodeGen/AsmPrinter/DIEHash.cpp b/lib/CodeGen/AsmPrinter/DIEHash.cpp index 9a1f966c8d0..ea5cbad346a 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(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 ||