* 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.
This commit is contained in:
Daniel Jacobowitz 2009-12-28 21:45:24 +00:00
parent 0fe7935b33
commit 0219b378ea
12 changed files with 93 additions and 21 deletions

View file

@ -1,3 +1,25 @@
2009-12-28 Daniel Jacobowitz <dan@codesourcery.com>
* 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 <jan.kratochvil@redhat.com> 2009-12-24 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix compatibility with G++-4.5. Fix compatibility with G++-4.5.

View file

@ -67,5 +67,11 @@ main ()
stop_here (); 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; return 0;
} }

View file

@ -20,5 +20,5 @@
int int
main() main()
{ {
return 0; return integer;
} }

View file

@ -269,10 +269,13 @@ func_type v_func_type;
/***********/ /***********/
extern char charfoo ();
typedef int foo; typedef int foo;
foo intfoo (afoo) foo intfoo (afoo)
{ {
charfoo (afoo);
return (afoo * 2); return (afoo * 2);
} }

View file

@ -11,6 +11,7 @@ extern void foo();
int autovars (int bcd, int abc); int autovars (int bcd, int abc);
int localscopes (int x); int localscopes (int x);
int useit (int val); int useit (int val);
int useitp (const int *val);
void init0(); void init0();
void marker1 (); void marker1 ();
void marker2 (); void marker2 ();
@ -30,12 +31,13 @@ int main ()
} }
/* On some systems, such as AIX, unreferenced variables are deleted /* 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 () void usestatics ()
{ {
useit (filelocal); useitp (&filelocal);
useit (filelocal_bss); useitp (&filelocal_bss);
useit (filelocal_ro); useitp (&filelocal_ro);
} }
void init0 () void init0 ()
@ -68,7 +70,7 @@ int
useit (int val) useit (int val)
#else #else
int int
useit (val) useit (val) int val;
#endif #endif
{ {
static int usedval; static int usedval;
@ -77,6 +79,20 @@ useit (val)
return val + sum_upto (0); 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 #ifdef PROTOTYPES
int int
autovars (int bcd, int abc) autovars (int bcd, int abc)

View file

@ -32,23 +32,24 @@ void init1 ()
} }
/* On some systems, such as AIX, unreferenced variables are deleted /* 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 usestatics1 ()
{ {
void useit1 (int val); void useit1 (const int *val);
useit1 (filelocal); useit1 (&filelocal);
useit1 (filelocal_bss); useit1 (&filelocal_bss);
useit1 (filelocal_ro); useit1 (&filelocal_ro);
} }
#ifdef PROTOTYPES #ifdef PROTOTYPES
void useit1 (int val) void useit1 (const int *val)
#else #else
void useit1 (val) int val; void useit1 (val) const int *val;
#endif #endif
{ {
static int usedval; static int usedval;
usedval = val; usedval = *val;
} }

View file

@ -30,6 +30,10 @@ struct Foo {
typedef Foo *FooHandle; typedef Foo *FooHandle;
extern "C" {
int foo(int);
}
int main() int main()
{ {
Foo f; Foo f;
@ -37,5 +41,6 @@ int main()
Foo* &rf = pf; Foo* &rf = pf;
FooHandle handle = pf; FooHandle handle = pf;
rf->func(); /* set breakpoint here */ rf->func(); /* set breakpoint here */
foo(0);
return func(0); return func(0);
} }

View file

@ -68,6 +68,7 @@ int main()
gnu_obj_3<long> test3(greek); gnu_obj_3<long> test3(greek);
gnu_obj_4 test4; gnu_obj_4 test4;
test4.dummy = test4.elsewhere;
test4.dummy = 0; test4.dummy = 0;
return test4.dummy; // breakpoint: constructs-done return test4.dummy; // breakpoint: constructs-done
} }

View file

@ -168,6 +168,8 @@ namespace C
} }
} }
extern int ensureOtherRefs ();
int main () int main ()
{ {
using AAA::inA; using AAA::inA;
@ -195,4 +197,7 @@ int main ()
marker1(); marker1();
C::D::marker2 (); C::D::marker2 ();
C::ensureRefs ();
ensureOtherRefs ();
} }

View file

@ -23,19 +23,26 @@ namespace C
int z; 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 { namespace {
int cXOtherFile = 29; int cXOtherFile = 29;
}; };
int cOtherFile = 316; 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 { namespace {
int XOtherFile = 317; int XOtherFile = 317;
} }
int ensureOtherRefs ()
{
C::ensureOtherRefs ();
return XOtherFile;
}

View file

@ -102,6 +102,10 @@ int main ()
breakpoint(); breakpoint();
#endif #endif
overloadNamespace (1);
overloadNamespace (dummyInstance);
XXX::overloadNamespace ('a');
// Verify that intToChar should work: // Verify that intToChar should work:
intToChar(1); intToChar(1);

View file

@ -782,8 +782,10 @@ int main()
intBazOne ibo; intBazOne ibo;
z = ibo.baz (2, 21); z = ibo.baz (2, 21);
t5i.value();
return 0; return 0;
} }