llvm-6502/include/llvm/MC
Reid Kleckner 118a0659ab 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191241 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-23 23:26:57 +00:00
..
MCParser
MachineLocation.h Explicitly request unsigned enum types when desired 2013-09-23 23:26:57 +00:00
MCAsmBackend.h Use the appropriate return type for the compact unwind encoding. 2013-09-11 21:47:57 +00:00
MCAsmInfo.h Remove support for the .debug_inlined section. No known software 2013-08-28 04:04:28 +00:00
MCAsmInfoCOFF.h
MCAsmInfoDarwin.h
MCAsmLayout.h
MCAssembler.h
MCAtom.h
MCCodeEmitter.h
MCCodeGenInfo.h
MCContext.h
MCDirectives.h
MCDisassembler.h
MCDwarf.h Call generateCompactUnwindEncodings() right before we need to output the frame information. 2013-09-09 19:48:37 +00:00
MCELF.h
MCELFObjectWriter.h
MCELFStreamer.h Added support for generate DWARF .debug_aranges sections automatically. 2013-09-19 23:21:01 +00:00
MCELFSymbolFlags.h
MCExpr.h
MCExternalSymbolizer.h
MCFixedLenDisassembler.h
MCFixup.h
MCFixupKindInfo.h
MCFunction.h
MCInst.h
MCInstBuilder.h
MCInstPrinter.h [MC] AvailableFeatures needs to be a uint64_t to match FeatureBits in MCSubtargetInfo. 2013-09-03 15:03:36 +00:00
MCInstrAnalysis.h
MCInstrDesc.h Somehow this important part of the patch, where I actually check the Mask, 2013-09-12 14:23:19 +00:00
MCInstrInfo.h
MCInstrItineraries.h
MCLabel.h
MCMachObjectWriter.h Move everything depending on Object/MachOFormat.h over to Support/MachO.h. 2013-09-01 04:28:48 +00:00
MCMachOSymbolFlags.h
MCModule.h
MCModuleYAML.h Fix #include guard. 2013-08-25 19:48:46 +00:00
MCObjectDisassembler.h
MCObjectFileInfo.h Add the gnu pubnames and pubtypes sections to the mc object file 2013-09-09 20:03:14 +00:00
MCObjectStreamer.h
MCObjectSymbolizer.h
MCObjectWriter.h
MCRegisterInfo.h
MCRelocationInfo.h
MCSchedule.h
MCSection.h
MCSectionCOFF.h
MCSectionELF.h
MCSectionMachO.h Explicitly request unsigned enum types when desired 2013-09-23 23:26:57 +00:00
MCStreamer.h Added support for generate DWARF .debug_aranges sections automatically. 2013-09-19 23:21:01 +00:00
MCSubtargetInfo.h Fix X86 subtarget to not overwrite the autodetected features by calling InitMCProcessorInfo right after detecting them. Instead add a new function that only updates the scheduling model and call that. 2013-09-18 05:54:09 +00:00
MCSymbol.h
MCSymbolizer.h
MCTargetAsmParser.h [MC] Revert part of my previous change, I was a bit overzealous. 2013-09-03 16:18:19 +00:00
MCValue.h
MCWin64EH.h
MCWinCOFFObjectWriter.h
SectionKind.h
SubtargetFeature.h