diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 8aef477daa..efebac1b51 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 77acec939b..4a4bb79e31 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 4bf004fa07..b58959d732 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 46769ad54d..b154ab4359 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 ad994fc0b2..180a431d6a 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 8c32522499..2631ead597 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 cc90993207..c648010ef5 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 9dae5ee81d..2a0b61c344 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 ee55168528..4ac918764c 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 6dff59e00c..2ce74a5533 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 a41e14dc19..64c2090c52 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 dfb6f8ea79..783bc2ccd1 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; - }