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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [g++.old-deja/] [g++.mike/] [p2960.C] - Blame information for rev 816

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 149 jeremybenn
// { dg-do run  }
2
// prms-id: 2960
3
 
4
extern "C" int printf(const char *, ...);
5
 
6
class Test0 {
7
public:
8
  virtual void f0() { }      // works fine if this virtual removed
9
};
10
 
11
class Test1 : public Test0 {
12
public:
13
  void f1() { f2(); }           // generates bus error here
14
  virtual void f2() { printf("Test1::f2\n"); }
15
};
16
 
17
class Test2 {
18
public:
19
  virtual void f3() { }
20
};
21
 
22
class Test3 : public Test2, public Test1 {    // works fine if Test1 first
23
public:
24
  virtual ~Test3() { f1(); }                       // calling f2 directly works
25
  virtual void f2() { printf("Test3::f2\n"); }
26
};
27
 
28
int main() {
29
    Test3 t3;
30
    return 0;
31
}

powered by: WebSVN 2.1.0

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