113337Ssundar/*===-- clang-c/Platform.h - C Index platform decls   -------------*- C -*-===*\
213337Ssundar|*                                                                            *|
313337Ssundar|*                     The LLVM Compiler Infrastructure                       *|
413337Ssundar|*                                                                            *|
513337Ssundar|* This file is distributed under the University of Illinois Open Source      *|
613337Ssundar|* License. See LICENSE.TXT for details.                                      *|
713337Ssundar|*                                                                            *|
813337Ssundar|*===----------------------------------------------------------------------===*|
913337Ssundar|*                                                                            *|
1013337Ssundar|* This header provides platform specific macros (dllimport, deprecated, ...) *|
1113337Ssundar|*                                                                            *|
1213337Ssundar\*===----------------------------------------------------------------------===*/
1313337Ssundar
1413337Ssundar#ifndef CLANG_C_PLATFORM_H
1513337Ssundar#define CLANG_C_PLATFORM_H
1613337Ssundar
1713337Ssundar#ifdef __cplusplus
1813337Ssundarextern "C" {
19#endif
20
21/* MSVC DLL import/export. */
22#ifdef _MSC_VER
23  #ifdef _CINDEX_LIB_
24    #define CINDEX_LINKAGE __declspec(dllexport)
25  #else
26    #define CINDEX_LINKAGE __declspec(dllimport)
27  #endif
28#else
29  #define CINDEX_LINKAGE
30#endif
31
32#ifdef __GNUC__
33  #define CINDEX_DEPRECATED __attribute__((deprecated))
34#else
35  #ifdef _MSC_VER
36    #define CINDEX_DEPRECATED __declspec(deprecated)
37  #else
38    #define CINDEX_DEPRECATED
39  #endif
40#endif
41
42#ifdef __cplusplus
43}
44#endif
45#endif
46