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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [cpp0x/] [override1.C] - Blame information for rev 715

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 693 jeremybenn
// { dg-do compile }
2
// { dg-options "--std=c++0x" }
3
struct B
4
{
5
  virtual void f() final {}
6
  virtual void g() {}
7
  virtual void x() const {}
8
};
9
 
10
struct B2
11
{
12
  virtual void h() {}
13
};
14
 
15
struct D : B
16
{
17
  virtual void g() override final {} // { dg-error "overriding" }
18
};
19
 
20
template  struct D2 : T
21
{
22
  void h() override {} // { dg-error "marked override, but does not override" }
23
};
24
 
25
template  struct D3 : T
26
{
27
  void h() override {}
28
};
29
 
30
struct D4 : D
31
{
32
  void g() {} // { dg-error "virtual function" }
33
};
34
 
35
struct B3
36
{
37
  virtual void f() final final {} // { dg-error "duplicate virt-specifier" }
38
};
39
 
40
struct B4
41
{
42
  void f() final {} // { dg-error "marked final, but is not virtual" }
43
};
44
 
45
struct D5 : B
46
{
47
  void ff() override {} // { dg-error "marked override, but does not override" }
48
  virtual void fff() override {} // { dg-error "marked override, but does not override" }
49
  virtual void x() override {} // { dg-error "marked override, but does not override" }
50
  void g() override;
51
};
52
 
53
void D5::g() override {} // { dg-error "not allowed outside a class definition" }
54
void g() override {} // { dg-error "not allowed outside a class definition" }
55
 
56
int main()
57
{
58
  D2 d;
59
  D2 d2;
60
  D3 d3;
61
}

powered by: WebSVN 2.1.0

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