2001-11-26 Fernando Nasser <fnasser@redhat.com>

From 2001-11-12 Jackie Smith Cashion  <jsmith@redhat.com>:
	* gdb.base/callfuncs.c (t_structs_a): Do not return a pointer
	to a local (non-static) variable. Copy tstruct.a to a static buffer
	and return a pointer to that buffer.
	* gdb.base/callfwmall.c (t_structs_a): Ditto.
This commit is contained in:
Fernando Nasser 2001-11-26 21:29:31 +00:00
parent 5527febf4d
commit 184d0bc81c
2 changed files with 24 additions and 4 deletions

View file

@ -133,7 +133,12 @@ int t_structs_i (struct struct1 tstruct) { return (tstruct.i); }
long t_structs_l (struct struct1 tstruct) { return (tstruct.l); }
float t_structs_f (struct struct1 tstruct) { return (tstruct.f); }
double t_structs_d (struct struct1 tstruct) { return (tstruct.d); }
char *t_structs_a (struct struct1 tstruct) { return (tstruct.a); }
char *t_structs_a (struct struct1 tstruct)
{
static char buf[8];
strcpy (buf, tstruct.a);
return buf;
}
#else
char t_structs_c (tstruct) struct struct1 tstruct; { return (tstruct.c); }
short t_structs_s (tstruct) struct struct1 tstruct; { return (tstruct.s); }
@ -141,7 +146,12 @@ int t_structs_i (tstruct) struct struct1 tstruct; { return (tstruct.i); }
long t_structs_l (tstruct) struct struct1 tstruct; { return (tstruct.l); }
float t_structs_f (tstruct) struct struct1 tstruct; { return (tstruct.f); }
double t_structs_d (tstruct) struct struct1 tstruct; { return (tstruct.d); }
char *t_structs_a (tstruct) struct struct1 tstruct; { return (tstruct.a); }
char *t_structs_a (tstruct) struct struct1 tstruct;
{
static char buf[8];
strcpy (buf, tstruct.a);
return buf;
}
#endif
/* Test that calling functions works if there are a lot of arguments. */

View file

@ -138,7 +138,12 @@ int t_structs_i (struct struct1 tstruct) { return (tstruct.i); }
long t_structs_l (struct struct1 tstruct) { return (tstruct.l); }
float t_structs_f (struct struct1 tstruct) { return (tstruct.f); }
double t_structs_d (struct struct1 tstruct) { return (tstruct.d); }
char *t_structs_a (struct struct1 tstruct) { return (tstruct.a); }
char *t_structs_a (struct struct1 tstruct)
{
static char buf[8];
strcpy (buf, tstruct.a);
return buf;
}
#else
char t_structs_c (tstruct) struct struct1 tstruct; { return (tstruct.c); }
short t_structs_s (tstruct) struct struct1 tstruct; { return (tstruct.s); }
@ -146,7 +151,12 @@ int t_structs_i (tstruct) struct struct1 tstruct; { return (tstruct.i); }
long t_structs_l (tstruct) struct struct1 tstruct; { return (tstruct.l); }
float t_structs_f (tstruct) struct struct1 tstruct; { return (tstruct.f); }
double t_structs_d (tstruct) struct struct1 tstruct; { return (tstruct.d); }
char *t_structs_a (tstruct) struct struct1 tstruct; { return (tstruct.a); }
char *t_structs_a (tstruct) struct struct1 tstruct;
{
static char buf[8];
strcpy (buf, tstruct.a);
return buf;
}
#endif
/* Test that calling functions works if there are a lot of arguments. */