mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 10:42:39 +01:00
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
This commit is contained in:
parent
9c14f5f07c
commit
24de559445
24
lib/Support/ABIBreak.cpp
Normal file
24
lib/Support/ABIBreak.cpp
Normal file
@ -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
|
@ -53,6 +53,7 @@ endif()
|
||||
|
||||
add_llvm_library(LLVMSupport
|
||||
AArch64TargetParser.cpp
|
||||
ABIBreak.cpp
|
||||
ARMTargetParser.cpp
|
||||
AMDGPUMetadata.cpp
|
||||
APFloat.cpp
|
||||
|
@ -167,18 +167,3 @@ void LLVMDisposeErrorMessage(char *ErrMsg) { delete[] ErrMsg; }
|
||||
LLVMErrorTypeId LLVMGetStringErrorTypeId() {
|
||||
return reinterpret_cast<void *>(&StringError::ID);
|
||||
}
|
||||
|
||||
#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
|
||||
|
@ -29,6 +29,7 @@ static_library("Support") {
|
||||
]
|
||||
sources = [
|
||||
"AArch64TargetParser.cpp",
|
||||
"ABIBreak.cpp",
|
||||
"AMDGPUMetadata.cpp",
|
||||
"APFloat.cpp",
|
||||
"APInt.cpp",
|
||||
|
Loading…
Reference in New Issue
Block a user