diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/rtti/dyncast1.C')
-rw-r--r-- | gcc/testsuite/g++.dg/rtti/dyncast1.C | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/rtti/dyncast1.C b/gcc/testsuite/g++.dg/rtti/dyncast1.C new file mode 100644 index 000000000..ace1aef06 --- /dev/null +++ b/gcc/testsuite/g++.dg/rtti/dyncast1.C @@ -0,0 +1,23 @@ +class JunkBase +{ +public: + virtual void DoSomething( void ) = 0; +protected: + virtual ~JunkBase( void ) {} + JunkBase( void ) {} +}; + +class Junk : protected JunkBase +{ +public: + Junk( void ) : JunkBase() {} + virtual ~Junk( void ) {} +protected: + inline JunkBase * AsBase( void ) + { return dynamic_cast< JunkBase * >( this ); } + virtual void DoSomething( void ) { } +}; + + + + |