blob: 59d5f406918890fd70464d5ba385cb16f8c36812 [file] [log] [blame]
// 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
}