Platform.h revision 360784
1/*===-- clang-c/Platform.h - C Index platform decls   -------------*- C -*-===*\
2|*                                                                            *|
3|* Part of the LLVM Project, under the Apache License v2.0 with LLVM          *|
4|* Exceptions.                                                                *|
5|* See https://llvm.org/LICENSE.txt for license information.                  *|
6|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception                    *|
7|*                                                                            *|
8|*===----------------------------------------------------------------------===*|
9|*                                                                            *|
10|* This header provides platform specific macros (dllimport, deprecated, ...) *|
11|*                                                                            *|
12\*===----------------------------------------------------------------------===*/
13
14#ifndef LLVM_CLANG_C_PLATFORM_H
15#define LLVM_CLANG_C_PLATFORM_H
16
17#include "clang-c/ExternC.h"
18
19LLVM_CLANG_C_EXTERN_C_BEGIN
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
42LLVM_CLANG_C_EXTERN_C_END
43
44#endif
45