1239313Sdim/*===-- clang-c/Platform.h - C Index platform decls   -------------*- C -*-===*\
2239313Sdim|*                                                                            *|
3239313Sdim|*                     The LLVM Compiler Infrastructure                       *|
4239313Sdim|*                                                                            *|
5239313Sdim|* This file is distributed under the University of Illinois Open Source      *|
6239313Sdim|* License. See LICENSE.TXT for details.                                      *|
7239313Sdim|*                                                                            *|
8239313Sdim|*===----------------------------------------------------------------------===*|
9239313Sdim|*                                                                            *|
10239313Sdim|* This header provides platform specific macros (dllimport, deprecated, ...) *|
11239313Sdim|*                                                                            *|
12239313Sdim\*===----------------------------------------------------------------------===*/
13239313Sdim
14239313Sdim#ifndef CLANG_C_PLATFORM_H
15239313Sdim#define CLANG_C_PLATFORM_H
16239313Sdim
17239313Sdim#ifdef __cplusplus
18239313Sdimextern "C" {
19239313Sdim#endif
20239313Sdim
21239313Sdim/* MSVC DLL import/export. */
22239313Sdim#ifdef _MSC_VER
23239313Sdim  #ifdef _CINDEX_LIB_
24239313Sdim    #define CINDEX_LINKAGE __declspec(dllexport)
25239313Sdim  #else
26239313Sdim    #define CINDEX_LINKAGE __declspec(dllimport)
27239313Sdim  #endif
28239313Sdim#else
29239313Sdim  #define CINDEX_LINKAGE
30239313Sdim#endif
31239313Sdim
32239313Sdim#ifdef __GNUC__
33239313Sdim  #define CINDEX_DEPRECATED __attribute__((deprecated))
34239313Sdim#else
35239313Sdim  #ifdef _MSC_VER
36239313Sdim    #define CINDEX_DEPRECATED __declspec(deprecated)
37239313Sdim  #else
38239313Sdim    #define CINDEX_DEPRECATED
39239313Sdim  #endif
40239313Sdim#endif
41239313Sdim
42239313Sdim#ifdef __cplusplus
43239313Sdim}
44239313Sdim#endif
45239313Sdim#endif
46