LLVM: include/llvm-c/Visibility.h Source File (original) (raw)

Go to the documentation of this file.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16#ifndef LLVM_C_VISIBILITY_H

17#define LLVM_C_VISIBILITY_H

18

19#include "llvm/Config/llvm-config.h"

20

21

22

23

24#if !defined(LLVM_ABI_GENERATING_ANNOTATIONS)

25

26

27#if defined(LLVM_ENABLE_LLVM_C_EXPORT_ANNOTATIONS) && \

28 !defined(LLVM_BUILD_STATIC)

29#if defined(_WIN32) && !defined(__MINGW32__)

30#if defined(LLVM_EXPORTS)

31#define LLVM_C_ABI __declspec(dllexport)

32#else

33#define LLVM_C_ABI __declspec(dllimport)

34#endif

35#elif defined(__has_attribute) && __has_attribute(visibility)

36#define LLVM_C_ABI __attribute__((visibility("default")))

37#endif

38#endif

39#if !defined(LLVM_C_ABI)

40#define LLVM_C_ABI

41#endif

42#endif

43

44#endif