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