diff options
Diffstat (limited to 'test/CXX/expr/expr.unary/expr.delete/p10.cpp')
-rw-r--r-- | test/CXX/expr/expr.unary/expr.delete/p10.cpp | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/test/CXX/expr/expr.unary/expr.delete/p10.cpp b/test/CXX/expr/expr.unary/expr.delete/p10.cpp deleted file mode 100644 index aad2747dd32f..000000000000 --- a/test/CXX/expr/expr.unary/expr.delete/p10.cpp +++ /dev/null @@ -1,25 +0,0 @@ -// RUN: %clang_cc1 -std=c++1z -verify %s - -using size_t = decltype(sizeof(0)); -namespace std { enum class align_val_t : size_t {}; } - -// Aligned version is preferred over unaligned version, -// unsized version is preferred over sized version. -template<unsigned Align> -struct alignas(Align) A { - void operator delete(void*); - void operator delete(void*, std::align_val_t) = delete; // expected-note {{here}} - - void operator delete(void*, size_t) = delete; - void operator delete(void*, size_t, std::align_val_t) = delete; -}; -void f(A<__STDCPP_DEFAULT_NEW_ALIGNMENT__> *p) { delete p; } -void f(A<__STDCPP_DEFAULT_NEW_ALIGNMENT__ * 2> *p) { delete p; } // expected-error {{deleted}} - -template<unsigned Align> -struct alignas(Align) B { - void operator delete(void*, size_t); - void operator delete(void*, size_t, std::align_val_t) = delete; // expected-note {{here}} -}; -void f(B<__STDCPP_DEFAULT_NEW_ALIGNMENT__> *p) { delete p; } -void f(B<__STDCPP_DEFAULT_NEW_ALIGNMENT__ * 2> *p) { delete p; } // expected-error {{deleted}} |