Skip to content

Commit cc1665b

Browse files
committed
[llvm] use LLVM_ABI annotation on ABI breaking check symbols
1 parent 981b9f7 commit cc1665b

File tree

1 file changed

+4
-25
lines changed

1 file changed

+4
-25
lines changed

llvm/include/llvm/Config/abi-breaking.h.cmake

Lines changed: 4 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -12,36 +12,15 @@
1212
#ifndef LLVM_ABI_BREAKING_CHECKS_H
1313
#define LLVM_ABI_BREAKING_CHECKS_H
1414

15-
// llvm-config.h is required for LLVM_ENABLE_LLVM_EXPORT_ANNOTATIONS
16-
#include "llvm/Config/llvm-config.h"
15+
// Compiler.h is required for LLVM_ABI definition.
16+
#include "llvm/Support/Compiler.h"
1717

1818
/* Define to enable checks that alter the LLVM C++ ABI */
1919
#cmakedefine01 LLVM_ENABLE_ABI_BREAKING_CHECKS
2020

2121
/* Define to enable reverse iteration of unordered llvm containers */
2222
#cmakedefine01 LLVM_ENABLE_REVERSE_ITERATION
2323

24-
// Properly annotate EnableABIBreakingChecks or DisableABIBreakingChecks for
25-
// export from shared library.
26-
#if !defined(LLVM_ABI_GENERATING_ANNOTATIONS)
27-
// TODO(https://github.com/llvm/llvm-project/issues/145406): eliminate need for
28-
// two preprocessor definitions to gate LLVM_ABI macro definitions.
29-
#if defined(LLVM_ENABLE_LLVM_EXPORT_ANNOTATIONS) && !defined(LLVM_BUILD_STATIC)
30-
#if defined(_WIN32) && !defined(__MINGW32__)
31-
#if defined(LLVM_EXPORTS)
32-
#define ABI_BREAKING_EXPORT_ABI __declspec(dllexport)
33-
#else
34-
#define ABI_BREAKING_EXPORT_ABI __declspec(dllimport)
35-
#endif
36-
#elif defined(__has_attribute) && __has_attribute(visibility)
37-
#define ABI_BREAKING_EXPORT_ABI __attribute__((visibility("default")))
38-
#endif
39-
#endif
40-
#if !defined(ABI_BREAKING_EXPORT_ABI)
41-
#define ABI_BREAKING_EXPORT_ABI
42-
#endif
43-
#endif
44-
4524
/* Allow selectively disabling link-time mismatch checking so that header-only
4625
ADT content from LLVM can be used without linking libSupport. */
4726
#if !defined(LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING) || !LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING
@@ -67,12 +46,12 @@
6746
#endif
6847
namespace llvm {
6948
#if LLVM_ENABLE_ABI_BREAKING_CHECKS
70-
ABI_BREAKING_EXPORT_ABI extern int EnableABIBreakingChecks;
49+
LLVM_ABI extern int EnableABIBreakingChecks;
7150
LLVM_HIDDEN_VISIBILITY
7251
__attribute__((weak)) int *VerifyEnableABIBreakingChecks =
7352
&EnableABIBreakingChecks;
7453
#else
75-
ABI_BREAKING_EXPORT_ABI extern int DisableABIBreakingChecks;
54+
LLVM_ABI extern int DisableABIBreakingChecks;
7655
LLVM_HIDDEN_VISIBILITY
7756
__attribute__((weak)) int *VerifyDisableABIBreakingChecks =
7857
&DisableABIBreakingChecks;

0 commit comments

Comments
 (0)