OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [g++.dg/] [cpp0x/] [defaulted2.C] - Blame information for rev 338

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 301 jeremybenn
// Negative test for defaulted/deleted fns.
2
// { dg-options "-std=c++0x" }
3
 
4
void f();                       // { dg-error "previous" }
5
void f() = delete;              // { dg-error "deleted" }
6
 
7
struct A
8
{
9
  A() { }                       // { dg-error "previous" }
10
  void f() = default;           // { dg-error "default" }
11
};
12
 
13
A::A() = default;               // { dg-error "redefinition" }
14
 
15
void g() {}                     // { dg-error "previous" }
16
void g() = delete;              // { dg-error "redefinition" }
17
 
18
struct B
19
{
20
  B() = default;
21
};
22
 
23
const B b;                      // { dg-error "uninitialized const" }
24
 
25
struct C
26
{
27
  virtual void f() = delete;    // { dg-error "overriding deleted" }
28
};
29
 
30
struct D: public C
31
{
32
  virtual void f();             // { dg-error "non-deleted function" }
33
};
34
 
35
struct E
36
{
37
  const B b;
38
  E() { }                       // { dg-error "uninitialized" }
39
};
40
 
41
struct F
42
{
43
  F() = default;
44
  F(const F&) = delete;            // { dg-error "deleted" }
45
};
46
 
47
struct G
48
{
49
  G();
50
};
51
 
52
// ctor defaulted after class defn is not trivial
53
G::G() = default;
54
 
55
union U
56
{
57
  G g;                          // { dg-error "constructor" }
58
};
59
 
60
int main()
61
{
62
  F f;
63
  F f2(f);                      // { dg-error "used" }
64
  B* b = new const B;           // { dg-error "uninitialized const" }
65
}
66
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.