blob: ae0d0fe1509140d7b6231df97e33bfb747203b58 [file] [log] [blame]
Ted Kremenekdb87bca2007-11-13 18:37:02 +00001// RUN: clang -fsyntax-only -Wfloat-equal -verify %s
Ted Kremenek9b3d3a92007-08-29 18:06:12 +00002
Ted Kremenek9e7f0ec2007-11-29 01:00:11 +00003int f1(float x, float y) {
Ted Kremenek9b3d3a92007-08-29 18:06:12 +00004 return x == y; // expected-warning {{comparing floating point with ==}}
5}
6
Ted Kremenek9e7f0ec2007-11-29 01:00:11 +00007int f2(float x, float y) {
Ted Kremenek9b3d3a92007-08-29 18:06:12 +00008 return x != y; // expected-warning {{comparing floating point with ==}}
Ted Kremenek9f3d9422007-09-26 20:14:22 +00009}
Ted Kremenek6a261552007-10-29 16:40:01 +000010
Ted Kremenek9e7f0ec2007-11-29 01:00:11 +000011int f3(float x) {
Ted Kremenek6a261552007-10-29 16:40:01 +000012 return x == x; // no-warning
13}
Ted Kremenekc8f488d2007-11-13 19:17:00 +000014
Ted Kremenek9e7f0ec2007-11-29 01:00:11 +000015int f4(float x) {
Ted Kremenekb594a402007-11-29 01:03:21 +000016 return x == 0.0; // no-warning {{comparing}}
Ted Kremenekc8f488d2007-11-13 19:17:00 +000017}
18
Ted Kremenek9e7f0ec2007-11-29 01:00:11 +000019int f5(float x) {
Ted Kremenekc8f488d2007-11-13 19:17:00 +000020 return x == __builtin_inf(); // no-warning
Ted Kremenek9e7f0ec2007-11-29 01:00:11 +000021}
22
Ted Kremenek9e7f0ec2007-11-29 01:00:11 +000023int f7(float x) {
24 return x == 3.14159; // expected-warning {{comparing}}
25}