1*67e74705SXin Li // RUN: %clang_cc1 -triple i686-pc-win32 -std=c++11 -verify %s 2*67e74705SXin Li 3*67e74705SXin Li struct S { 4*67e74705SXin Li virtual ~S() = delete; // expected-note {{'~S' has been explicitly marked deleted here}} 5*67e74705SXin Li void operator delete(void*, int); 6*67e74705SXin Li void operator delete(void*, double); 7*67e74705SXin Li } s; // expected-error {{attempt to use a deleted function}} 8*67e74705SXin Li 9*67e74705SXin Li struct T { // expected-note{{virtual destructor requires an unambiguous, accessible 'operator delete'}} 10*67e74705SXin Li virtual ~T() = default; // expected-note {{explicitly defaulted function was implicitly deleted here}} 11*67e74705SXin Li void operator delete(void*, int); 12*67e74705SXin Li void operator delete(void*, double); 13*67e74705SXin Li } t; // expected-error {{attempt to use a deleted function}} 14