forked from OSchip/llvm-project
36 lines
616 B
C++
36 lines
616 B
C++
// RUN: %clang_cc1 -fsyntax-only -verify %s
|
|
|
|
void f1(int a) {
|
|
if (a); // expected-warning {{if statement has empty body}}
|
|
}
|
|
|
|
void f2(int a) {
|
|
if (a) {}
|
|
}
|
|
|
|
void f3() {
|
|
if (1)
|
|
xx; // expected-error {{use of undeclared identifier}}
|
|
return; // no empty body warning.
|
|
}
|
|
|
|
// Don't warn about an empty body if is expanded from a macro.
|
|
void f4(int i) {
|
|
#define BODY(x)
|
|
if (i == i) // expected-warning{{self-comparison always evaluates to true}}
|
|
BODY(0);
|
|
#undef BODY
|
|
}
|
|
|
|
template <typename T>
|
|
void tf() {
|
|
#define BODY(x)
|
|
if (0)
|
|
BODY(0);
|
|
#undef BODY
|
|
}
|
|
|
|
void f5() {
|
|
tf<int>();
|
|
}
|