From 0865d8a5d0dad27861afd64f494073b4050712f0 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Thu, 29 Nov 2007 01:00:11 +0000 Subject: [PATCH] Added test cases for -Wfloat-equal to test comparisons against literals that can be represented exactly and inexactly by APFloats. For the former, we do not emit a warning. llvm-svn: 44425 --- clang/test/Sema/floating-point-compare.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/clang/test/Sema/floating-point-compare.c b/clang/test/Sema/floating-point-compare.c index ac8fed2d62e3..e44ff096b2e6 100644 --- a/clang/test/Sema/floating-point-compare.c +++ b/clang/test/Sema/floating-point-compare.c @@ -1,21 +1,29 @@ // RUN: clang -fsyntax-only -Wfloat-equal -verify %s -int foo(float x, float y) { +int f1(float x, float y) { return x == y; // expected-warning {{comparing floating point with ==}} } -int bar(float x, float y) { +int f2(float x, float y) { return x != y; // expected-warning {{comparing floating point with ==}} } -int qux(float x) { +int f3(float x) { return x == x; // no-warning } -int baz(float x) { +int f4(float x) { return x == 0.0; // expected-warning {{comparing}} } -int taz(float x) { +int f5(float x) { return x == __builtin_inf(); // no-warning -} \ No newline at end of file +} + +int f6(float x) { + return x == 0.0; // no-warning +} + +int f7(float x) { + return x == 3.14159; // expected-warning {{comparing}} +}