Skip to content

Commit 3fa590c

Browse files
authored
[Demangler] Remove no-op case of DEMANGLER_ASSERT
1 parent 7c63b8a commit 3fa590c

File tree

1 file changed

+7
-12
lines changed

1 file changed

+7
-12
lines changed

lib/Demangling/DemanglerAssert.h

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,30 +22,25 @@
2222
#include "swift/Demangling/Demangle.h"
2323
#include "swift/Demangling/NamespaceMacros.h"
2424

25-
#if SWIFT_RUNTIME
25+
#if !defined(NDEBUG) && !SWIFT_RUNTIME
2626

27-
// In the runtime, DEMANGLER_ASSERT() returns an error
27+
// Except in the runtime, DEMANGLER_ASSERT() works like assert()
2828
#define DEMANGLER_ASSERT(expr, node) \
2929
do { \
3030
if (!(expr)) \
31-
return ManglingError(ManglingError::AssertionFailed, (node), __LINE__); \
31+
swift::Demangle::failAssert(__FILE__, __LINE__, node, #expr); \
3232
} while (0)
3333

34-
#elif !defined(NDEBUG)
34+
#else
3535

36-
// If NDEBUG is not defined, DEMANGLER_ASSERT() works like assert()
36+
// In the runtime and non-asserts builds, DEMANGLER_ASSERT() returns an error
3737
#define DEMANGLER_ASSERT(expr, node) \
3838
do { \
3939
if (!(expr)) \
40-
swift::Demangle::failAssert(__FILE__, __LINE__, node, #expr); \
40+
return ManglingError(ManglingError::AssertionFailed, (node), __LINE__); \
4141
} while (0)
4242

43-
#else
44-
45-
// Otherwise, DEMANGLER_ASSERT() does nothing
46-
#define DEMANGLER_ASSERT(expr, node)
47-
48-
#endif // SWIFT_RUNTIME
43+
#endif // !defined(NDEBUG) && !SWIFT_RUNTIME
4944

5045
namespace swift {
5146
namespace Demangle {

0 commit comments

Comments
 (0)