[llvm] r257288 - [ADT] Unbreak PointerEmbeddedInt build with MSVC.
Benjamin Kramer via llvm-commits
llvm-commits at lists.llvm.org
Sun Jan 10 06:06:31 PST 2016
Author: d0k
Date: Sun Jan 10 08:06:29 2016
New Revision: 257288
URL: http://llvm.org/viewvc/llvm-project?rev=257288&view=rev
Log:
[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.
Modified:
llvm/trunk/include/llvm/ADT/PointerEmbeddedInt.h
Modified: llvm/trunk/include/llvm/ADT/PointerEmbeddedInt.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/PointerEmbeddedInt.h?rev=257288&r1=257287&r2=257288&view=diff
==============================================================================
--- llvm/trunk/include/llvm/ADT/PointerEmbeddedInt.h (original)
+++ llvm/trunk/include/llvm/ADT/PointerEmbeddedInt.h Sun Jan 10 08:06:29 2016
@@ -30,13 +30,13 @@ template <typename IntT, int Bits = size
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<uintptr_t>(-1) << Bits
More information about the llvm-commits
mailing list