clang  19.0.0git
Platform.h
Go to the documentation of this file.
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 
20 
21 /* Windows DLL import/export. */
22 #ifndef CINDEX_NO_EXPORTS
23  #define CINDEX_EXPORTS
24 #endif
25 #ifdef _WIN32
26  #ifdef CINDEX_EXPORTS
27  #ifdef _CINDEX_LIB_
28  #define CINDEX_LINKAGE __declspec(dllexport)
29  #else
30  #define CINDEX_LINKAGE __declspec(dllimport)
31  #endif
32  #endif
33 #elif defined(CINDEX_EXPORTS) && defined(__GNUC__)
34  #define CINDEX_LINKAGE __attribute__((visibility("default")))
35 #endif
36 
37 #ifndef CINDEX_LINKAGE
38  #define CINDEX_LINKAGE
39 #endif
40 
41 #ifdef __GNUC__
42  #define CINDEX_DEPRECATED __attribute__((deprecated))
43 #else
44  #ifdef _MSC_VER
45  #define CINDEX_DEPRECATED __declspec(deprecated)
46  #else
47  #define CINDEX_DEPRECATED
48  #endif
49 #endif
50 
52 
53 #endif
#define LLVM_CLANG_C_EXTERN_C_END
Definition: ExternC.h:36
#define LLVM_CLANG_C_EXTERN_C_BEGIN
Definition: ExternC.h:35