blob: 0f866c64563c4f709195e435a5fd127ab0c3716d [file] [log] [blame]
Arnaud A. de Grandmaisondb2a6852012-06-28 22:01:06 +00001/*===-- clang-c/Platform.h - C Index platform decls -------------*- 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|* *|
10|* This header provides platform specific macros (dllimport, deprecated, ...) *|
11|* *|
12\*===----------------------------------------------------------------------===*/
13
14#ifndef CLANG_C_PLATFORM_H
15#define CLANG_C_PLATFORM_H
16
17#ifdef __cplusplus
18extern "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