1*67e74705SXin Li // RUN: %clang_cc1 -verify -fsyntax-only %s 2*67e74705SXin Li 3*67e74705SXin Li float foof(float x); 4*67e74705SXin Li double food(double x); 5*67e74705SXin Li void foo(bool b, float f); 6*67e74705SXin Li bar()7*67e74705SXin Livoid bar() { 8*67e74705SXin Li 9*67e74705SXin Li float c = 1.7; 10*67e74705SXin Li bool b = c; 11*67e74705SXin Li 12*67e74705SXin Li double e = 1.7; 13*67e74705SXin Li b = e; 14*67e74705SXin Li 15*67e74705SXin Li b = foof(4.0); 16*67e74705SXin Li 17*67e74705SXin Li b = foof(c < 1); // expected-warning {{implicit conversion turns floating-point number into bool: 'float' to 'bool'}} 18*67e74705SXin Li 19*67e74705SXin Li b = food(e < 2); // expected-warning {{implicit conversion turns floating-point number into bool: 'double' to 'bool'}} 20*67e74705SXin Li 21*67e74705SXin Li foo(c, b); // expected-warning {{implicit conversion turns floating-point number into bool: 'float' to 'bool'}} 22*67e74705SXin Li foo(c, c); 23*67e74705SXin Li 24*67e74705SXin Li } 25