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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.old-deja/] [g++.mike/] [thunk2.C] - Blame information for rev 699

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 699 jeremybenn
// { dg-do run  }
2
#include 
3
 
4
int state;
5
int fail;
6
 
7
class A {
8
public:
9
  A() {
10
    if (++state != 1)
11
      fail = 1;
12
  }
13
  virtual int foo() {
14
    if (++state != 2)
15
      fail = 1;
16
    return 0;
17
  }
18
  virtual ~A() {
19
    if (++state != 3)
20
      fail = 1;
21
  }
22
};
23
 
24
A* bar() {
25
  return new A;
26
}
27
 
28
int main() {
29
  A *aptr = bar();
30
  aptr->foo();
31
  if (dynamic_cast  (aptr) != aptr)
32
    fail = 1;
33
  if (typeid (*aptr) != typeid (A))
34
    fail = 1;
35
  delete aptr;
36
  if (++state != 4)
37
    fail = 1;
38
  return fail;
39
}

powered by: WebSVN 2.1.0

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