forked from OSchip/llvm-project
49 lines
1.2 KiB
C++
49 lines
1.2 KiB
C++
// RUN: %check_clang_tidy %s readability-braces-around-statements %t -- -- -std=c++17
|
|
|
|
void handle(bool);
|
|
|
|
template <bool branch>
|
|
void shouldFail() {
|
|
if constexpr (branch)
|
|
// CHECK-MESSAGES: :[[@LINE-1]]:24: warning: statement should be inside braces [readability-braces-around-statements]
|
|
handle(true);
|
|
else
|
|
// CHECK-MESSAGES: :[[@LINE-1]]:7: warning: statement should be inside braces [readability-braces-around-statements]
|
|
handle(false);
|
|
}
|
|
|
|
template <bool branch>
|
|
void shouldPass() {
|
|
if constexpr (branch) {
|
|
handle(true);
|
|
} else {
|
|
handle(false);
|
|
}
|
|
}
|
|
|
|
void shouldFailNonTemplate() {
|
|
constexpr bool branch = false;
|
|
if constexpr (branch)
|
|
// CHECK-MESSAGES: :[[@LINE-1]]:24: warning: statement should be inside braces [readability-braces-around-statements]
|
|
handle(true);
|
|
else
|
|
// CHECK-MESSAGES: :[[@LINE-1]]:7: warning: statement should be inside braces [readability-braces-around-statements]
|
|
handle(false);
|
|
}
|
|
|
|
void shouldPass() {
|
|
constexpr bool branch = false;
|
|
if constexpr (branch) {
|
|
handle(true);
|
|
} else {
|
|
handle(false);
|
|
}
|
|
}
|
|
|
|
void run() {
|
|
shouldFail<true>();
|
|
shouldFail<false>();
|
|
shouldPass<true>();
|
|
shouldPass<false>();
|
|
}
|