2004-02-03 Andrew Cagney * gdb.base/structs.c (struct struct0): Define. (foo0, L0): New variables. (fun0, Fun0): New functions. (main): Call fun0 and Fun0. * gdb.base/structs.exp: Test zero sized structure. (foo): Add output from an empty struct. Index: testsuite/gdb.base/structs.c =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/structs.c,v retrieving revision 1.5 diff -u -r1.5 structs.c --- testsuite/gdb.base/structs.c 20 Nov 2003 17:11:55 -0000 1.5 +++ testsuite/gdb.base/structs.c 3 Feb 2004 23:34:47 -0000 @@ -86,6 +86,7 @@ typedef tQ tR; #endif +struct struct0 {}; struct struct1 {tA a;}; struct struct2 {tA a; tB b;}; struct struct3 {tA a; tB b; tC c; }; @@ -105,6 +106,7 @@ struct struct17 {tA a; tB b; tC c; tD d; tE e; tF f; tG g; tH h; tI i; tJ j; tK k; tL l; tM m; tN n; tO o; tP p; tQ q; }; struct struct18 {tA a; tB b; tC c; tD d; tE e; tF f; tG g; tH h; tI i; tJ j; tK k; tL l; tM m; tN n; tO o; tP p; tQ q; tR r; }; +struct struct0 foo0 = {}, L0; struct struct1 foo1 = {'1'}, L1; struct struct2 foo2 = {'a','2'}, L2; struct struct3 foo3 = {'1','b','3'}, L3; @@ -124,6 +126,10 @@ struct struct17 foo17 = {'1','b','3','d','5','f','7','h','9','j','B','l','D','n','F','p','H'}, L17; struct struct18 foo18 = {'a','2','c','4','e','6','g','8','i','A','k','C','m','E','o','G','q','I'}, L18; +struct struct0 fun0() +{ + return foo0; +} struct struct1 fun1() { return foo1; @@ -198,6 +204,15 @@ } #ifdef PROTOTYPES +void Fun0(struct struct0 foo0) +#else +void Fun0(foo0) + struct struct0 foo0; +#endif +{ + L0 = foo0; +} +#ifdef PROTOTYPES void Fun1(struct struct1 foo1) #else void Fun1(foo1) @@ -408,6 +423,7 @@ #endif int i; + Fun0(foo0); Fun1(foo1); Fun2(foo2); Fun3(foo3); @@ -435,6 +451,7 @@ while (1) { zed (); + L0 = fun0(); L1 = fun1(); L2 = fun2(); L3 = fun3(); Index: testsuite/gdb.base/structs.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/structs.exp,v retrieving revision 1.17 diff -u -r1.17 structs.exp --- testsuite/gdb.base/structs.exp 4 Jan 2004 15:04:41 -0000 1.17 +++ testsuite/gdb.base/structs.exp 3 Feb 2004 23:34:47 -0000 @@ -118,7 +118,7 @@ proc foo { n } { return [lindex { - "{}" + "{}" "{a = 49 '1'}" "{a = 97 'a', b = 50 '2'}" "{a = 49 '1', b = 98 'b', c = 51 '3'}" @@ -481,6 +481,7 @@ # original "structs" test was doing. start_structs_test { tc } +test_struct_calls 0 test_struct_calls 1 test_struct_calls 2 test_struct_calls 3