From: Alexey Samsonov Date: Thu, 4 Dec 2014 23:00:50 +0000 (+0000) Subject: Revert "Fix UBSan report in StringMap implementation." X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=59d867405a689e72baa9d104efabf8911526aea9;p=oota-llvm.git Revert "Fix UBSan report in StringMap implementation." This reverts commit r223402. Some bots fail with -Winvalid-offsetof warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223407 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ADT/StringMap.h b/include/llvm/ADT/StringMap.h index 06afe842691..2feb2ab0074 100644 --- a/include/llvm/ADT/StringMap.h +++ b/include/llvm/ADT/StringMap.h @@ -182,7 +182,10 @@ public: /// GetStringMapEntryFromValue - Given a value that is known to be embedded /// into a StringMapEntry, return the StringMapEntry itself. static StringMapEntry &GetStringMapEntryFromValue(ValueTy &V) { - char *Ptr = reinterpret_cast(&V) - offsetof(StringMapEntry, second); + StringMapEntry *EPtr = 0; + char *Ptr = reinterpret_cast(&V) - + (reinterpret_cast(&EPtr->second) - + reinterpret_cast(EPtr)); return *reinterpret_cast(Ptr); } static const StringMapEntry &GetStringMapEntryFromValue(const ValueTy &V) {