Author: ericwf Date: Fri Jan 20 13:34:19 2017 New Revision: 292638 URL: http://llvm.org/viewvc/llvm-project?rev=292638&view=rev Log: Fix catch_reference_nullptr.pass.cpp test for GCC.
This test contained an implicit conversion from nullptr to bool. Clang warns about this but the test had supressed that warning. However GCC diagnoses the same code as an error and requires -fpermissive to accept it. This patch fixes both the warning and the error by explicitly converting the pointer to bool. Modified: libcxxabi/trunk/test/catch_reference_nullptr.pass.cpp Modified: libcxxabi/trunk/test/catch_reference_nullptr.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/test/catch_reference_nullptr.pass.cpp?rev=292638&r1=292637&r2=292638&view=diff ============================================================================== --- libcxxabi/trunk/test/catch_reference_nullptr.pass.cpp (original) +++ libcxxabi/trunk/test/catch_reference_nullptr.pass.cpp Fri Jan 20 13:34:19 2017 @@ -12,12 +12,6 @@ #include <cassert> #include <cstdlib> -// Clang emits a warning on converting an object of type nullptr_t to bool, -// even in generic code. Suppress it. -#if defined(__clang__) -#pragma clang diagnostic ignored "-Wnull-conversion" -#endif - struct A {}; template<typename T, bool CanCatchNullptr> @@ -25,7 +19,7 @@ static void catch_nullptr_test() { try { throw nullptr; } catch (T &p) { - assert(CanCatchNullptr && !p); + assert(CanCatchNullptr && !static_cast<bool>(p)); } catch (...) { assert(!CanCatchNullptr); } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits