xref: /openbsd-src/gnu/usr.bin/binutils/gdb/testsuite/gdb.cp/rtti.h (revision b725ae7711052a2233e31a66fefb8a752c388d7a)
1*b725ae77Skettenis /* Code to go along with tests in rtti.exp.
2*b725ae77Skettenis 
3*b725ae77Skettenis    Copyright 2003, 2004 Free Software Foundation, Inc.
4*b725ae77Skettenis 
5*b725ae77Skettenis    Contributed by David Carlton <carlton@bactrian.org> and by Kealia,
6*b725ae77Skettenis    Inc.
7*b725ae77Skettenis 
8*b725ae77Skettenis    This file is part of GDB.
9*b725ae77Skettenis 
10*b725ae77Skettenis    This program is free software; you can redistribute it and/or modify
11*b725ae77Skettenis    it under the terms of the GNU General Public License as published by
12*b725ae77Skettenis    the Free Software Foundation; either version 2 of the License, or (at
13*b725ae77Skettenis    your option) any later version.
14*b725ae77Skettenis 
15*b725ae77Skettenis    This program is distributed in the hope that it will be useful, but
16*b725ae77Skettenis    WITHOUT ANY WARRANTY; without even the implied warranty of
17*b725ae77Skettenis    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18*b725ae77Skettenis    General Public License for more details.
19*b725ae77Skettenis 
20*b725ae77Skettenis    You should have received a copy of the GNU General Public License
21*b725ae77Skettenis    along with this program; if not, write to the Free Software
22*b725ae77Skettenis    Foundation, Inc., 59 Temple Place - Suite 330,
23*b725ae77Skettenis    Boston, MA 02111-1307, USA.  */
24*b725ae77Skettenis 
25*b725ae77Skettenis namespace n2 {
26*b725ae77Skettenis 
27*b725ae77Skettenis   class C2;
28*b725ae77Skettenis 
29*b725ae77Skettenis   class Base2 {
30*b725ae77Skettenis   public:
~Base2()31*b725ae77Skettenis     virtual ~Base2() { }
32*b725ae77Skettenis   };
33*b725ae77Skettenis 
34*b725ae77Skettenis 
35*b725ae77Skettenis   class C2: public Base2 {
36*b725ae77Skettenis   public:
37*b725ae77Skettenis   };
38*b725ae77Skettenis 
39*b725ae77Skettenis   class D2 : public C2{
40*b725ae77Skettenis   public:
41*b725ae77Skettenis     D2(C2 *, C2 *);
42*b725ae77Skettenis 
43*b725ae77Skettenis     C2* expr_1_;
44*b725ae77Skettenis     C2* expr_2_;
45*b725ae77Skettenis   };
46*b725ae77Skettenis 
47*b725ae77Skettenis   extern C2 *create2();
48*b725ae77Skettenis 
49*b725ae77Skettenis   namespace n3 {
50*b725ae77Skettenis     class C3 : public C2 {
51*b725ae77Skettenis     public:
52*b725ae77Skettenis     };
53*b725ae77Skettenis   }
54*b725ae77Skettenis 
55*b725ae77Skettenis   extern n3::C3 *create3();
56*b725ae77Skettenis }
57