Apparently GCC targeting Windows breaks bitfields on static data members:
struct Foo {
unsigned X : 16;
static const int M = 42;
unsigned Y : 16;
};
static_assert(sizeof(Foo) == 4, "asdf"); // fails
Who knew.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290700
91177308-0d34-0410-b5e6-
96231b3b80d8
}
Type *ValueType;
+
+ static const unsigned GlobalValueSubClassDataBits = 18;
+
// All bitfields use unsigned as the underlying type so that MSVC will pack
// them.
unsigned Linkage : 4; // The linkage of this global
/// Function::intrinsicID() returns Intrinsic::not_intrinsic.
unsigned HasLLVMReservedName : 1;
- static const unsigned GlobalValueSubClassDataBits = 18;
-
private:
friend class Constant;