aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base/callfuncs.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite/gdb.base/callfuncs.c')
-rw-r--r--gdb/testsuite/gdb.base/callfuncs.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/gdb/testsuite/gdb.base/callfuncs.c b/gdb/testsuite/gdb.base/callfuncs.c
index 0fdc2fe..9917e78 100644
--- a/gdb/testsuite/gdb.base/callfuncs.c
+++ b/gdb/testsuite/gdb.base/callfuncs.c
@@ -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. */