forked from Imagelibrary/binutils-gdb
gdb-2.8.1
This commit is contained in:
111
gdb/teststruct.c
Normal file
111
gdb/teststruct.c
Normal file
@@ -0,0 +1,111 @@
|
||||
struct small
|
||||
{
|
||||
int i;
|
||||
};
|
||||
|
||||
struct med
|
||||
{
|
||||
struct small s1, s2;
|
||||
};
|
||||
|
||||
struct large
|
||||
{
|
||||
struct med m1, m2;
|
||||
};
|
||||
|
||||
struct xlarge
|
||||
{
|
||||
struct large l1, l2;
|
||||
};
|
||||
|
||||
struct small ret_small ();
|
||||
struct med ret_med ();
|
||||
struct large ret_large ();
|
||||
struct xlarge ret_xlarge ();
|
||||
|
||||
void print_small ();
|
||||
void print_med ();
|
||||
void print_large ();
|
||||
void print_xlarge ();
|
||||
|
||||
main ()
|
||||
{
|
||||
struct small s;
|
||||
struct med m;
|
||||
struct large l;
|
||||
struct xlarge x;
|
||||
|
||||
s = ret_small (1);
|
||||
m = ret_med (s,s);
|
||||
l = ret_large (m, m);
|
||||
x = ret_xlarge (l, l);
|
||||
|
||||
print_small (s);
|
||||
print_med (m);
|
||||
print_large (l);
|
||||
print_xlarge (x);
|
||||
}
|
||||
|
||||
struct small ret_small (i)
|
||||
int i;
|
||||
{
|
||||
struct small s;
|
||||
s.i = i;
|
||||
return s;
|
||||
}
|
||||
|
||||
struct med ret_med (s1, s2)
|
||||
struct small s1, s2;
|
||||
{
|
||||
struct med m;
|
||||
m.s1 = s1;
|
||||
m.s2 = s2;
|
||||
return m;
|
||||
}
|
||||
|
||||
struct large ret_large (m1, m2)
|
||||
struct med m1, m2;
|
||||
{
|
||||
struct large l;
|
||||
l.m1 = m1;
|
||||
l.m2 = m2;
|
||||
return l;
|
||||
}
|
||||
|
||||
struct xlarge ret_xlarge (l1, l2)
|
||||
struct large l1, l2;
|
||||
{
|
||||
struct xlarge x;
|
||||
x.l1 = l1;
|
||||
x.l2 = l2;
|
||||
return x;
|
||||
}
|
||||
|
||||
void print_small (s)
|
||||
struct small s;
|
||||
{
|
||||
printf ("small: s.i = %d\n", s.i);
|
||||
}
|
||||
|
||||
void print_med (m)
|
||||
struct med m;
|
||||
{
|
||||
printf ("med: m.s1.i = %d; m.s2.i = %d\n", m.s1.i, m.s2.i);
|
||||
}
|
||||
|
||||
void print_large (l)
|
||||
struct large l;
|
||||
{
|
||||
printf ("large: l.m1.s1.i = %d; l.m1.s2.i = %d; l.m2.s1.i = %d; l.m2.s2.i = %d\n",
|
||||
l.m1.s1.i, l.m1.s2.i, l.m2.s1.i, l.m2.s2.i);
|
||||
}
|
||||
|
||||
void print_xlarge (x)
|
||||
struct xlarge x;
|
||||
{
|
||||
printf ("xlarge: x.l1: ");
|
||||
print_large (x.l1);
|
||||
printf ("xlarge: x.l2: ");
|
||||
print_large (x.l2);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user