From: Chris Lattner Date: Wed, 24 Mar 2010 00:53:27 +0000 (+0000) Subject: Add a method to get a StringMapEntry from a pointer to the string X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8ee076961219c9066b651ff686c450d92e81c27a;p=oota-llvm.git Add a method to get a StringMapEntry from a pointer to the string data it contains (similar to GetStringMapEntryFromValue). Patch by Greg Clayton! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99371 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ADT/StringMap.h b/include/llvm/ADT/StringMap.h index 86e8546adca..482193859b6 100644 --- a/include/llvm/ADT/StringMap.h +++ b/include/llvm/ADT/StringMap.h @@ -216,6 +216,14 @@ public: static const StringMapEntry &GetStringMapEntryFromValue(const ValueTy &V) { return GetStringMapEntryFromValue(const_cast(V)); } + + /// GetStringMapEntryFromKeyData - Given key data that is known to be embedded + /// into a StringMapEntry, return the StringMapEntry itself. + static StringMapEntry &GetStringMapEntryFromKeyData(const char *KeyData) { + char *Ptr = const_cast(KeyData) - sizeof(StringMapEntry); + return *reinterpret_cast(Ptr); + } + /// Destroy - Destroy this StringMapEntry, releasing memory back to the /// specified allocator.