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) 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