From 292533324cadf0164a7e1d532508cb59775e0a72 Mon Sep 17 00:00:00 2001 From: Ryan Prichard Date: Fri, 4 Nov 2022 15:51:44 -0700 Subject: [PATCH] [libc++abi] Use std::nullptr_t instead of declaring it manually Sometimes libc++'s stddef.h wrapper gets included, which defines ::nullptr_t. This test is compiled with -Wshadow -Werror, so shadowing ::nullptr_t with a nullptr_t in main is an error. Include cstddef, which is guaranteed to define std::nullptr_t in C++11 and forward. Reviewed By: ldionne, #libc_abi Differential Revision: https://reviews.llvm.org/D137127 --- libcxxabi/test/catch_reference_nullptr.pass.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/libcxxabi/test/catch_reference_nullptr.pass.cpp b/libcxxabi/test/catch_reference_nullptr.pass.cpp index 708d5d798a1d..e9c3ba31b06b 100644 --- a/libcxxabi/test/catch_reference_nullptr.pass.cpp +++ b/libcxxabi/test/catch_reference_nullptr.pass.cpp @@ -6,11 +6,13 @@ // //===----------------------------------------------------------------------===// -// UNSUPPORTED: c++03, +// UNSUPPORTED: c++03 // UNSUPPORTED: no-exceptions #include +#include #include +#include struct A {}; @@ -27,13 +29,13 @@ static void catch_nullptr_test() { int main(int, char**) { - using nullptr_t = decltype(nullptr); + static_assert(std::is_same::value, ""); // A reference to nullptr_t can catch nullptr. - catch_nullptr_test(); - catch_nullptr_test(); - catch_nullptr_test(); - catch_nullptr_test(); + catch_nullptr_test(); + catch_nullptr_test(); + catch_nullptr_test(); + catch_nullptr_test(); // No other reference type can. #if 0