Go to the documentation of this file.
14#ifndef CLANG_SUPPORT_COMPILER_H
15#define CLANG_SUPPORT_COMPILER_H
17#include "llvm/Support/Compiler.h"
35#ifndef CLANG_ABI_GENERATING_ANNOTATIONS
38#define CLANG_ABI_NOT_EXPORTED
43#if defined(CLANG_BUILD_STATIC)
45#define CLANG_ABI_EXPORT
46#define CLANG_TEMPLATE_ABI
47#define CLANG_EXPORT_TEMPLATE
48#elif defined(_WIN32) && !defined(__MINGW32__)
49#if defined(CLANG_EXPORTS)
50#define CLANG_ABI __declspec(dllexport)
51#define CLANG_TEMPLATE_ABI
52#define CLANG_EXPORT_TEMPLATE __declspec(dllexport)
54#define CLANG_ABI __declspec(dllimport)
55#define CLANG_TEMPLATE_ABI __declspec(dllimport)
56#define CLANG_EXPORT_TEMPLATE
58#define CLANG_ABI_EXPORT __declspec(dllexport)
59#elif defined(__ELF__) || defined(__MINGW32__) || defined(_AIX) || \
60 defined(__MVS__) || defined(__CYGWIN__)
61#define CLANG_ABI LLVM_ATTRIBUTE_VISIBILITY_DEFAULT
62#define CLANG_ABI_EXPORT LLVM_ATTRIBUTE_VISIBILITY_DEFAULT
63#define CLANG_TEMPLATE_ABI LLVM_ATTRIBUTE_VISIBILITY_DEFAULT
64#define CLANG_EXPORT_TEMPLATE
65#elif defined(__MACH__) || defined(__WASM__) || defined(__EMSCRIPTEN__)
66#define CLANG_ABI LLVM_ATTRIBUTE_VISIBILITY_DEFAULT
67#define CLANG_ABI_EXPORT LLVM_ATTRIBUTE_VISIBILITY_DEFAULT
68#define CLANG_TEMPLATE_ABI
69#define CLANG_EXPORT_TEMPLATE