diff options
Diffstat (limited to 'test/CXX/temp/temp.fct.spec/temp.deduct/cwg1170.cpp')
-rw-r--r-- | test/CXX/temp/temp.fct.spec/temp.deduct/cwg1170.cpp | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/test/CXX/temp/temp.fct.spec/temp.deduct/cwg1170.cpp b/test/CXX/temp/temp.fct.spec/temp.deduct/cwg1170.cpp deleted file mode 100644 index 47184ec03455..000000000000 --- a/test/CXX/temp/temp.fct.spec/temp.deduct/cwg1170.cpp +++ /dev/null @@ -1,42 +0,0 @@ -// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s -// expected-no-diagnostics - -#if !__has_feature(cxx_access_control_sfinae) -# error No support for access control as part of SFINAE? -#endif - -typedef char yes_type; -typedef char (&no_type)[2]; - -template<unsigned N> struct unsigned_c { }; - -template<typename T> -class has_copy_constructor { - static T t; - - template<typename U> static yes_type check(unsigned_c<sizeof(U(t))> * = 0); - template<typename U> static no_type check(...); - -public: - static const bool value = (sizeof(check<T>(0)) == sizeof(yes_type)); -}; - -struct HasCopy { }; - -struct HasNonConstCopy { - HasNonConstCopy(HasNonConstCopy&); -}; - -struct HasDeletedCopy { - HasDeletedCopy(const HasDeletedCopy&) = delete; -}; - -struct HasPrivateCopy { -private: - HasPrivateCopy(const HasPrivateCopy&); -}; - -int check0[has_copy_constructor<HasCopy>::value? 1 : -1]; -int check1[has_copy_constructor<HasNonConstCopy>::value? 1 : -1]; -int check2[has_copy_constructor<HasDeletedCopy>::value? -1 : 1]; -int check3[has_copy_constructor<HasPrivateCopy>::value? -1 : 1]; |