From 0219b378ea49d403ec68b0a1e36ad356930ab38d Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Mon, 28 Dec 2009 21:45:24 +0000 Subject: [PATCH] * gdb.base/find.c (main): Reference search buffers. * gdb.base/included.c (main): Reference integer. * gdb.base/ptype.c (charfoo): Declare. (intfoo): Call charfoo. * gdb.base/scope0.c (useitp): New function. (usestatics): Use useitp. (useit): Add a type for val. * gdb.base/scope1.c (useit1): Take a pointer argument. (usestatics1): Update calls to useit1. * gdb.cp/call-c.cc: Declare foo. (main): Call foo. * gdb.cp/m-static.cc (main): Reference test4.elsewhere. * gdb.cp/namespace.cc (ensureOtherRefs): Declare. (main): Call C::ensureRefs and ensureOtherRefs. * gdb.cp/namespace1.cc (C::ensureOtherRefs): Also reference int variables. (ensureOtherRefs): New function. * gdb.cp/overload.cc (main): Call all overloadNamespace variants. * gdb.cp/templates.cc (main): Call t5i.value. --- gdb/testsuite/ChangeLog | 22 ++++++++++++++++++++++ gdb/testsuite/gdb.base/find.c | 6 ++++++ gdb/testsuite/gdb.base/included.c | 2 +- gdb/testsuite/gdb.base/ptype.c | 3 +++ gdb/testsuite/gdb.base/scope0.c | 26 +++++++++++++++++++++----- gdb/testsuite/gdb.base/scope1.c | 17 +++++++++-------- gdb/testsuite/gdb.cp/call-c.cc | 5 +++++ gdb/testsuite/gdb.cp/m-static.cc | 1 + gdb/testsuite/gdb.cp/namespace.cc | 5 +++++ gdb/testsuite/gdb.cp/namespace1.cc | 19 +++++++++++++------ gdb/testsuite/gdb.cp/overload.cc | 4 ++++ gdb/testsuite/gdb.cp/templates.cc | 4 +++- 12 files changed, 93 insertions(+), 21 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 8aef477daac..efebac1b51c 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,25 @@ +2009-12-28 Daniel Jacobowitz + + * gdb.base/find.c (main): Reference search buffers. + * gdb.base/included.c (main): Reference integer. + * gdb.base/ptype.c (charfoo): Declare. + (intfoo): Call charfoo. + * gdb.base/scope0.c (useitp): New function. + (usestatics): Use useitp. + (useit): Add a type for val. + * gdb.base/scope1.c (useit1): Take a pointer argument. + (usestatics1): Update calls to useit1. + * gdb.cp/call-c.cc: Declare foo. + (main): Call foo. + * gdb.cp/m-static.cc (main): Reference test4.elsewhere. + * gdb.cp/namespace.cc (ensureOtherRefs): Declare. + (main): Call C::ensureRefs and ensureOtherRefs. + * gdb.cp/namespace1.cc (C::ensureOtherRefs): Also reference int + variables. + (ensureOtherRefs): New function. + * gdb.cp/overload.cc (main): Call all overloadNamespace variants. + * gdb.cp/templates.cc (main): Call t5i.value. + 2009-12-24 Jan Kratochvil Fix compatibility with G++-4.5. diff --git a/gdb/testsuite/gdb.base/find.c b/gdb/testsuite/gdb.base/find.c index 77acec939b2..4a4bb79e31a 100644 --- a/gdb/testsuite/gdb.base/find.c +++ b/gdb/testsuite/gdb.base/find.c @@ -67,5 +67,11 @@ main () stop_here (); + /* Reference variables. */ + x = int8_search_buf[0]; + x = int16_search_buf[0]; + x = int32_search_buf[0]; + x = int64_search_buf[0]; + return 0; } diff --git a/gdb/testsuite/gdb.base/included.c b/gdb/testsuite/gdb.base/included.c index 4bf004fa077..b58959d7327 100644 --- a/gdb/testsuite/gdb.base/included.c +++ b/gdb/testsuite/gdb.base/included.c @@ -20,5 +20,5 @@ int main() { - return 0; + return integer; } diff --git a/gdb/testsuite/gdb.base/ptype.c b/gdb/testsuite/gdb.base/ptype.c index 46769ad54d8..b154ab43594 100644 --- a/gdb/testsuite/gdb.base/ptype.c +++ b/gdb/testsuite/gdb.base/ptype.c @@ -269,10 +269,13 @@ func_type v_func_type; /***********/ +extern char charfoo (); + typedef int foo; foo intfoo (afoo) { + charfoo (afoo); return (afoo * 2); } diff --git a/gdb/testsuite/gdb.base/scope0.c b/gdb/testsuite/gdb.base/scope0.c index ad994fc0b21..180a431d6ad 100644 --- a/gdb/testsuite/gdb.base/scope0.c +++ b/gdb/testsuite/gdb.base/scope0.c @@ -11,6 +11,7 @@ extern void foo(); int autovars (int bcd, int abc); int localscopes (int x); int useit (int val); +int useitp (const int *val); void init0(); void marker1 (); void marker2 (); @@ -30,12 +31,13 @@ int main () } /* On some systems, such as AIX, unreferenced variables are deleted - from the executable. */ + from the executable. On other compilers, such as ARM RealView, + const variables without their address taken are deleted. */ void usestatics () { - useit (filelocal); - useit (filelocal_bss); - useit (filelocal_ro); + useitp (&filelocal); + useitp (&filelocal_bss); + useitp (&filelocal_ro); } void init0 () @@ -68,7 +70,7 @@ int useit (int val) #else int -useit (val) +useit (val) int val; #endif { static int usedval; @@ -77,6 +79,20 @@ useit (val) return val + sum_upto (0); } +#ifdef PROTOTYPES +int +useitp (const int *val) +#else +int +useitp (val) const int *val; +#endif +{ + static int usedval; + + usedval = *val; + return *val + sum_upto (0); +} + #ifdef PROTOTYPES int autovars (int bcd, int abc) diff --git a/gdb/testsuite/gdb.base/scope1.c b/gdb/testsuite/gdb.base/scope1.c index 8c325224993..2631ead5972 100644 --- a/gdb/testsuite/gdb.base/scope1.c +++ b/gdb/testsuite/gdb.base/scope1.c @@ -32,23 +32,24 @@ void init1 () } /* On some systems, such as AIX, unreferenced variables are deleted - from the executable. */ + from the executable. On other compilers, such as ARM RealView, + const variables without their address taken are deleted. */ void usestatics1 () { - void useit1 (int val); + void useit1 (const int *val); - useit1 (filelocal); - useit1 (filelocal_bss); - useit1 (filelocal_ro); + useit1 (&filelocal); + useit1 (&filelocal_bss); + useit1 (&filelocal_ro); } #ifdef PROTOTYPES -void useit1 (int val) +void useit1 (const int *val) #else -void useit1 (val) int val; +void useit1 (val) const int *val; #endif { static int usedval; - usedval = val; + usedval = *val; } diff --git a/gdb/testsuite/gdb.cp/call-c.cc b/gdb/testsuite/gdb.cp/call-c.cc index cc909932071..c648010ef5b 100644 --- a/gdb/testsuite/gdb.cp/call-c.cc +++ b/gdb/testsuite/gdb.cp/call-c.cc @@ -30,6 +30,10 @@ struct Foo { typedef Foo *FooHandle; +extern "C" { + int foo(int); +} + int main() { Foo f; @@ -37,5 +41,6 @@ int main() Foo* &rf = pf; FooHandle handle = pf; rf->func(); /* set breakpoint here */ + foo(0); return func(0); } diff --git a/gdb/testsuite/gdb.cp/m-static.cc b/gdb/testsuite/gdb.cp/m-static.cc index 9dae5ee81d7..2a0b61c3440 100644 --- a/gdb/testsuite/gdb.cp/m-static.cc +++ b/gdb/testsuite/gdb.cp/m-static.cc @@ -68,6 +68,7 @@ int main() gnu_obj_3 test3(greek); gnu_obj_4 test4; + test4.dummy = test4.elsewhere; test4.dummy = 0; return test4.dummy; // breakpoint: constructs-done } diff --git a/gdb/testsuite/gdb.cp/namespace.cc b/gdb/testsuite/gdb.cp/namespace.cc index ee55168528b..4ac918764cc 100644 --- a/gdb/testsuite/gdb.cp/namespace.cc +++ b/gdb/testsuite/gdb.cp/namespace.cc @@ -168,6 +168,8 @@ namespace C } } +extern int ensureOtherRefs (); + int main () { using AAA::inA; @@ -195,4 +197,7 @@ int main () marker1(); C::D::marker2 (); + + C::ensureRefs (); + ensureOtherRefs (); } diff --git a/gdb/testsuite/gdb.cp/namespace1.cc b/gdb/testsuite/gdb.cp/namespace1.cc index 6dff59e00cd..2ce74a5533a 100644 --- a/gdb/testsuite/gdb.cp/namespace1.cc +++ b/gdb/testsuite/gdb.cp/namespace1.cc @@ -23,19 +23,26 @@ namespace C int z; }; - void ensureOtherRefs () { - // NOTE (2004-04-23, carlton): This function is here only to make - // sure that GCC 3.4 outputs debug info for this class. - static OtherFileClass *c = new OtherFileClass(); - } - namespace { int cXOtherFile = 29; }; int cOtherFile = 316; + + void ensureOtherRefs () { + // NOTE (2004-04-23, carlton): This function is here only to make + // sure that GCC 3.4 outputs debug info for this class. + static OtherFileClass *c = new OtherFileClass(); + c->z = cOtherFile + cXOtherFile; + } } namespace { int XOtherFile = 317; } + +int ensureOtherRefs () +{ + C::ensureOtherRefs (); + return XOtherFile; +} diff --git a/gdb/testsuite/gdb.cp/overload.cc b/gdb/testsuite/gdb.cp/overload.cc index a41e14dc198..64c2090c522 100644 --- a/gdb/testsuite/gdb.cp/overload.cc +++ b/gdb/testsuite/gdb.cp/overload.cc @@ -102,6 +102,10 @@ int main () breakpoint(); #endif + overloadNamespace (1); + overloadNamespace (dummyInstance); + XXX::overloadNamespace ('a'); + // Verify that intToChar should work: intToChar(1); diff --git a/gdb/testsuite/gdb.cp/templates.cc b/gdb/testsuite/gdb.cp/templates.cc index dfb6f8ea790..783bc2ccd12 100644 --- a/gdb/testsuite/gdb.cp/templates.cc +++ b/gdb/testsuite/gdb.cp/templates.cc @@ -782,8 +782,10 @@ int main() intBazOne ibo; z = ibo.baz (2, 21); + + t5i.value(); + return 0; - } -- 2.30.2