blob: 1387a63264390f6424e15d7440109680739e2670 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
struct NoCopyCstr {
NoCopyCstr() {}
// No copy constructor but a move constructor means we have an
// implicitly deleted copy constructor (C++11 [class.copy]p7, p18).
NoCopyCstr(NoCopyCstr &&);
};
struct IndirectlyDeletedCopyCstr {
// This field indirectly deletes the implicit copy constructor.
NoCopyCstr field;
// Completing in the constructor or constructing the class
// will cause Sema to declare the special members of IndirectlyDeletedCopyCstr.
// If we correctly set the deleted implicit copy constructor in NoCopyCstr then this
// should have propagated to this record and Clang won't crash.
IndirectlyDeletedCopyCstr() { //%self.expect_expr("IndirectlyDeletedCopyCstr x; 1+1", result_type="int", result_value="2")
//%self.dbg.GetCommandInterpreter().HandleCompletion("e ", len("e "), 0, -1, lldb.SBStringList())
}
};
int main() {
IndirectlyDeletedCopyCstr{};
}
|