blob: 9888105518d910a3879ebc6561ce816cd1d54e62 [file] [log] [blame]
Daniel Dunbard7d5f022009-03-24 02:24:46 +00001// RUN: clang-cc -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) {
Mike Stump1eb44332009-09-09 15:08:12 +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) {
Mike Stump1eb44332009-09-09 15:08:12 +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}