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"
30#ifndef CLANG_ABI_GENERATING_ANNOTATIONS
33#define CLANG_ABI_NOT_EXPORTED
38#if defined(CLANG_BUILD_STATIC)
40#define CLANG_TEMPLATE_ABI
41#define CLANG_EXPORT_TEMPLATE
42#elif defined(_WIN32) && !defined(__MINGW32__)
43#if defined(CLANG_EXPORTS)
44#define CLANG_ABI __declspec(dllexport)
45#define CLANG_TEMPLATE_ABI
46#define CLANG_EXPORT_TEMPLATE __declspec(dllexport)
48#define CLANG_ABI __declspec(dllimport)
49#define CLANG_TEMPLATE_ABI __declspec(dllimport)
50#define CLANG_EXPORT_TEMPLATE
52#elif defined(__ELF__) || defined(__MINGW32__) || defined(_AIX) || \
54#define CLANG_ABI LLVM_ATTRIBUTE_VISIBILITY_DEFAULT
55#define CLANG_TEMPLATE_ABI LLVM_ATTRIBUTE_VISIBILITY_DEFAULT
56#define CLANG_EXPORT_TEMPLATE
57#elif defined(__MACH__) || defined(__WASM__)
58#define CLANG_ABI LLVM_ATTRIBUTE_VISIBILITY_DEFAULT
59#define CLANG_TEMPLATE_ABI
60#define CLANG_EXPORT_TEMPLATE