summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 2434916)
raw | patch | inline | side by side (parent: 2434916)
author | Alp Toker <alp@nuanti.com> | |
Sun, 2 Mar 2014 03:20:38 +0000 (03:20 +0000) | ||
committer | Alp Toker <alp@nuanti.com> | |
Sun, 2 Mar 2014 03:20:38 +0000 (03:20 +0000) |
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202607 91177308-0d34-0410-b5e6-96231b3b80d8
15 files changed:
index 0cfd470003af79fc4af7de573cd4ed2f082f40c9..a5a684744b2b177cdd990ca50be3daf5a4f1982d 100644 (file)
typename PtrTraits = PointerLikeTypeTraits<PointerTy> >
class PointerIntPair {
intptr_t Value;
- enum LLVM_ENUM_INT_TYPE(uintptr_t) {
+ enum : uintptr_t {
/// PointerBitMask - The bits that come from the pointer.
PointerBitMask =
~(uintptr_t)(((intptr_t)1 << PtrTraits::NumLowBitsAvailable)-1),
index c49a9a7f569a9bf1a42bc2235f2079a07e89148b..4886e5c506f668cc657de20677e0983d7a35146d 100644 (file)
/// SUnit - Scheduling unit. This is a node in the scheduling DAG.
class SUnit {
private:
- enum LLVM_ENUM_INT_TYPE(unsigned) { BoundaryID = ~0u };
+ enum : unsigned { BoundaryID = ~0u };
SDNode *Node; // Representative node.
MachineInstr *Instr; // Alternatively, a MachineInstr.
index bb62492db8ed0ca830f2d78667d40ca7fa92a2ec..f240211a5499a20c53c161a9536d03f609e86fda 100644 (file)
/// index `1'.
class AttributeSet {
public:
- enum AttrIndex LLVM_ENUM_INT_TYPE(unsigned) {
+ enum AttrIndex : unsigned {
ReturnIndex = 0U,
FunctionIndex = ~0U
};
index 3398a83e365e1344b51b12257678a6c8bc3e09a1..652d3710e7a6d9cc98412e75efdea015b4a68fcc 100644 (file)
// These are helper methods for dealing with flags in the INLINEASM SDNode
// in the backend.
- enum LLVM_ENUM_INT_TYPE(uint32_t) {
+ enum : uint32_t {
// Fixed operands on an INLINEASM SDNode.
Op_InputChain = 0,
Op_AsmString = 1,
index 9659c2e05c38287d5ad15614dade62d31f09d5a6..2d272d3fcec5d5ecd85e26fcb58e04f90af31ea3 100644 (file)
class SymbolTableListTraits;
-enum LLVMConstants LLVM_ENUM_INT_TYPE(uint32_t) {
+enum LLVMConstants : uint32_t {
DEBUG_METADATA_VERSION = 1 // Current debug info version number.
};
index d7e88ea561247b66fddb0452ab88e6ccc75246ed..7a4eeac01fc7c6d4f31d40dac156468756ef7908 100644 (file)
/// These are the section type and attributes fields. A MachO section can
/// have only one Type, but can have any of the attributes specified.
- enum LLVM_ENUM_INT_TYPE(uint32_t) {
+ enum : uint32_t {
// TypeAndAttributes bitmasks.
SECTION_TYPE = 0x000000FFU,
SECTION_ATTRIBUTES = 0xFFFFFF00U,
index b3fbee77021d7c9b249a2d2b68e63eb9ae903226..9cf855bb8995b0b1b0db0fb3323f757494bfedd1 100644 (file)
unsigned Register; // gcc/gdb register number.
int Offset; // Displacement if not register.
public:
- enum LLVM_ENUM_INT_TYPE(uint32_t) {
+ enum : uint32_t {
// The target register number for an abstract frame pointer. The value is
// an arbitrary value that doesn't collide with any real target register.
VirtualFP = ~0U
index 69f128d2bc3e6387c94f865c891f06fd4eadcbb1..8b94c49359a0a8cd0b1a9763ada217192990d0d7 100644 (file)
public:
// FIXME: should we add a SF_Text?
- enum Flags LLVM_ENUM_INT_TYPE(unsigned) {
+ enum Flags : unsigned {
SF_None = 0,
SF_Undefined = 1U << 0, // Symbol is defined in another object file
SF_Global = 1U << 1, // Global symbol
index e99e36cc56f8e8f84a9ddeae27db0400b0539982..309b3df23cb8d057836529fbb853e8ea9b94d5ad 100644 (file)
uint32_t Characteristics;
};
- enum SectionCharacteristics LLVM_ENUM_INT_TYPE(uint32_t) {
+ enum SectionCharacteristics : uint32_t {
SC_Invalid = 0xffffffff,
IMAGE_SCN_TYPE_NO_PAD = 0x00000008,
index 2a3a1f46be97e2f7260410f9b570457a9e194cdc..153c2fd10f09def127fffd6a75fd4934b3ad2160 100644 (file)
# define LLVM_STATIC_ASSERT(expr, msg)
#endif
-/// \macro LLVM_ENUM_INT_TYPE
-/// \brief Expands to colon followed by the given integral type on compilers
-/// which support C++11 strong enums. This can be used to make enums unsigned
-/// with MSVC.
-#if __has_feature(cxx_strong_enums) || LLVM_MSC_PREREQ(1600)
-# define LLVM_ENUM_INT_TYPE(intty) : intty
-#else
-# define LLVM_ENUM_INT_TYPE(intty)
-#endif
-
-/// \brief Does the compiler support C++11 semantics for strongly typed forward
-/// declared enums?
-#if __has_feature(cxx_strong_enums) || LLVM_MSC_PREREQ(1700)
-#define LLVM_HAS_STRONG_ENUMS 1
-#else
-#define LLVM_HAS_STRONG_ENUMS 0
-#endif
-
/// \brief Does the compiler support generalized initializers (using braced
/// lists and std::initializer_list). While clang may claim it supports general
/// initializers, if we're using MSVC's headers, we might not have a usable
index 7086df1dd3c3a467775efd0142374178c427aa24..7d434dcb12da4717060402ca6aa3a62bb586b4b4 100644 (file)
//===----------------------------------------------------------------------===//
// Debug info constants.
-enum LLVM_ENUM_INT_TYPE(uint32_t) {
+enum : uint32_t {
LLVMDebugVersion = (12 << 16), // Current version of debug information.
LLVMDebugVersion11 = (11 << 16), // Constant for version 11.
LLVMDebugVersion10 = (10 << 16), // Constant for version 10.
// Do not mix the following two enumerations sets. DW_TAG_invalid changes the
// enumeration base type.
-enum LLVMConstants LLVM_ENUM_INT_TYPE(uint32_t) {
+enum LLVMConstants : uint32_t {
// llvm mock tags
DW_TAG_invalid = ~0U, // Tag for invalid results.
const uint32_t DW_CIE_ID = UINT32_MAX;
const uint64_t DW64_CIE_ID = UINT64_MAX;
-enum Tag LLVM_ENUM_INT_TYPE(uint16_t) {
+enum Tag : uint16_t {
DW_TAG_array_type = 0x01,
DW_TAG_class_type = 0x02,
DW_TAG_entry_point = 0x03,
}
}
-enum Attribute LLVM_ENUM_INT_TYPE(uint16_t) {
+enum Attribute : uint16_t {
// Attributes
DW_AT_sibling = 0x01,
DW_AT_location = 0x02,
DW_AT_APPLE_property = 0x3fed
};
-enum Form LLVM_ENUM_INT_TYPE(uint16_t) {
+enum Form : uint16_t {
// Attribute form encodings
DW_FORM_addr = 0x01,
DW_FORM_block2 = 0x03,
index 56769faf2a5300c97389081555548442f2c02bf7..49112ca76fb01d34e84c3480132e0e7d0cefa6f2 100644 (file)
};
// ARM Specific e_flags
-enum LLVM_ENUM_INT_TYPE(unsigned) {
+enum : unsigned {
EF_ARM_SOFT_FLOAT = 0x00000200U,
EF_ARM_VFP_FLOAT = 0x00000400U,
EF_ARM_EABI_UNKNOWN = 0x00000000U,
};
// Mips Specific e_flags
-enum LLVM_ENUM_INT_TYPE(unsigned) {
+enum : unsigned {
EF_MIPS_NOREORDER = 0x00000001, // Don't reorder instructions
EF_MIPS_PIC = 0x00000002, // Position independent code
EF_MIPS_CPIC = 0x00000004, // Call object with Position independent code
};
// Section types.
-enum LLVM_ENUM_INT_TYPE(unsigned) {
+enum : unsigned {
SHT_NULL = 0, // No associated section (inactive entry).
SHT_PROGBITS = 1, // Program-defined contents.
SHT_SYMTAB = 2, // Symbol table.
};
// Section flags.
-enum LLVM_ENUM_INT_TYPE(unsigned) {
+enum : unsigned {
// Section data should be writable during execution.
SHF_WRITE = 0x1,
};
// Section Group Flags
-enum LLVM_ENUM_INT_TYPE(unsigned) {
+enum : unsigned {
GRP_COMDAT = 0x1,
GRP_MASKOS = 0x0ff00000,
GRP_MASKPROC = 0xf0000000
};
// Segment flag bits.
-enum LLVM_ENUM_INT_TYPE(unsigned) {
+enum : unsigned {
PF_X = 1, // Execute
PF_W = 2, // Write
PF_R = 4, // Read
index 474c2f000eb34245542326c23df2d575e0dc8228..06dc74d10f3afb518a71e3540e1f6132b09ca6dc 100644 (file)
namespace llvm {
namespace MachO {
// Enums from <mach-o/loader.h>
- enum LLVM_ENUM_INT_TYPE(uint32_t) {
+ enum : uint32_t {
// Constants for the "magic" field in llvm::MachO::mach_header and
// llvm::MachO::mach_header_64
MH_MAGIC = 0xFEEDFACEu,
MH_DEAD_STRIPPABLE_DYLIB = 0x00400000u
};
- enum LLVM_ENUM_INT_TYPE(uint32_t) {
+ enum : uint32_t {
// Flags for the "cmd" field in llvm::MachO::load_command
LC_REQ_DYLD = 0x80000000u
};
- enum LoadCommandType LLVM_ENUM_INT_TYPE(uint32_t) {
+ enum LoadCommandType : uint32_t {
// Constants for the "cmd" field in llvm::MachO::load_command
LC_SEGMENT = 0x00000001u,
LC_SYMTAB = 0x00000002u,
LC_LINKER_OPTIONS = 0x0000002Du
};
- enum LLVM_ENUM_INT_TYPE(uint32_t) {
+ enum : uint32_t {
// Constant bits for the "flags" field in llvm::MachO::segment_command
SG_HIGHVM = 0x1u,
SG_FVMLIB = 0x2u,
S_THREAD_LOCAL_INIT_FUNCTION_POINTERS = 0x15u
};
- enum LLVM_ENUM_INT_TYPE(uint32_t) {
+ enum : uint32_t {
// Constant masks for the "flags[31:24]" field in llvm::MachO::section and
// llvm::MachO::section_64 (mask "flags" with SECTION_ATTRIBUTES_USR)
S_ATTR_PURE_INSTRUCTIONS = 0x80000000u,
N_LENG = 0xFEu
};
- enum LLVM_ENUM_INT_TYPE(uint32_t) {
+ enum : uint32_t {
// Constant values for the r_symbolnum field in an
// llvm::MachO::relocation_info structure when r_extern is 0.
R_ABS = 0,
}
// Enums from <mach/machine.h>
- enum LLVM_ENUM_INT_TYPE(uint32_t) {
+ enum : uint32_t {
// Capability bits used in the definition of cpu_type.
CPU_ARCH_MASK = 0xff000000, // Mask for architecture bits
CPU_ARCH_ABI64 = 0x01000000 // 64 bit ABI
CPU_TYPE_POWERPC64 = CPU_TYPE_POWERPC | CPU_ARCH_ABI64
};
- enum LLVM_ENUM_INT_TYPE(uint32_t) {
+ enum : uint32_t {
// Capability bits used in the definition of cpusubtype.
CPU_SUB_TYPE_MASK = 0xff000000, // Mask for architecture bits
CPU_SUB_TYPE_LIB64 = 0x80000000, // 64 bit libraries
index e92dbd2626a88c1336222949f6b24d639c8b6655..55abd085f200b8fae0d072d4c6b245027f7d8750 100644 (file)
// not be erased.
bool isBulkSpilling;
- enum LLVM_ENUM_INT_TYPE(unsigned) {
+ enum : unsigned {
spillClean = 1,
spillDirty = 100,
spillImpossible = ~0u
index 3372e2619524ac7bb8dbd8cce9c1b912143968fc..b8307c63b2f17c86bafa3294913b336f2f48c222 100644 (file)
/// class.
SmallVector<GlobalSplitCandidate, 32> GlobalCand;
- enum LLVM_ENUM_INT_TYPE(unsigned) { NoCand = ~0u };
+ enum : unsigned { NoCand = ~0u };
/// Candidate map. Each edge bundle is assigned to a GlobalCand entry, or to
/// NoCand which indicates the stack interval.