TableGen: Use 'enum : uint64_t' for feature flags to fix -Wmicrosoft
authorReid Kleckner <reid@kleckner.net>
Mon, 9 Mar 2015 20:23:14 +0000 (20:23 +0000)
committerReid Kleckner <reid@kleckner.net>
Mon, 9 Mar 2015 20:23:14 +0000 (20:23 +0000)
commitfe8490c22eb702efb8eed854e52a8709243cfb6a
tree69fa86b816fc076c595880fb6c2fd0e947560769
parent5e261ee7b00d5e22acf7635e2044186c67dc3692
TableGen: Use 'enum : uint64_t' for feature flags to fix -Wmicrosoft

clang-cl would warn that this value is not representable in 'int':
  enum { FeatureX = 1ULL << 31 };
All MS enums are 'ints' unless otherwise specified, so we have to use an
explicit type.  The AMDGPU target just hit 32 features, triggering this
warning.

Now that we have C++11 strong enum types, we can also eliminate the
'const uint64_t' codepath from tablegen and just use 'enum : uint64_t'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231697 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.h
lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h
lib/Target/R600/MCTargetDesc/AMDGPUMCTargetDesc.h
lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.h
utils/TableGen/SubtargetEmitter.cpp