1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 14:33:02 +02:00
llvm-mirror/include/llvm/Support
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
..
AIXDataTypesFix.h
AlignOf.h Incrase the number of parameters for AlignedCharArrayUnion. 2013-01-09 10:39:16 +00:00
Allocator.h [BumpPtrAllocator] Move DefaultSlabAllocator to a member of BumpPtrAllocator, instead of a static variable. 2013-08-28 01:02:21 +00:00
ArrayRecycler.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Atomic.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
BlockFrequency.h Fix typo in comment 2013-07-02 04:15:28 +00:00
BranchProbability.h
CallSite.h Extend 'readonly' and 'readnone' to work on function arguments as well as 2013-07-06 00:29:58 +00:00
Capacity.h
Casting.h Fix a regression I introduced back in r178147. 2013-07-18 02:42:40 +00:00
CBindingWrapping.h Fix file header comment. 2013-05-01 21:01:06 +00:00
CFG.h Fix size_t -> uint warnings with MSVC 64-bit build 2013-07-20 00:20:10 +00:00
circular_raw_ostream.h Use empty parens for empty function parameter list instead of '(void)'. 2012-11-15 16:51:49 +00:00
CodeGen.h This exposes more MCJIT options via the C API: 2013-05-01 22:58:00 +00:00
COFF.h Explicitly request unsigned enum types when desired 2013-09-23 23:26:57 +00:00
CommandLine.h Fix -Wdocumentation warning 2013-07-18 21:00:12 +00:00
Compiler.h Explicitly request unsigned enum types when desired 2013-09-23 23:26:57 +00:00
Compression.h Expose CRC-32 implementation from zlib 2013-08-14 16:03:29 +00:00
ConstantFolder.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
ConstantRange.h Use move semantics if possible to construct ConstantRanges. 2013-07-11 15:37:27 +00:00
ConvertUTF.h [Support] Add a Unicode conversion wrapper from UTF16 to UTF8 2013-07-16 17:14:33 +00:00
CrashRecoveryContext.h
DataExtractor.h Be consistent about the field name - AddressSize, not PointerSize. Add 2013-02-05 23:26:02 +00:00
DataFlow.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
DataStream.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
DataTypes.h.cmake Remove dead or useless header checks from cmake and autoconf 2013-07-26 16:54:23 +00:00
DataTypes.h.in Remove dead or useless header checks from cmake and autoconf 2013-07-26 16:54:23 +00:00
Debug.h
DebugLoc.h Remove trailing spaces. 2013-03-18 23:04:30 +00:00
Disassembler.h
DOTGraphTraits.h ScheduleDAG: colorize the DOT graph and improve formatting. 2013-01-25 07:45:25 +00:00
Dwarf.h Explicitly request unsigned enum types when desired 2013-09-23 23:26:57 +00:00
DynamicLibrary.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ELF.h Explicitly request unsigned enum types when desired 2013-09-23 23:26:57 +00:00
Endian.h Make the host endianness check an integer constant expression. 2013-04-15 14:44:24 +00:00
Errno.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ErrorHandling.h Add a boolean parameter to the llvm::report_fatal_error() function to indicated 2013-03-27 18:27:54 +00:00
ErrorOr.h [Support][ErrorOr] Add support for implicit conversion from error code/condition enums. 2013-02-28 01:44:26 +00:00
FEnv.h Refine fenv.h handling: check if the desired macros exist, before using 2013-03-25 13:13:33 +00:00
FileOutputBuffer.h [Support] Make FileOutputBuffer work on Windows. 2012-12-03 22:09:52 +00:00
FileSystem.h Fix typos in assert message. 2013-09-05 06:53:59 +00:00
FileUtilities.h Don't use PathV1.h in FileUtilities.h. 2013-06-13 20:41:00 +00:00
Format.h
FormattedStream.h Forward resetColor() et al to the underlying stream. 2013-08-08 00:43:30 +00:00
GCOV.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
GetElementPtrTypeIterator.h Avoid warnings about unused parameters that tend to come up a lot when 2013-06-10 12:09:30 +00:00
GraphWriter.h Convert a use of sys::Path::GetTemporaryDirectory. 2013-06-14 16:43:15 +00:00
Host.h The GNU/HURD is also using the libc. Therefor, endian.h should be included, not machine/endian.h. See full build log https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-3.3&arch=hurd-i386&ver=1%3A3.3~%2Brc3-1~exp1&stamp=1370358869 2013-06-05 09:17:26 +00:00
IncludeFile.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
InstIterator.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LeakDetector.h
LEB128.h Formatting. 2013-08-01 01:38:16 +00:00
LICENSE.TXT
Locale.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LockFileManager.h Fix a race condition in the lock-file manager: once the lock file is 2013-01-10 02:01:35 +00:00
MachO.h Explicitly request unsigned enum types when desired 2013-09-23 23:26:57 +00:00
ManagedStatic.h Make PrettyStackTraceEntry use ManagedStatic for its ThreadLocal. 2013-09-13 22:59:47 +00:00
MathExtras.h Use gnu style builtins in MathExtras.h with clang on Windows 2013-08-06 19:45:27 +00:00
MD5.h Add support for adding the contents of a StringRef to the MD5 hash. 2013-05-31 22:34:56 +00:00
Memory.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MemoryBuffer.h Expand the comment on getOpenFileSlice a bit for more details and consistency 2013-07-23 21:05:21 +00:00
MemoryObject.h Remove the Copied parameter from MemoryObject::readBytes. 2013-05-24 10:54:58 +00:00
Mutex.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MutexGuard.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:31:17 +00:00
NoFolder.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
OutputBuffer.h
PassNameParser.h Provide basic type safety for array_pod_sort comparators. 2013-09-22 14:09:50 +00:00
Path.h Path: Add an in-place version of path::native. 2013-09-11 10:45:21 +00:00
PatternMatch.h Use Intrinsic::ID for the pattern match templates, fixing a signed/unsigned 2013-09-04 05:08:32 +00:00
PluginLoader.h
PointerLikeTypeTraits.h
PredIteratorCache.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
PrettyStackTrace.h Add LLVM_OVERRIDE to methods that override their base classes. 2012-09-23 02:12:10 +00:00
Process.h Support ANSI escape code on Windows 2013-09-11 00:36:48 +00:00
Program.h Create a replacement for sys::Path::PathSeparator. 2013-06-25 01:10:36 +00:00
raw_os_ostream.h Add LLVM_OVERRIDE to methods that override their base classes. 2012-09-23 02:12:10 +00:00
raw_ostream.h Add a wrapper for open. 2013-07-16 19:44:17 +00:00
Recycler.h Special case Recycler::clear(BumpPtrAllocator). 2013-01-04 22:35:45 +00:00
RecyclingAllocator.h Add an assertion to the fixed-size allocator to ensure that we don't request 2013-08-27 11:20:13 +00:00
Regex.h Introduce Regex::isLiteralERE function. 2013-08-05 17:47:59 +00:00
Registry.h [Support/Registry.h] Include llvm/Support/Compiler.h. 2013-06-27 17:57:40 +00:00
RegistryParser.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
RWMutex.h Use LLVM_DELETED_FUNCTION for copy constructors and copy assignment operators that aren't implemented. 2012-09-16 21:37:56 +00:00
SaveAndRestore.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Signals.h Don't use PathV1.h in Signals.h. 2013-06-13 21:16:58 +00:00
SMLoc.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Solaris.h Define BYTE_ORDER on Solaris. 2013-05-21 20:36:13 +00:00
SourceMgr.h Fix size_t -> uint warnings with MSVC 64-bit build 2013-07-20 00:20:10 +00:00
StreamableMemoryObject.h Remove the Copied parameter from MemoryObject::readBytes. 2013-05-24 10:54:58 +00:00
StringPool.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
StringRefMemoryObject.h Remove the Copied parameter from MemoryObject::readBytes. 2013-05-24 10:54:58 +00:00
SwapByteOrder.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
system_error.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
SystemUtils.h Move PrependMainExecutablePath next to its only user. 2013-06-14 15:12:13 +00:00
TargetFolder.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
TargetRegistry.h Add an instruction deprecation feature to TableGen. 2013-09-12 10:28:05 +00:00
TargetSelect.h
Threading.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ThreadLocal.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Timer.h Slight cosmetic fixes 2013-02-26 18:05:31 +00:00
TimeValue.h Fix TimeValue::toWin32Time() to be symmetric to fromWin32Time() and compatible to Win32's FILETIME. 2013-07-16 02:43:51 +00:00
ToolOutputFile.h Add a wrapper for open. 2013-07-16 19:44:17 +00:00
type_traits.h Cleanup the simplify_type implementation. 2013-03-27 16:43:11 +00:00
Unicode.h Move generic isPrint and columnWidth implementations to a separate header/source to allow using both generic and system-dependent versions on win32. 2013-09-04 16:00:12 +00:00
UnicodeCharRanges.h Fix the following error when NDEBUG is defined: 2013-08-29 18:49:35 +00:00
Valgrind.h Fix include guards. 2013-08-20 22:52:02 +00:00
ValueHandle.h Cleanup the simplify_type implementation. 2013-03-27 16:43:11 +00:00
Watchdog.h Add a new watchdog timer interface. The interface does not permit handling timeouts, so 2013-03-26 01:27:52 +00:00
Win64EH.h Implements low-level object file format specific output for COFF and 2013-04-03 18:31:38 +00:00
YAMLParser.h Use only explicit bool conversion operators 2013-05-15 07:36:59 +00:00
YAMLTraits.h Tighten up the yamilizer so it stops eliding empty sequences if the embedded empty sequence is the first key/value in a map which is itself in a sequence. 2013-08-15 23:17:53 +00:00