mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-28 07:08:01 +08:00
* 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.
This commit is contained in:
@ -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>
|
2009-09-21 Phil Muldoon <pmuldoon@redhat.com>
|
||||||
|
|
||||||
PR python/10633
|
PR python/10633
|
||||||
|
@ -400,8 +400,11 @@ class Base1 {
|
|||||||
public:
|
public:
|
||||||
int x;
|
int x;
|
||||||
Base1(int i) { x = i; }
|
Base1(int i) { x = i; }
|
||||||
|
~Base1 () { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef Base1 base1;
|
||||||
|
|
||||||
class Foo
|
class Foo
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -564,6 +567,8 @@ void use_methods ()
|
|||||||
i = class_param.Aref_x (g_A);
|
i = class_param.Aref_x (g_A);
|
||||||
i = class_param.Aval_a (g_A);
|
i = class_param.Aval_a (g_A);
|
||||||
i = class_param.Aval_x (g_A);
|
i = class_param.Aval_x (g_A);
|
||||||
|
|
||||||
|
base1 b (3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -632,6 +632,10 @@ proc do_tests {} {
|
|||||||
fail "calling method for small class"
|
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
|
do_tests
|
||||||
|
@ -630,6 +630,7 @@ T Spec<T, T*>::spec (T * tp)
|
|||||||
template<class T, char sz>
|
template<class T, char sz>
|
||||||
class Baz {
|
class Baz {
|
||||||
public:
|
public:
|
||||||
|
~Baz () { };
|
||||||
int x;
|
int x;
|
||||||
T t;
|
T t;
|
||||||
T baz (int, 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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
typedef Baz<int, 1> intBazOne;
|
||||||
|
|
||||||
// Template with char * parameter
|
// Template with char * parameter
|
||||||
template<class T, char * sz>
|
template<class T, char * sz>
|
||||||
class Qux {
|
class Qux {
|
||||||
@ -777,6 +780,8 @@ int main()
|
|||||||
i=GetMax<int>(x,y);
|
i=GetMax<int>(x,y);
|
||||||
n=GetMax<long>(l,m);
|
n=GetMax<long>(l,m);
|
||||||
|
|
||||||
|
intBazOne ibo;
|
||||||
|
z = ibo.baz (2, 21);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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 {} {
|
proc do_tests {} {
|
||||||
global prms_id
|
global prms_id
|
||||||
@ -223,6 +231,7 @@ proc do_tests {} {
|
|||||||
|
|
||||||
test_ptype_of_templates
|
test_ptype_of_templates
|
||||||
test_template_breakpoints
|
test_template_breakpoints
|
||||||
|
test_template_typedef
|
||||||
|
|
||||||
if [ runto_main] {
|
if [ runto_main] {
|
||||||
test_template_calls
|
test_template_calls
|
||||||
|
Reference in New Issue
Block a user