[propagation]/5 says An object of type exception_ptr can be compared for equality with a null pointer constant
#include <exception> int main() { std::exception_ptr p; return (p == 0); } eptr.cc: In function int main(): eptr.cc:7: error: ambiguous overload for operator== in p == 0 eptr.cc:7: note: candidates are: operator==(void (std::__exception_ptr::exception_ptr::*)(), void (std::__exception_ptr::exception_ptr::*)()) <built-in> /dev/shm/wakelyjo/insroot/gcc/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/exception_ptr.h:148: note: bool std::__exception_ptr::operator==(const std::__exception_ptr::exception_ptr&, const std::__exception_ptr::exception_ptr&) -- Summary: [C++0x] std::exception_ptr comparisons Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jwakely dot gcc at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40296