1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 -fsyntax-only -Wfloat-equal -verify %s 2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint f1(float x, float y) { 4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao return x == y; // expected-warning {{comparing floating point with ==}} 5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao} 6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint f2(float x, float y) { 8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao return x != y; // expected-warning {{comparing floating point with ==}} 9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao} 10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint f3(float x) { 12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao return x == x; // no-warning 13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao} 14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint f4(float x) { 16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao return x == 0.0; // no-warning {{comparing}} 17ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao} 18ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 19ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint f5(float x) { 20ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao return x == __builtin_inf(); // no-warning 21ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao} 22ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 23ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint f7(float x) { 24ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao return x == 3.14159; // expected-warning {{comparing}} 25ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao} 26