[PATCH] D27432: Introduces cmake option `LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING`

Mehdi AMINI via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 5 15:49:28 PST 2016


mehdi_amini created this revision.
mehdi_amini added reviewers: bob.wilson, compnerd.
mehdi_amini added a subscriber: llvm-commits.
Herald added a subscriber: mgorny.

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.


https://reviews.llvm.org/D27432

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


Index: llvm/include/llvm/Config/abi-breaking.h.cmake
===================================================================
--- llvm/include/llvm/Config/abi-breaking.h.cmake
+++ llvm/include/llvm/Config/abi-breaking.h.cmake
@@ -15,6 +15,11 @@
 /* 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 @@
 }
 #endif // _MSC_VER
 
+#endif // LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING
+
 #endif
Index: llvm/CMakeLists.txt
===================================================================
--- llvm/CMakeLists.txt
+++ llvm/CMakeLists.txt
@@ -414,6 +414,9 @@
 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)
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27432.80339.patch
Type: text/x-patch
Size: 1339 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161205/e5b9bce0/attachment.bin>


More information about the llvm-commits mailing list