//===-- 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/BinaryFormat/MachO.h" #endif // liblldb_SafeMachO_h_