aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/init/const10.C
blob: ecd0db4501bc2c353c14ad1db824614888235d52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// PR C++/52369
// { dg-do compile { target c++11 } }

class B // { dg-message "implicitly deleted" }
        // { dg-error "uninitialized" "" { target c++11 } 4 }
{
  int const v_; // { dg-message "should be initialized" }
};

struct D : B {}; // { dg-error "deleted" }

class A // { dg-message "implicitly deleted" }
	// { dg-error "uninitialized" "" { target c++11 } 12 }
{
  int& ref; // { dg-message "should be initialized" }
};

struct C : A {}; // { dg-error "deleted" }

void f()
{
  D d; // { dg-error "use of deleted" }
  new D; // { dg-error "use of deleted" }
  D(); // { dg-error "use of deleted" }
  new D(); // { dg-error "use of deleted" }

  C c; // { dg-error "use of deleted" }
  new C; // { dg-error "use of deleted" }
  C(); // { dg-error "use of deleted" }
  new C(); // { dg-error "use of deleted" }
}