[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
Wed May 17 10:30:48 PDT 2017
CaseyCarter created this revision.
VSO#391542 "Types can't be convertible to nullptr_t," which will be fixed in the next release of Visual C++.
Also put internal bug numbers on the workarounds in test_workarounds.h for ease of correlation.
https://reviews.llvm.org/D33290
Files:
test/support/test.workarounds/c1xx_broken_nullptr_conversion_operator.pass.cpp
test/support/test_workarounds.h
Index: test/support/test_workarounds.h
===================================================================
--- test/support/test_workarounds.h
+++ 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: test/support/test.workarounds/c1xx_broken_nullptr_conversion_operator.pass.cpp
===================================================================
--- 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 <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
-}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D33290.99326.patch
Type: text/x-patch
Size: 2113 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170517/e0da4979/attachment.bin>
More information about the cfe-commits
mailing list