1 //===- DIASupport.h - Common header includes for DIA ------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 // Common defines and header includes for all LLVMDebugInfoPDBDIA.  The
9 // definitions here configure the necessary #defines and include system headers
10 // in the proper order for using DIA.
11 //===----------------------------------------------------------------------===//
12 
13 #ifndef LLVM_DEBUGINFO_PDB_DIA_DIASUPPORT_H
14 #define LLVM_DEBUGINFO_PDB_DIA_DIASUPPORT_H
15 
16 // Require at least Vista
17 #define NTDDI_VERSION NTDDI_VISTA
18 #define _WIN32_WINNT _WIN32_WINNT_VISTA
19 #define WINVER _WIN32_WINNT_VISTA
20 #ifndef NOMINMAX
21 #define NOMINMAX
22 #endif
23 
24 // atlbase.h has to come before windows.h
25 #include <atlbase.h>
26 #include <windows.h>
27 
28 // DIA headers must come after windows headers.
29 #include <cvconst.h>
30 #ifdef __clang__
31 #pragma clang diagnostic push
32 #pragma clang diagnostic ignored "-Wnon-virtual-dtor"
33 #endif
34 #include <dia2.h>
35 #ifdef __clang__
36 #pragma clang diagnostic pop
37 #endif
38 #include <diacreate.h>
39 
40 #endif // LLVM_DEBUGINFO_PDB_DIA_DIASUPPORT_H
41