diff options
| -rw-r--r-- | libcxx/test/support/test.workarounds/c1xx_empty_parameter_pack_expansion.pass.cpp | 49 | ||||
| -rw-r--r-- | libcxx/test/support/test_workarounds.h | 1 | ||||
| -rw-r--r-- | libcxx/test/support/uses_alloc_types.hpp | 7 |
3 files changed, 0 insertions, 57 deletions
diff --git a/libcxx/test/support/test.workarounds/c1xx_empty_parameter_pack_expansion.pass.cpp b/libcxx/test/support/test.workarounds/c1xx_empty_parameter_pack_expansion.pass.cpp deleted file mode 100644 index f25a9c9984c..00000000000 --- a/libcxx/test/support/test.workarounds/c1xx_empty_parameter_pack_expansion.pass.cpp +++ /dev/null @@ -1,49 +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_EMPTY_PARAMETER_PACK_EXPANSION. - -#include <type_traits> - -#include "test_workarounds.h" - -template<class T> -struct identity { - using type = T; -}; - -template<class...> struct list {}; - -// C1XX believes this function template is not viable when LArgs is an empty -// parameter pack. -template <class ...LArgs> -int f2(typename identity<LArgs>::type..., int i) { - return i; -} - -#ifdef TEST_WORKAROUND_C1XX_EMPTY_PARAMETER_PACK_EXPANSION -// C1XX believes this function template *is* viable when LArgs is an empty -// parameter pack. Conforming compilers believe the two overloads are -// ambiguous when LArgs is an empty pack. -template <class ...LArgs> -int f2(int i) { - return i; -} -#endif - -template <class ...LArgs, class ...Args> -int f1(list<LArgs...>, Args&&... args) { - return f2<LArgs const&...>(args...); -} - -int main() { - f1(list<>{}, 42); -} diff --git a/libcxx/test/support/test_workarounds.h b/libcxx/test/support/test_workarounds.h index ae123d7e41d..e88a14957d3 100644 --- a/libcxx/test/support/test_workarounds.h +++ b/libcxx/test/support/test_workarounds.h @@ -19,7 +19,6 @@ #if defined(TEST_COMPILER_C1XX) # 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 // VSO#119998 # endif diff --git a/libcxx/test/support/uses_alloc_types.hpp b/libcxx/test/support/uses_alloc_types.hpp index 7f92f0fd19c..426d2583ef8 100644 --- a/libcxx/test/support/uses_alloc_types.hpp +++ b/libcxx/test/support/uses_alloc_types.hpp @@ -257,13 +257,6 @@ private: return alloc; } -#ifdef TEST_WORKAROUND_C1XX_EMPTY_PARAMETER_PACK_EXPANSION - template <class ...LArgs> - static CtorAlloc getAllocatorFromPackImp(CtorAlloc const& alloc) { - return alloc; - } -#endif - bool has_alloc() const { return alloc_store.get_allocator() != nullptr; } const CtorAlloc *get_alloc() const { return alloc_store.get_allocator(); } public: |

