1db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison/*===-- clang-c/Platform.h - C Index platform decls   -------------*- C -*-===*\
2db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison|*                                                                            *|
3db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison|*                     The LLVM Compiler Infrastructure                       *|
4db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison|*                                                                            *|
5db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison|* This file is distributed under the University of Illinois Open Source      *|
6db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison|* License. See LICENSE.TXT for details.                                      *|
7db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison|*                                                                            *|
8db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison|*===----------------------------------------------------------------------===*|
9db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison|*                                                                            *|
10db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison|* This header provides platform specific macros (dllimport, deprecated, ...) *|
11db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison|*                                                                            *|
12db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison\*===----------------------------------------------------------------------===*/
13db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison
14176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines#ifndef LLVM_CLANG_C_PLATFORM_H
15176edba5311f6eff0cad2631449885ddf4fbc9eaStephen Hines#define LLVM_CLANG_C_PLATFORM_H
16db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison
17db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison#ifdef __cplusplus
18db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaisonextern "C" {
19db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison#endif
20db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison
21db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison/* MSVC DLL import/export. */
22db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison#ifdef _MSC_VER
23db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison  #ifdef _CINDEX_LIB_
24db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison    #define CINDEX_LINKAGE __declspec(dllexport)
25db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison  #else
26db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison    #define CINDEX_LINKAGE __declspec(dllimport)
27db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison  #endif
28db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison#else
29db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison  #define CINDEX_LINKAGE
30db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison#endif
31db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison
32db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison#ifdef __GNUC__
33db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison  #define CINDEX_DEPRECATED __attribute__((deprecated))
34db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison#else
35db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison  #ifdef _MSC_VER
36db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison    #define CINDEX_DEPRECATED __declspec(deprecated)
37db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison  #else
38db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison    #define CINDEX_DEPRECATED
39db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison  #endif
40db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison#endif
41db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison
42db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison#ifdef __cplusplus
43db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison}
44db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison#endif
45db2a685287e57d9dfec09c867152c465af6fc6b0Arnaud A. de Grandmaison#endif
46