Skip to content

Commit 174983f

Browse files
authored
Merge pull request swiftlang#74581 from tbkka/tbkka-assertions-2
Minor improvements to new ASSERT macros
2 parents 4207dce + 967fde0 commit 174983f

File tree

2 files changed

+5
-16
lines changed

2 files changed

+5
-16
lines changed

include/swift/Basic/Assertions.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717
#ifndef SWIFT_BASIC_ASSERTIONS_H
1818
#define SWIFT_BASIC_ASSERTIONS_H
1919

20-
#include <stdint.h>
21-
2220
// Only for use in this header
2321
#if __has_builtin(__builtin_expect)
2422
#define ASSERT_UNLIKELY(expression) (__builtin_expect(!!(expression), 0))
@@ -46,7 +44,7 @@
4644
#define ASSERT(expr) \
4745
do { \
4846
if (ASSERT_UNLIKELY(!expr)) { \
49-
ASSERT_failure(#expr, __FILE__, __LINE__, __func__); \
47+
ASSERT_failure(#expr, __FILE_NAME__, __LINE__, __func__); \
5048
} \
5149
} while (0)
5250

lib/Basic/Assertions.cpp

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,7 @@ int CONDITIONAL_ASSERT_Global_enable_flag =
3535
0; // TODO: Default to `on` in debug builds
3636
#endif
3737

38-
void ASSERT_failure(const char *expr, const char *file, int line, const char *func) {
39-
// Only print the last component of `file`
40-
const char *f = file;
41-
for (const char *p = file; *p != '\0'; p++) {
42-
if ((p[0] == '/' || p[0] == '\\')
43-
&& p[1] != '/' && p[1] != '\\' && p[1] != '\0') {
44-
f = p + 1;
45-
}
46-
}
47-
38+
void ASSERT_failure(const char *expr, const char *filename, int line, const char *func) {
4839
if (AssertHelp) {
4940
ASSERT_help();
5041
} else {
@@ -56,9 +47,9 @@ void ASSERT_failure(const char *expr, const char *file, int line, const char *fu
5647
std::cerr
5748
<< "Assertion failed: "
5849
<< "(" << expr << "), "
59-
<< "function " << func << ", "
60-
<< "file " << f << ", "
61-
<< "line " << line << "."
50+
<< "function " << func << " at "
51+
<< filename << ":"
52+
<< line << "."
6253
<< std::endl;
6354

6455
if (AssertContinue) {

0 commit comments

Comments
 (0)