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)
commit294fa7aa9dedc25450bfba4a9aff6d267c9d19b6
treee3a72d826d044345dbcf7f6a06003d8b0631844e
parent7bd1f7cb585fc66c65120d114abc02b91156398f
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'.

llvm-svn: 231697
llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.h
llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h
llvm/lib/Target/R600/MCTargetDesc/AMDGPUMCTargetDesc.h
llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.h
llvm/utils/TableGen/SubtargetEmitter.cpp