blob: 60f971c6df97fe8893f4974df158a93f144c2b1f [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -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}