[PATCH] D33290: [libcxx] [test] Remove workaround for C1XX conversion-to-nullptr bug

Casey Carter via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu May 25 10:42:38 PDT 2017


This revision was automatically updated to reflect the committed changes.
CaseyCarter marked an inline comment as done.
Closed by commit rL303889: [test] Remove workaround for C1XX conversion-to-nullptr bug (authored by CaseyCarter).

Changed prior to commit:
  https://reviews.llvm.org/D33290?vs=99336&id=100265#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D33290

Files:
  libcxx/trunk/test/support/poisoned_hash_helper.hpp
  libcxx/trunk/test/support/test.workarounds/c1xx_broken_nullptr_conversion_operator.pass.cpp
  libcxx/trunk/test/support/test_workarounds.h


Index: libcxx/trunk/test/support/test.workarounds/c1xx_broken_nullptr_conversion_operator.pass.cpp
===================================================================
--- libcxx/trunk/test/support/test.workarounds/c1xx_broken_nullptr_conversion_operator.pass.cpp
+++ libcxx/trunk/test/support/test.workarounds/c1xx_broken_nullptr_conversion_operator.pass.cpp
@@ -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 <type_traits>
-
-#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<ConvertsToNullptr, decltype(nullptr)>::value, "");
-#else
-  static_assert(std::is_convertible<ConvertsToNullptr, decltype(nullptr)>::value, "");
-#endif
-}
Index: libcxx/trunk/test/support/test_workarounds.h
===================================================================
--- libcxx/trunk/test/support/test_workarounds.h
+++ libcxx/trunk/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
 
Index: libcxx/trunk/test/support/poisoned_hash_helper.hpp
===================================================================
--- libcxx/trunk/test/support/poisoned_hash_helper.hpp
+++ libcxx/trunk/test/support/poisoned_hash_helper.hpp
@@ -50,11 +50,9 @@
 // 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,
       signed char,


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D33290.100265.patch
Type: text/x-patch
Size: 2846 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170525/203dfe9d/attachment-0001.bin>


More information about the cfe-commits mailing list