Home | History | Annotate | Download | only in DIA
      1 //===- DIASupport.h - Common header includes for DIA ------------*- C++ -*-===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 // Common defines and header includes for all LLVMDebugInfoPDBDIA.  The
     10 // definitions here configure the necessary #defines and include system headers
     11 // in the proper order for using DIA.
     12 //===----------------------------------------------------------------------===//
     13 
     14 #ifndef LLVM_DEBUGINFO_PDB_DIA_DIASUPPORT_H
     15 #define LLVM_DEBUGINFO_PDB_DIA_DIASUPPORT_H
     16 
     17 // Require at least Vista
     18 #define NTDDI_VERSION NTDDI_VISTA
     19 #define _WIN32_WINNT _WIN32_WINNT_VISTA
     20 #define WINVER _WIN32_WINNT_VISTA
     21 #ifndef NOMINMAX
     22 #define NOMINMAX
     23 #endif
     24 
     25 // llvm/Support/Debug.h unconditionally #defines DEBUG as a macro.
     26 // DIA headers #define it if it is not already defined, so we have
     27 // an order of includes problem.  The real fix is to make LLVM use
     28 // something less generic than DEBUG, such as LLVM_DEBUG(), but it's
     29 // fairly prevalent.  So for now, we save the definition state and
     30 // restore it.
     31 #pragma push_macro("DEBUG")
     32 
     33 // atlbase.h has to come before windows.h
     34 #include <atlbase.h>
     35 #include <windows.h>
     36 
     37 // DIA headers must come after windows headers.
     38 #include <cvconst.h>
     39 #include <dia2.h>
     40 #include <diacreate.h>
     41 
     42 #pragma pop_macro("DEBUG")
     43 
     44 #endif // LLVM_DEBUGINFO_PDB_DIA_DIASUPPORT_H
     45