diff options
| author | Alexey Samsonov <vonosmas@gmail.com> | 2014-12-04 23:00:50 +0000 |
|---|---|---|
| committer | Alexey Samsonov <vonosmas@gmail.com> | 2014-12-04 23:00:50 +0000 |
| commit | 4c79708a34757b41ec378cb29524c0a0a23fd7ec (patch) | |
| tree | fc10e4c3013372585d2f418f5815e80422ac47a4 /llvm | |
| parent | da7e03f1bf107c7d86da1f864ffdefd310df5b85 (diff) | |
| download | bcm5719-llvm-4c79708a34757b41ec378cb29524c0a0a23fd7ec.tar.gz bcm5719-llvm-4c79708a34757b41ec378cb29524c0a0a23fd7ec.zip | |
Revert "Fix UBSan report in StringMap implementation."
This reverts commit r223402. Some bots fail with -Winvalid-offsetof
warning.
llvm-svn: 223407
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/llvm/ADT/StringMap.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/include/llvm/ADT/StringMap.h b/llvm/include/llvm/ADT/StringMap.h index 06afe842691..2feb2ab0074 100644 --- a/llvm/include/llvm/ADT/StringMap.h +++ b/llvm/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<char *>(&V) - offsetof(StringMapEntry, second); + StringMapEntry *EPtr = 0; + char *Ptr = reinterpret_cast<char*>(&V) - + (reinterpret_cast<char*>(&EPtr->second) - + reinterpret_cast<char*>(EPtr)); return *reinterpret_cast<StringMapEntry*>(Ptr); } static const StringMapEntry &GetStringMapEntryFromValue(const ValueTy &V) { |

