1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
// RUN: %check_clang_tidy %s readability-misleading-indentation %t
void foo1();
void foo2();
#define BLOCK \
if (cond1) \
foo1(); \
foo2();
int main()
{
bool cond1 = true;
bool cond2 = true;
if (cond1)
if (cond2)
foo1();
else
foo2();
// CHECK-MESSAGES: :[[@LINE-2]]:3: warning: different indentation for 'if' and corresponding 'else' [readability-misleading-indentation]
if (cond1) {
if (cond2)
foo1();
}
else
foo2();
if (cond1)
if (cond2)
foo1();
else
foo2();
if (cond2)
foo1();
foo2();
// CHECK-MESSAGES: :[[@LINE-1]]:5: warning: misleading indentation: statement is indented too deeply [readability-misleading-indentation]
// CHECK-MESSAGES: :[[@LINE-4]]:3: note: did you mean this line to be inside this 'if'
foo2(); // No redundant warning.
if (cond1)
{
foo1();
}
foo2();
if (cond1)
foo1();
foo2();
if (cond2)
if (cond1) foo1(); else foo2();
if (cond1) {
} else {
}
if (cond1) {
}
else {
}
if (cond1)
{
}
else
{
}
if (cond1)
{
}
else
{
}
if(cond1) {
}
else if (cond2) {
}
else {
}
if(cond1) {
}
else if (cond2) {
}
else {
}
// CHECK-MESSAGES: :[[@LINE-2]]:8: warning: different indentation for 'if' and corresponding 'else' [readability-misleading-indentation]
if (cond1) {
if (cond1) {
}
else if (cond2) {
}
else {
}
if (cond1) {
} else if (cond2) {
} else if (!cond2) {
} else {
}
}
else if (cond2) {
}
BLOCK
}
|