allow migrating away from cmake option for LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING
authorBob Wilson <bob.wilson@apple.com>
Tue, 14 Feb 2017 19:06:43 +0000 (19:06 +0000)
committerBob Wilson <bob.wilson@apple.com>
Tue, 14 Feb 2017 19:06:43 +0000 (19:06 +0000)
In r288754, Mehdi added a cmake option to disable enforcement of the ABI
breaking checks in the "abi-breaking.h" header. We used that when building
Swift and it works, but I think it will be better to control this with a
preprocessor macro instead of a cmake option. That will let us opt out of
the enforcement more selectively.

This change allows skipping the cmake setting if the existing preprocessor
macro is already defined. My intention here is to make this change and get
Swift to use it, and then after a few weeks, we can remove the cmake option.
I want to stage it like that to be less disruptive. I'm not aware of anyone
else using that cmake option.

Mehdi had some initial concern about the impact of using a preprocessor
macro when building with modules enabled. I don't think that will be a
problem if we set the macro on the command line with a -D option in those
contexts where we need to disable the enforcement of the checks.

https://reviews.llvm.org/D29919

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

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

index e5697f79e93d5c971ef46233a4d08a1e8e81f338..9c3bfb4895319a3c8e537090dc8cb2807bdb5a32 100644 (file)
@@ -17,7 +17,9 @@
 
 /* Define to disable the link-time checking of mismatch for
    LLVM_ENABLE_ABI_BREAKING_CHECKS */
+#ifndef LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING
 #cmakedefine01 LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING
+#endif
 #if !LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING
 
 // ABI_BREAKING_CHECKS protection: provides link-time failure when clients build