Add a warning for implicit conversion from function literals (and static
methods) to bool. E.g.

void foo() {}
if (f) { ... // <- Warns here.
}

Only applies to non-weak functions, and does not apply if the function address
is taken explicitly with the addr-of operator.

llvm-svn: 145849
diff --git a/clang/test/SemaCXX/condition.cpp b/clang/test/SemaCXX/condition.cpp
index 3441bae..21671fa 100644
--- a/clang/test/SemaCXX/condition.cpp
+++ b/clang/test/SemaCXX/condition.cpp
@@ -49,6 +49,6 @@
   if ("help")
     (void) 0;
 
-  if (test3)
+  if (test3) // expected-warning {{address of function 'test3' will always evaluate to 'true'}}
     (void) 0;
 }