From 5fc4bee355a5fbafaa41318ce9b71d4df1e98055 Mon Sep 17 00:00:00 2001 From: Eric Christopher Date: Tue, 10 Sep 2019 22:05:01 +0000 Subject: Move LLVM_ENABLE_ABI_BREAKING_CHECKS variables to their own file so that you don't have to link Error.o and all of its dependencies. In more detail: global initializers in Error.o can't be elided with -ffunction-sections/-gc-sections since they always need to be run causing a fairly significant binary bloat if all you want is the ABI breaking checks code. Differential Revision: https://reviews.llvm.org/D67387 llvm-svn: 371561 --- llvm/lib/Support/ABIBreak.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 llvm/lib/Support/ABIBreak.cpp (limited to 'llvm/lib/Support/ABIBreak.cpp') diff --git a/llvm/lib/Support/ABIBreak.cpp b/llvm/lib/Support/ABIBreak.cpp new file mode 100644 index 00000000000..247b635e02b --- /dev/null +++ b/llvm/lib/Support/ABIBreak.cpp @@ -0,0 +1,24 @@ +//===----- lib/Support/ABIBreak.cpp - EnableABIBreakingChecks -------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "llvm/Config/abi-breaking.h" + +#ifndef _MSC_VER +namespace llvm { + +// One of these two variables will be referenced by a symbol defined in +// llvm-config.h. We provide a link-time (or load time for DSO) failure when +// there is a mismatch in the build configuration of the API client and LLVM. +#if LLVM_ENABLE_ABI_BREAKING_CHECKS +int EnableABIBreakingChecks; +#else +int DisableABIBreakingChecks; +#endif + +} // end namespace llvm +#endif -- cgit v1.2.3