1651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 -fsyntax-only -verify -Wno-bool-conversion -Wno-string-compare -Wno-tautological-compare -Waddress %s
2651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 -fsyntax-only -verify %s
3651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
4651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid foo();
5651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint arr[5];
6651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint global;
7651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesconst char* str = "";
8651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
9651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test() {
10651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  if (foo) {}            // expected-warning{{always evaluate to 'true'}} \
11651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines                         // expected-note{{silence}}
12651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  if (arr) {}            // expected-warning{{always evaluate to 'true'}}
13651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  if (&global) {}        // expected-warning{{always evaluate to 'true'}}
14651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  if (foo == 0) {}       // expected-warning{{always false}} \
15651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines                         // expected-note{{silence}}
16651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  if (arr == 0) {}       // expected-warning{{always false}}
17651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  if (&global == 0) {}   // expected-warning{{always false}}
18651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
19651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines  if (str == "foo") {}   // expected-warning{{unspecified}}
20651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines}
21