From: Benjamin Kramer Date: Sun, 10 Jan 2016 14:06:29 +0000 (+0000) Subject: [ADT] Unbreak PointerEmbeddedInt build with MSVC. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7eac64ccedd13b9f0512e4e49a07a34ab946704b;p=oota-llvm.git [ADT] Unbreak PointerEmbeddedInt build with MSVC. MSVC seems to have problems looking up Value inside of the template. Not really sure whether that's a bug there or Clang and GCC being too permissive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257288 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ADT/PointerEmbeddedInt.h b/include/llvm/ADT/PointerEmbeddedInt.h index 9386c42350b..5bd14c6173a 100644 --- a/include/llvm/ADT/PointerEmbeddedInt.h +++ b/include/llvm/ADT/PointerEmbeddedInt.h @@ -30,13 +30,13 @@ template class PointerEmbeddedInt { uintptr_t Value; - static_assert(Bits < sizeof(Value) * CHAR_BIT, + static_assert(Bits < sizeof(PointerEmbeddedInt::Value) * CHAR_BIT, "Cannot embed more bits than we have in a pointer!"); enum : uintptr_t { // We shift as many zeros into the value as we can while preserving the // number of bits desired for the integer. - Shift = sizeof(Value) * CHAR_BIT - Bits, + Shift = sizeof(PointerEmbeddedInt::Value) * CHAR_BIT - Bits, // We also want to be able to mask out the preserved bits for asserts. Mask = static_cast(-1) << Bits