Clang Project

clang_source_code/test/SemaCXX/warn-address.cpp
1// RUN: %clang_cc1 -fsyntax-only -verify -Wno-bool-conversion -Wno-string-compare -Wno-tautological-compare -Waddress %s
2// RUN: %clang_cc1 -fsyntax-only -verify %s
3
4void foo();
5int arr[5];
6int global;
7const char* str = "";
8
9void test() {
10  if (foo) {}            // expected-warning{{always evaluate to 'true'}} \
11                         // expected-note{{silence}}
12  if (arr) {}            // expected-warning{{always evaluate to 'true'}}
13  if (&global) {}        // expected-warning{{always evaluate to 'true'}}
14  if (foo == 0) {}       // expected-warning{{always false}} \
15                         // expected-note{{silence}}
16  if (arr == 0) {}       // expected-warning{{always false}}
17  if (&global == 0) {}   // expected-warning{{always false}}
18
19  if (str == "foo") {}   // expected-warning{{unspecified}}
20}
21