diff options
author | Keith Seitz <keiths@redhat.com> | 2009-09-21 19:23:22 +0000 |
---|---|---|
committer | Keith Seitz <keiths@redhat.com> | 2009-09-21 19:23:22 +0000 |
commit | 3fe8f3b349c62a22a209e7eace236f9d2a2effcb (patch) | |
tree | 5e46642c6a7e0dfddbe073e6258d47f869496502 | |
parent | cbacf5fd946b7a3faf916c57e6775407f6fc01f2 (diff) | |
download | gdb-3fe8f3b349c62a22a209e7eace236f9d2a2effcb.zip gdb-3fe8f3b349c62a22a209e7eace236f9d2a2effcb.tar.gz gdb-3fe8f3b349c62a22a209e7eace236f9d2a2effcb.tar.bz2 |
* gdb.cp/classes.exp (do_tests): Add tests to print a constructor
and destructor using typedef name of class.
* gdb.cp/classes.cc (class Base1): Add a destructor.
(base1): New typedef.
(use_methods): Instanitate an object of type base1.
* gdb.cp/templates.exp (test_template_typedef): New procedure.
(do_tests): Call test_template_typedef.
* gdb.cp/templates.cc (Baz::~Baz): New method.
(intBazOne): New typedef.
(main): Instantiate intBazOne.
-rw-r--r-- | gdb/testsuite/ChangeLog | 13 | ||||
-rw-r--r-- | gdb/testsuite/gdb.cp/classes.cc | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.cp/classes.exp | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.cp/templates.cc | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.cp/templates.exp | 9 |
5 files changed, 36 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 833fdcd..72b1e1c 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,16 @@ +2009-09-21 Keith Seitz <keiths@redhat.com> + + * gdb.cp/classes.exp (do_tests): Add tests to print a constructor + and destructor using typedef name of class. + * gdb.cp/classes.cc (class Base1): Add a destructor. + (base1): New typedef. + (use_methods): Instanitate an object of type base1. + * gdb.cp/templates.exp (test_template_typedef): New procedure. + (do_tests): Call test_template_typedef. + * gdb.cp/templates.cc (Baz::~Baz): New method. + (intBazOne): New typedef. + (main): Instantiate intBazOne. + 2009-09-21 Phil Muldoon <pmuldoon@redhat.com> PR python/10633 diff --git a/gdb/testsuite/gdb.cp/classes.cc b/gdb/testsuite/gdb.cp/classes.cc index 927aad3..913627f 100644 --- a/gdb/testsuite/gdb.cp/classes.cc +++ b/gdb/testsuite/gdb.cp/classes.cc @@ -400,8 +400,11 @@ class Base1 { public: int x; Base1(int i) { x = i; } + ~Base1 () { } }; +typedef Base1 base1; + class Foo { public: @@ -564,6 +567,8 @@ void use_methods () i = class_param.Aref_x (g_A); i = class_param.Aval_a (g_A); i = class_param.Aval_x (g_A); + + base1 b (3); } diff --git a/gdb/testsuite/gdb.cp/classes.exp b/gdb/testsuite/gdb.cp/classes.exp index bd980b2..87e993c 100644 --- a/gdb/testsuite/gdb.cp/classes.exp +++ b/gdb/testsuite/gdb.cp/classes.exp @@ -632,6 +632,10 @@ proc do_tests {} { fail "calling method for small class" } } + + gdb_test "print base1::Base1" "<.*Base1.*>" "print ctor of typedef class" + gdb_test "print base1::~Base1" "<.*~Base1(\\(\\))?>" \ + "print dtor of typedef class" } do_tests diff --git a/gdb/testsuite/gdb.cp/templates.cc b/gdb/testsuite/gdb.cp/templates.cc index a04d768..dfb6f8e 100644 --- a/gdb/testsuite/gdb.cp/templates.cc +++ b/gdb/testsuite/gdb.cp/templates.cc @@ -630,6 +630,7 @@ T Spec<T, T*>::spec (T * tp) template<class T, char sz> class Baz { public: + ~Baz () { }; int x; T t; T baz (int, T); @@ -643,6 +644,8 @@ template<class T, char sz> T Baz<T, sz>::baz (int i, T tt) return 0; } +typedef Baz<int, 1> intBazOne; + // Template with char * parameter template<class T, char * sz> class Qux { @@ -777,6 +780,8 @@ int main() i=GetMax<int>(x,y); n=GetMax<long>(l,m); + intBazOne ibo; + z = ibo.baz (2, 21); return 0; } diff --git a/gdb/testsuite/gdb.cp/templates.exp b/gdb/testsuite/gdb.cp/templates.exp index 541bdcb..487186a 100644 --- a/gdb/testsuite/gdb.cp/templates.exp +++ b/gdb/testsuite/gdb.cp/templates.exp @@ -195,6 +195,14 @@ proc test_template_calls {} { } } +proc test_template_typedef {} { + + gdb_test "print intBazOne::baz" ".*baz\\(int, int\\)>" \ + "print method of template typedef" + + gdb_test "print intBazOne::~Baz" ".*~Baz(\\(\\))?>" \ + "print destructor of template typedef" +} proc do_tests {} { global prms_id @@ -223,6 +231,7 @@ proc do_tests {} { test_ptype_of_templates test_template_breakpoints + test_template_typedef if [ runto_main] { test_template_calls |