xref: /freebsd-src/contrib/llvm-project/clang/include/clang-c/Platform.h (revision 0b57cec536236d46e3dba9bd041533462f33dbb7)
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 #ifdef __cplusplus
18 extern "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