Lines Matching +full:- +full:y

1 // RUN: %clang_analyze_cc1 -analyzer-checker=core,alpha.core.BoolAssignment,optin.taint -verify -std=c99 -Dbool=_Bool %s
2 // RUN: %clang_analyze_cc1 -analyzer-checker=core,alpha.core.BoolAssignment,optin.taint -verify -x c++ %s
9 void test_stdbool_initialization(int y) {
10 bool constant = 2; // no-warning
11 if (y < 0) {
12 bool x = y; // no-warning
15 if (y > 1) {
16 bool x = y; // no-warning
19 bool x = y; // no-warning
22 void test_stdbool_assignment(int y) {
23 bool x = 0; // no-warning
24 if (y < 0) {
25 x = y; // no-warning
28 if (y > 1) {
29 x = y; // no-warning
32 x = y; // no-warning
35 // Test Objective-C's BOOL
39 void test_BOOL_initialization(int y) {
40 BOOL constant = 2; // expected-warning {{Assignment of a non-Boolean value}}
41 if (y < 0) {
42 BOOL x = y; // expected-warning {{Assignment of a non-Boolean value}}
45 if (y > 200 && y < 250) {
47 BOOL x = y; // expected-warning {{Assignment of a non-Boolean value}}
49 BOOL x = y; // no-warning
53 if (y >= 127 && y < 150) {
54 BOOL x = y; // expected-warning{{Assignment of a non-Boolean value}}
57 if (y > 1) {
58 BOOL x = y; // expected-warning {{Assignment of a non-Boolean value}}
61 BOOL x = y; // no-warning
64 void test_BOOL_assignment(int y) {
65 BOOL x = 0; // no-warning
66 if (y < 0) {
67 x = y; // expected-warning {{Assignment of a non-Boolean value}}
70 if (y > 1) {
71 x = y; // expected-warning {{Assignment of a non-Boolean value}}
74 x = y; // no-warning
82 void test_Boolean_initialization(int y) {
83 Boolean constant = 2; // expected-warning {{Assignment of a non-Boolean value}}
84 if (y < 0) {
85 Boolean x = y; // expected-warning {{Assignment of a non-Boolean value}}
88 if (y > 1) {
89 Boolean x = y; // expected-warning {{Assignment of a non-Boolean value}}
92 Boolean x = y; // no-warning
95 void test_Boolean_assignment(int y) {
96 Boolean x = 0; // no-warning
97 if (y < 0) {
98 x = y; // expected-warning {{Assignment of a non-Boolean value}}
101 if (y > 1) {
102 x = y; // expected-warning {{Assignment of a non-Boolean value}}
105 x = y; // no-warning
112 Boolean copy = n; // expected-warning {{Might assign a tainted non-Boolean value}}