From b4f3924dd549aded4d5e154db46bcf448465f306 Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Thu, 25 May 2017 17:42:21 +0000 Subject: [PATCH] [test] Remove workaround for C1XX conversion-to-nullptr bug VSO#391542 "Types can't be convertible to nullptr_t" Also put internal bug numbers on the workarounds in test_workarounds.h for correlation. Differential Revision: https://reviews.llvm.org/D33290 llvm-svn: 303889 --- libcxx/test/support/poisoned_hash_helper.hpp | 2 -- ...roken_nullptr_conversion_operator.pass.cpp | 29 ------------------- libcxx/test/support/test_workarounds.h | 9 +++--- 3 files changed, 4 insertions(+), 36 deletions(-) delete mode 100644 libcxx/test/support/test.workarounds/c1xx_broken_nullptr_conversion_operator.pass.cpp diff --git a/libcxx/test/support/poisoned_hash_helper.hpp b/libcxx/test/support/poisoned_hash_helper.hpp index 824c35837b2b..6f42ebf8b480 100644 --- a/libcxx/test/support/poisoned_hash_helper.hpp +++ b/libcxx/test/support/poisoned_hash_helper.hpp @@ -50,10 +50,8 @@ namespace PoisonedHashDetail { // specializations of hash for nullptr t and all cv-unqualified // arithmetic, enumeration, and pointer types. using LibraryHashTypes = TypeList< -#if !defined(TEST_WORKAROUND_C1XX_BROKEN_NULLPTR_CONVERSION_OPERATOR) #if TEST_STD_VER > 14 decltype(nullptr), -#endif #endif bool, char, diff --git a/libcxx/test/support/test.workarounds/c1xx_broken_nullptr_conversion_operator.pass.cpp b/libcxx/test/support/test.workarounds/c1xx_broken_nullptr_conversion_operator.pass.cpp deleted file mode 100644 index 250d06d2b902..000000000000 --- a/libcxx/test/support/test.workarounds/c1xx_broken_nullptr_conversion_operator.pass.cpp +++ /dev/null @@ -1,29 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// UNSUPPORTED: c++98, c++03 - -// Verify TEST_WORKAROUND_C1XX_BROKEN_NULLPTR_CONVERSION_OPERATOR. - -#include - -#include "test_workarounds.h" - -struct ConvertsToNullptr { - using DestType = decltype(nullptr); - operator DestType() const { return nullptr; } -}; - -int main() { -#if defined(TEST_WORKAROUND_C1XX_BROKEN_NULLPTR_CONVERSION_OPERATOR) - static_assert(!std::is_convertible::value, ""); -#else - static_assert(std::is_convertible::value, ""); -#endif -} diff --git a/libcxx/test/support/test_workarounds.h b/libcxx/test/support/test_workarounds.h index 883ddb31f12b..ae123d7e41d0 100644 --- a/libcxx/test/support/test_workarounds.h +++ b/libcxx/test/support/test_workarounds.h @@ -14,15 +14,14 @@ #include "test_macros.h" #if defined(TEST_COMPILER_EDG) -# define TEST_WORKAROUND_EDG_EXPLICIT_CONSTEXPR +# define TEST_WORKAROUND_EDG_EXPLICIT_CONSTEXPR // VSO#424280 #endif #if defined(TEST_COMPILER_C1XX) -# define TEST_WORKAROUND_C1XX_BROKEN_NULLPTR_CONVERSION_OPERATOR -# define TEST_WORKAROUND_C1XX_BROKEN_IS_TRIVIALLY_COPYABLE -# define TEST_WORKAROUND_C1XX_EMPTY_PARAMETER_PACK_EXPANSION +# define TEST_WORKAROUND_C1XX_BROKEN_IS_TRIVIALLY_COPYABLE // VSO#117743 +# define TEST_WORKAROUND_C1XX_EMPTY_PARAMETER_PACK_EXPANSION // VSO#109062 # ifndef _MSC_EXTENSIONS -# define TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK +# define TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK // VSO#119998 # endif #endif