From c3b47b30ab9b12a7f25125b69319ba57d5a727db Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Fri, 10 Jul 2015 22:46:02 +0000 Subject: [PATCH] [IR] Switch static const to an enum to silence MSVC linker warnings Integral class statics are handled oddly in MSVC, we don't need them in this case, use an enum instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241958 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/IR/Value.h | 4 ++-- lib/IR/Value.cpp | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/include/llvm/IR/Value.h b/include/llvm/IR/Value.h index 484afc6d232..17a80c82d1b 100644 --- a/include/llvm/IR/Value.h +++ b/include/llvm/IR/Value.h @@ -104,8 +104,8 @@ protected: /// /// Note, this should *NOT* be used directly by any class other than User. /// User uses this value to find the Use list. - static const unsigned NumUserOperandsBits = 29; - unsigned NumUserOperands : 29; + enum : unsigned { NumUserOperandsBits = 29 }; + unsigned NumUserOperands : NumUserOperandsBits; bool IsUsedByMD : 1; bool HasName : 1; diff --git a/lib/IR/Value.cpp b/lib/IR/Value.cpp index 78d1adb5e70..f554d590284 100644 --- a/lib/IR/Value.cpp +++ b/lib/IR/Value.cpp @@ -39,8 +39,6 @@ using namespace llvm; //===----------------------------------------------------------------------===// // Value Class //===----------------------------------------------------------------------===// -const unsigned Value::NumUserOperandsBits; - static inline Type *checkType(Type *Ty) { assert(Ty && "Value defined with a null type: Error!"); return Ty; -- 2.34.1