//===- DIASupport.h - Common header includes for DIA ------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // Common defines and header includes for all LLVMDebugInfoPDBDIA. The // definitions here configure the necessary #defines and include system headers // in the proper order for using DIA. //===----------------------------------------------------------------------===// #ifndef LLVM_DEBUGINFO_PDB_DIA_DIASUPPORT_H #define LLVM_DEBUGINFO_PDB_DIA_DIASUPPORT_H // Require at least Vista #define NTDDI_VERSION NTDDI_VISTA #define _WIN32_WINNT _WIN32_WINNT_VISTA #define WINVER _WIN32_WINNT_VISTA #ifndef NOMINMAX #define NOMINMAX #endif // llvm/Support/Debug.h unconditionally #defines DEBUG as a macro. // DIA headers #define it if it is not already defined, so we have // an order of includes problem. The real fix is to make LLVM use // something less generic than DEBUG, such as LLVM_DEBUG(), but it's // fairly prevalent. So for now, we save the definition state and // restore it. #pragma push_macro("DEBUG") // atlbase.h has to come before windows.h #include #include // DIA headers must come after windows headers. #include #include #include #pragma pop_macro("DEBUG") #endif // LLVM_DEBUGINFO_PDB_DIA_DIASUPPORT_H