Modernize conversion to bool to the explicit bool conversion operator (library wide).  This fixes http://llvm.org/bugs/show_bug.cgi?id=12058.

llvm-svn: 151088
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: f2f2d8b98d7a7ae89f4c646be6dea7730b6409e0
diff --git a/include/functional b/include/functional
index 8f912fb..f941df2 100644
--- a/include/functional
+++ b/include/functional
@@ -1163,7 +1163,7 @@
 
     // function capacity:
     _LIBCPP_INLINE_VISIBILITY
-    /*explicit*/ operator bool() const _NOEXCEPT {return __f_;}
+        _LIBCPP_EXPLICIT operator bool() const _NOEXCEPT {return __f_;}
 
     // deleted overloads close possible hole in the type system
     template<class _R2, class... _ArgTypes2>