warn-implicit-conversion-floating-point-to-bool.cpp 585 B

123456789101112131415161718192021222324
  1. // RUN: %clang_cc1 -verify -fsyntax-only %s
  2. float foof(float x);
  3. double food(double x);
  4. void foo(bool b, float f);
  5. void bar() {
  6. float c = 1.7;
  7. bool b = c;
  8. double e = 1.7;
  9. b = e;
  10. b = foof(4.0);
  11. b = foof(c < 1); // expected-warning {{implicit conversion turns floating-point number into bool: 'float' to 'bool'}}
  12. b = food(e < 2); // expected-warning {{implicit conversion turns floating-point number into bool: 'double' to 'bool'}}
  13. foo(c, b); // expected-warning {{implicit conversion turns floating-point number into bool: 'float' to 'bool'}}
  14. foo(c, c);
  15. }