]> granicus.if.org Git - llvm/commitdiff
Introduces cmake option `LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING`
authorMehdi Amini <mehdi.amini@apple.com>
Tue, 6 Dec 2016 01:23:04 +0000 (01:23 +0000)
committerMehdi Amini <mehdi.amini@apple.com>
Tue, 6 Dec 2016 01:23:04 +0000 (01:23 +0000)
Summary:
We recently introduced a feature that enforce at link-time that the
LLVM headers used by a clients are matching the ABI setting of the
LLVM library linked to.

However for clients that are using only headers from ADT and promise
they won't call into LLVM, this is forcing to link libSupport. This
new flag is intended to provide a way to configure LLVM with this
promise for such client.

Reviewers: bob.wilson, compnerd

Subscribers: mgorny, llvm-commits

Differential Revision: https://reviews.llvm.org/D27432

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288754 91177308-0d34-0410-b5e6-96231b3b80d8

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

index 3d99626a506d7a8edd8e289fe7d85d6ed93787ec..f209338e2c1819bc9705436e116255c01b5fe4f4 100644 (file)
@@ -414,6 +414,9 @@ option(LLVM_ENABLE_EXPENSIVE_CHECKS "Enable expensive checks" OFF)
 set(LLVM_ABI_BREAKING_CHECKS "WITH_ASSERTS" CACHE STRING
   "Enable abi-breaking checks.  Can be WITH_ASSERTS, FORCE_ON or FORCE_OFF.")
 
+option(LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING
+  "Disable abi-breaking checks mismatch detection at link-tim." OFF)
+
 option(LLVM_FORCE_USE_OLD_HOST_TOOLCHAIN
        "Set to ON to force using an old, unsupported host toolchain." OFF)
 
index 303625a3f7ac99f86e18c8c54f577d688b435ee9..e5697f79e93d5c971ef46233a4d08a1e8e81f338 100644 (file)
 /* Define to enable checks that alter the LLVM C++ ABI */
 #cmakedefine01 LLVM_ENABLE_ABI_BREAKING_CHECKS
 
+/* Define to disable the link-time checking of mismatch for
+   LLVM_ENABLE_ABI_BREAKING_CHECKS */
+#cmakedefine01 LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING
+#if !LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING
+
 // ABI_BREAKING_CHECKS protection: provides link-time failure when clients build
 // mismatch with LLVM
 #if defined(_MSC_VER)
@@ -38,4 +43,6 @@ __attribute__((weak, visibility ("hidden"))) int *VerifyDisableABIBreakingChecks
 }
 #endif // _MSC_VER
 
+#endif // LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING
+
 #endif