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