llvm-project/clang/test/SemaCXX/deleted-operator.cpp
Hans Wennborg 9125b08b52 Update tests in preparation for using the MS ABI for Win32 targets
In preparation for making the Win32 triple imply MS ABI mode,
make all tests pass in this mode, or make them use the Itanium
mode explicitly.

Differential Revision: http://llvm-reviews.chandlerc.com/D2401

llvm-svn: 199130
2014-01-13 19:48:13 +00:00

20 lines
834 B
C++

// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
struct PR10757 {
bool operator~() = delete; // expected-note {{explicitly deleted}}
bool operator==(const PR10757&) = delete; // expected-note {{explicitly deleted}}
operator float();
};
int PR10757f() {
PR10757 a1;
// FIXME: We get a ridiculous number of "built-in candidate" notes here...
if(~a1) {} // expected-error {{overload resolution selected deleted operator}} expected-note 8 {{built-in candidate}}
if(a1==a1) {} // expected-error {{overload resolution selected deleted operator}} expected-note 121 {{built-in candidate}}
}
struct DelOpDel {
// FIXME: In MS ABI, we error twice below.
virtual ~DelOpDel() {} // expected-error 1-2 {{attempt to use a deleted function}}
void operator delete(void*) = delete; // expected-note 1-2 {{deleted here}}
};