1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 14:33:02 +02:00
llvm-mirror/include/llvm/Object
Reid Kleckner 333fd129ac Explicitly request unsigned enum types when desired
The underlying type of all plain enums in MSVC is 'int', even if the
enumerator contains large 32-bit unsigned values or values greater than
UINT_MAX.  The only way to get a large or unsigned enum type is to
request it explicitly with the C++11 strong enum types feature.

However, since LLVM isn't C++11 yet, I had to add a conditional
LLVM_ENUM_INT_TYPE to Compiler.h to control its usage.

The motivating true positive for this change is compiling PointerIntPair
with MSVC for win64.  The PointerIntMask value is supposed to be pointer
sized value of all ones with some low zeros.  Instead, it's truncated to
32-bits!  We are only saved later because it is sign extended back in
the AND with int64_t, and we happen to want all ones.

This silences lots of -Wmicrosoft warnings during a clang self-host
targeting Windows.

llvm-svn: 191241
2013-09-23 23:26:57 +00:00
..
Archive.h Add support for the 's' operation to llvm-ar. 2013-07-29 12:40:31 +00:00
Binary.h Basic support for parsing Mach-O universal binaries in LLVMObject library 2013-06-18 15:03:28 +00:00
COFF.h [Object/COFF] Add coff_aux_weak_external. 2013-08-28 23:49:30 +00:00
COFFYAML.h Print symbol names in relocations when dumping COFF as YAML. 2013-06-06 13:06:17 +00:00
ELF.h Try to unbreak Windows build after r188022 2013-08-09 07:34:06 +00:00
ELFObjectFile.h [Object/ELF] sh_type is not a bitfield. Fixes RuntimeDyld test failure on ARM. 2013-08-12 22:59:14 +00:00
ELFTypes.h [Object] Split the ELF interface into 3 parts. 2013-08-08 22:27:13 +00:00
ELFYAML.h [yaml2obj][ELF] Make symbol table top-level key. 2013-06-22 01:38:00 +00:00
Error.h Basic support for parsing Mach-O universal binaries in LLVMObject library 2013-06-18 15:03:28 +00:00
MachO.h Move everything depending on Object/MachOFormat.h over to Support/MachO.h. 2013-09-01 04:28:48 +00:00
MachOUniversal.h Move everything depending on Object/MachOFormat.h over to Support/MachO.h. 2013-09-01 04:28:48 +00:00
ObjectFile.h Explicitly request unsigned enum types when desired 2013-09-23 23:26:57 +00:00
RelocVisitor.h [Object] Split the ELF interface into 3 parts. 2013-08-08 22:27:13 +00:00
YAML.h Make operator== non-member for greater symmetry. 2013-06-07 18:00:04 +00:00