blob: 53e1cd085acd616aa8de668d5da76502c8987b25 [file] [log] [blame]
Jordan Rose36bc6b42013-09-18 18:58:58 +00001// RUN: %clang_cc1 -analyze -analyzer-checker=core -analyzer-store=region -verify %s
Jordan Rose36bc6b42013-09-18 18:58:58 +00002
3bool PR14634(int x) {
4 double y = (double)x;
5 return !y;
6}
7
8bool PR14634_implicit(int x) {
9 double y = (double)x;
10 return y;
11}
Jordan Rose7ae33622013-12-19 22:32:39 +000012
13void intAsBoolAsSwitchCondition(int c) {
Jordan Rose821f1022013-12-19 23:05:40 +000014 switch ((bool)c) { // expected-warning {{switch condition has boolean value}}
Jordan Rose7ae33622013-12-19 22:32:39 +000015 case 0:
16 break;
17 }
Jordan Rose821f1022013-12-19 23:05:40 +000018
19 switch ((int)(bool)c) { // no-warning
20 case 0:
21 break;
22 }
Jordan Rose7ae33622013-12-19 22:32:39 +000023}