diff options
Diffstat (limited to 'include/lldb/Utility/SafeMachO.h')
-rw-r--r-- | include/lldb/Utility/SafeMachO.h | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/include/lldb/Utility/SafeMachO.h b/include/lldb/Utility/SafeMachO.h new file mode 100644 index 0000000000000..2a831ed89b809 --- /dev/null +++ b/include/lldb/Utility/SafeMachO.h @@ -0,0 +1,113 @@ +//===-- SafeMachO.h -----------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +#ifndef liblldb_SafeMachO_h_ +#define liblldb_SafeMachO_h_ + +// This header file is required to work around collisions between the defines in mach/machine.h, and enum members +// of the same name in llvm's MachO.h. If you want to use llvm/Support/MachO.h, use this file instead. +// The caveats are: +// 1) You can only use the MachO.h enums, you can't use the defines. That won't make a difference since the values +// are the same. +// 2) If you need any header file that relies on mach/machine.h, you must include that first. +// 3) This isn't a total solution, it doesn't undef every define that MachO.h has borrowed from various system headers, +// only the ones that come from mach/machine.h because that is the one we ended up pulling in from various places. +// + +#undef CPU_ARCH_MASK +#undef CPU_ARCH_ABI64 + +#undef CPU_TYPE_ANY +#undef CPU_TYPE_X86 +#undef CPU_TYPE_I386 +#undef CPU_TYPE_X86_64 +#undef CPU_TYPE_MC98000 +#undef CPU_TYPE_ARM +#undef CPU_TYPE_ARM64 +#undef CPU_TYPE_SPARC +#undef CPU_TYPE_POWERPC +#undef CPU_TYPE_POWERPC64 + +#undef CPU_SUB_TYPE_MASK +#undef CPU_SUB_TYPE_LIB64 + +#undef CPU_SUBTYPE_MULTIPLE + +#undef CPU_SUBTYPE_I386_ALL +#undef CPU_SUBTYPE_386 +#undef CPU_SUBTYPE_486 +#undef CPU_SUBTYPE_486SX +#undef CPU_SUBTYPE_586 +#undef CPU_SUBTYPE_PENT +#undef CPU_SUBTYPE_PENTPRO +#undef CPU_SUBTYPE_PENTII_M3 +#undef CPU_SUBTYPE_PENTII_M5 +#undef CPU_SUBTYPE_CELERON +#undef CPU_SUBTYPE_CELERON_MOBILE +#undef CPU_SUBTYPE_PENTIUM_3 +#undef CPU_SUBTYPE_PENTIUM_3_M +#undef CPU_SUBTYPE_PENTIUM_3_XEON +#undef CPU_SUBTYPE_PENTIUM_M +#undef CPU_SUBTYPE_PENTIUM_4 +#undef CPU_SUBTYPE_PENTIUM_4_M +#undef CPU_SUBTYPE_ITANIUM +#undef CPU_SUBTYPE_ITANIUM_2 +#undef CPU_SUBTYPE_XEON +#undef CPU_SUBTYPE_XEON_MP + +#undef CPU_SUBTYPE_X86_ALL +#undef CPU_SUBTYPE_X86_64_ALL +#undef CPU_SUBTYPE_X86_ARCH1 +#undef CPU_SUBTYPE_X86_64_H + +#undef CPU_SUBTYPE_INTEL +#undef CPU_SUBTYPE_INTEL_FAMILY +#undef CPU_SUBTYPE_INTEL_FAMILY_MAX +#undef CPU_SUBTYPE_INTEL_MODEL +#undef CPU_SUBTYPE_INTEL_MODEL_ALL + +#undef CPU_SUBTYPE_ARM +#undef CPU_SUBTYPE_ARM_ALL +#undef CPU_SUBTYPE_ARM_V4T +#undef CPU_SUBTYPE_ARM_V6 +#undef CPU_SUBTYPE_ARM_V5 +#undef CPU_SUBTYPE_ARM_V5TEJ +#undef CPU_SUBTYPE_ARM_XSCALE +#undef CPU_SUBTYPE_ARM_V7 + +#undef CPU_SUBTYPE_ARM_V7S +#undef CPU_SUBTYPE_ARM_V7K +#undef CPU_SUBTYPE_ARM_V6M +#undef CPU_SUBTYPE_ARM_V7M +#undef CPU_SUBTYPE_ARM_V7EM + +#undef CPU_SUBTYPE_ARM64_ALL + +#undef CPU_SUBTYPE_SPARC_ALL + +#undef CPU_SUBTYPE_POWERPC +#undef CPU_SUBTYPE_POWERPC_ALL +#undef CPU_SUBTYPE_POWERPC_601 +#undef CPU_SUBTYPE_POWERPC_602 +#undef CPU_SUBTYPE_POWERPC_603 +#undef CPU_SUBTYPE_POWERPC_603e +#undef CPU_SUBTYPE_POWERPC_603ev +#undef CPU_SUBTYPE_POWERPC_604 +#undef CPU_SUBTYPE_POWERPC_604e +#undef CPU_SUBTYPE_POWERPC_620 +#undef CPU_SUBTYPE_POWERPC_750 +#undef CPU_SUBTYPE_POWERPC_7400 +#undef CPU_SUBTYPE_POWERPC_7450 +#undef CPU_SUBTYPE_POWERPC_970 + +#undef CPU_SUBTYPE_MC980000_ALL +#undef CPU_SUBTYPE_MC98601 + +#include "llvm/Support/MachO.h" + +#endif // liblldb_SafeMachO_h_ |