Skip to content

Commit 18e6ae8

Browse files
[clang-tidy] Add some tests to 'bugprone-inconsistent-ifelse-braces'
1 parent 5f61932 commit 18e6ae8

File tree

2 files changed

+51
-9
lines changed

2 files changed

+51
-9
lines changed
Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,33 @@
11
// RUN: %check_clang_tidy -std=c++23-or-later %s bugprone-inconsistent-ifelse-braces %t
22

33
bool cond(const char *) { return false; }
4+
45
void do_something(const char *) {}
56

67
// Positive tests.
78
void f() {
89
if consteval {
910
if (cond("if1"))
10-
do_something("if-consteval-single-line");
11+
do_something("if-single-line");
1112
else {
1213
}
1314
// CHECK-MESSAGES: :[[@LINE-4]]:21: warning: <message> [bugprone-inconsistent-ifelse-braces]
1415
// CHECK-FIXES: if (cond("if1")) {
1516
// CHECK-FIXES: } else {
17+
}
18+
19+
if consteval {
20+
if (cond("if2"))
21+
do_something("if-single-line");
22+
else {
23+
}
24+
// CHECK-MESSAGES: :[[@LINE-4]]:21: warning: <message> [bugprone-inconsistent-ifelse-braces]
25+
// CHECK-FIXES: if (cond("if2")) {
26+
// CHECK-FIXES: } else {
1627
} else {
17-
if (cond("if1.1")) {
28+
if (cond("if2.1")) {
1829
} else
19-
do_something("if-consteval-single-line");
30+
do_something("else-single-line");
2031
// CHECK-MESSAGES: :[[@LINE-2]]:11: warning: <message> [bugprone-inconsistent-ifelse-braces]
2132
// CHECK-FIXES: } else {
2233
// CHECK-FIXES: }
@@ -25,4 +36,20 @@ void f() {
2536

2637
// Negative tests.
2738
void g() {
39+
if consteval {
40+
if (cond("if0")) {
41+
do_something("if-single-line");
42+
} else if (cond("if0")) {
43+
do_something("elseif-single-line");
44+
} else {
45+
do_something("else-single-line");
46+
}
47+
} else {
48+
if (cond("if0.1"))
49+
do_something("if-single-line");
50+
else if (cond("if0.1"))
51+
do_something("elseif-single-line");
52+
else
53+
do_something("else-single-line");
54+
}
2855
}

clang-tools-extra/test/clang-tidy/checkers/bugprone/inconsistent-ifelse-braces.cpp

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// RUN: %check_clang_tidy %s bugprone-inconsistent-ifelse-braces %t
22

33
bool cond(const char *) { return false; }
4+
45
void do_something(const char *) {}
56

67
// Positive tests.
@@ -68,14 +69,14 @@ void f() {
6869

6970
if (cond("if3.2")) {
7071
} else if (cond("if3.2")) {
71-
} else do_something("elseif-same-line");
72+
} else do_something("else-same-line");
7273
// CHECK-MESSAGES: :[[@LINE-1]]:9: warning: <message> [bugprone-inconsistent-ifelse-braces]
73-
// CHECK-FIXES: } else { do_something("elseif-same-line");
74+
// CHECK-FIXES: } else { do_something("else-same-line");
7475
// CHECK-FIXES: }
7576

7677
if (cond("if4-outer"))
7778
if (cond("if4-inner"))
78-
do_something("nested-if-single-line");
79+
do_something("if-single-line");
7980
else {
8081
}
8182
else {
@@ -88,7 +89,7 @@ void f() {
8889
// CHECK-FIXES: } else {
8990

9091
if (cond("if5"))
91-
do_something("noelse-single-line");
92+
do_something("if-single-line");
9293
else if (cond("if5")) {
9394
}
9495
// CHECK-MESSAGES: :[[@LINE-4]]:19: warning: <message> [bugprone-inconsistent-ifelse-braces]
@@ -97,12 +98,26 @@ void f() {
9798

9899
if (cond("if5.1")) {
99100
} else if (cond("if5.1"))
100-
do_something("noelse-single-line");
101+
do_something("elseif-single-line");
101102
// CHECK-MESSAGES: :[[@LINE-2]]:28: warning: <message> [bugprone-inconsistent-ifelse-braces]
102103
// CHECK-FIXES: } else if (cond("if5.1")) {
103104
// CHECK-FIXES: }
104105
}
105106

106107
// Negative tests.
107108
void g() {
108-
}
109+
if (cond("if0")) {
110+
do_something("if-single-line");
111+
} else if (cond("if0")) {
112+
do_something("elseif-single-line");
113+
} else {
114+
do_something("else-single-line");
115+
}
116+
117+
if (cond("if1"))
118+
do_something("if-single-line");
119+
else if (cond("if1"))
120+
do_something("elseif-single-line");
121+
else
122+
do_something("else-single-line");
123+
}

0 commit comments

Comments
 (0)