blob: 6eb65d61df42a73a2adf0214a6083f90adbd3dfe [file] [log] [blame]
Sean Hunt7880bc32011-05-13 01:01:05 +00001// Without PCH
Richard Smith762bb9d2011-10-13 22:29:44 +00002// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify -include %s %s
Sean Hunt7880bc32011-05-13 01:01:05 +00003// With PCH
Richard Smith762bb9d2011-10-13 22:29:44 +00004// RUN: %clang_cc1 -x c++-header -std=c++11 -emit-pch -o %t %s
5// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify -include-pch %t %s
Sean Hunt7880bc32011-05-13 01:01:05 +00006
7#ifndef PASS1
8#define PASS1
9
10struct foo {
11 foo() = default;
12 void bar() = delete; // expected-note{{deleted here}}
13};
14
Richard Smithdfefb842012-02-25 07:33:38 +000015struct baz {
16 ~baz() = delete; // expected-note{{deleted here}}
17};
18
19class quux {
20 ~quux() = default; // expected-note{{private here}}
21};
22
Sean Hunt7880bc32011-05-13 01:01:05 +000023#else
24
Sean Hunt82713172011-05-25 23:16:36 +000025foo::foo() { } // expected-error{{definition of explicitly defaulted default constructor}}
Sean Hunt7880bc32011-05-13 01:01:05 +000026foo f;
27void fn() {
28 f.bar(); // expected-error{{deleted function}}
29}
30
Richard Smithdfefb842012-02-25 07:33:38 +000031baz bz; // expected-error{{deleted function}}
32quux qx; // expected-error{{private destructor}}
33
Sean Hunt7880bc32011-05-13 01:01:05 +000034#endif