Turn LLVM_ENABLE_ABI_BREAKING_CHECKS into a 0/1 definition like
LLVM_ENABLE_THREADS. Include llvm-config.h explicitly in headers to make sure that the definition is available. llvm-svn: 282907
This commit is contained in:
parent
f7b851fe84
commit
ece29ea90b
|
@ -22,22 +22,7 @@
|
|||
|
||||
namespace llvm {
|
||||
|
||||
#ifndef LLVM_ENABLE_ABI_BREAKING_CHECKS
|
||||
|
||||
class DebugEpochBase {
|
||||
public:
|
||||
void incrementEpoch() {}
|
||||
|
||||
class HandleBase {
|
||||
public:
|
||||
HandleBase() = default;
|
||||
explicit HandleBase(const DebugEpochBase *) {}
|
||||
bool isHandleInSync() const { return true; }
|
||||
const void *getEpochAddress() const { return nullptr; }
|
||||
};
|
||||
};
|
||||
|
||||
#else
|
||||
#if LLVM_ENABLE_ABI_BREAKING_CHECKS
|
||||
|
||||
/// \brief A base class for data structure classes wishing to make iterators
|
||||
/// ("handles") pointing into themselves fail-fast. When building without
|
||||
|
@ -92,6 +77,21 @@ public:
|
|||
};
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
class DebugEpochBase {
|
||||
public:
|
||||
void incrementEpoch() {}
|
||||
|
||||
class HandleBase {
|
||||
public:
|
||||
HandleBase() = default;
|
||||
explicit HandleBase(const DebugEpochBase *) {}
|
||||
bool isHandleInSync() const { return true; }
|
||||
const void *getEpochAddress() const { return nullptr; }
|
||||
};
|
||||
};
|
||||
|
||||
#endif // LLVM_ENABLE_ABI_BREAKING_CHECKS
|
||||
|
||||
} // namespace llvm
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
#ifndef LLVM_ADT_ILIST_NODE_OPTIONS_H
|
||||
#define LLVM_ADT_ILIST_NODE_OPTIONS_H
|
||||
|
||||
#include "llvm/Config/llvm-config.h"
|
||||
|
||||
#include <type_traits>
|
||||
|
||||
namespace llvm {
|
||||
|
@ -64,7 +66,7 @@ struct extract_sentinel_tracking<
|
|||
template <class Option1, class... Options>
|
||||
struct extract_sentinel_tracking<Option1, Options...>
|
||||
: extract_sentinel_tracking<Options...> {};
|
||||
#ifdef LLVM_ENABLE_ABI_BREAKING_CHECKS
|
||||
#if LLVM_ENABLE_ABI_BREAKING_CHECKS
|
||||
template <> struct extract_sentinel_tracking<> : std::true_type, is_implicit {};
|
||||
#else
|
||||
template <>
|
||||
|
|
|
@ -375,9 +375,8 @@
|
|||
/* Installation directory for documentation */
|
||||
#cmakedefine LLVM_DOCSDIR "${LLVM_DOCSDIR}"
|
||||
|
||||
/* Define if LLVM is built with asserts and checks that change the layout of
|
||||
client-visible data structures. */
|
||||
#cmakedefine LLVM_ENABLE_ABI_BREAKING_CHECKS
|
||||
/* Define to enable checks that alter the LLVM C++ ABI */
|
||||
#cmakedefine01 LLVM_ENABLE_ABI_BREAKING_CHECKS
|
||||
|
||||
/* Define if threads enabled */
|
||||
#cmakedefine01 LLVM_ENABLE_THREADS
|
||||
|
|
|
@ -26,9 +26,8 @@
|
|||
/* Installation directory for documentation */
|
||||
#cmakedefine LLVM_DOCSDIR "${LLVM_DOCSDIR}"
|
||||
|
||||
/* Define if LLVM is built with asserts and checks that change the layout of
|
||||
client-visible data structures. */
|
||||
#cmakedefine LLVM_ENABLE_ABI_BREAKING_CHECKS
|
||||
/* Define to enable checks that alter the LLVM C++ ABI */
|
||||
#cmakedefine01 LLVM_ENABLE_ABI_BREAKING_CHECKS
|
||||
|
||||
/* Define if threads enabled */
|
||||
#cmakedefine01 LLVM_ENABLE_THREADS
|
||||
|
|
|
@ -37,7 +37,7 @@ TEST(IListSentinelTest, DefaultConstructor) {
|
|||
Sentinel S;
|
||||
EXPECT_EQ(&S, LocalAccess::getPrev(S));
|
||||
EXPECT_EQ(&S, LocalAccess::getNext(S));
|
||||
#ifdef LLVM_ENABLE_ABI_BREAKING_CHECKS
|
||||
#if LLVM_ENABLE_ABI_BREAKING_CHECKS
|
||||
EXPECT_TRUE(S.isKnownSentinel());
|
||||
#else
|
||||
EXPECT_FALSE(S.isKnownSentinel());
|
||||
|
|
Loading…
Reference in New Issue