From 86de9cd1f1b5815d3ba8923ba83053541de1bcdd Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Thu, 24 Oct 2024 11:53:19 +0200 Subject: [PATCH] Adjust LLVM_ENABLE_ABI_BREAKING_CHECKS depending on NDEBUG When assertions are disabled, the upstream build system disables LLVM_ENABLE_ABI_BREAKING_CHECKS by default. Though the upstream build system allows it to be force-enabled, it looks like that is not a well-tested build-time configuration. Therefore, always disable LLVM_ENABLE_ABI_BREAKING_CHECKS when assertions are disabled, which will also save some more runtime cost when people use WITHOUT_LLVM_ASSERTIONS. PR: 280562 MFC after: 1 month (cherry picked from commit 1c83996beda7b6a382857c318f46daefcb6bd84c) --- lib/clang/include/llvm/Config/abi-breaking.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/clang/include/llvm/Config/abi-breaking.h b/lib/clang/include/llvm/Config/abi-breaking.h index eb90be1fe37..55e67e2ebad 100644 --- a/lib/clang/include/llvm/Config/abi-breaking.h +++ b/lib/clang/include/llvm/Config/abi-breaking.h @@ -13,7 +13,11 @@ #define LLVM_ABI_BREAKING_CHECKS_H /* Define to enable checks that alter the LLVM C++ ABI */ +#ifdef NDEBUG +#define LLVM_ENABLE_ABI_BREAKING_CHECKS 0 +#else #define LLVM_ENABLE_ABI_BREAKING_CHECKS 1 +#endif /* Define to enable reverse iteration of unordered llvm containers */ #define LLVM_ENABLE_REVERSE_ITERATION 0