mirror of git://gcc.gnu.org/git/gcc.git
From Bruno Haible <haible@ilog.fr>:
* execute/980223.c: New test. From-SVN: r18210
This commit is contained in:
parent
3e07bdbd6c
commit
8600f90403
|
@ -1,3 +1,8 @@
|
||||||
|
|
||||||
|
Mon Feb 23 15:16:53 1998 Robert Lipe <robertl@dgii.com>
|
||||||
|
From Bruno Haible <haible@ilog.fr>:
|
||||||
|
* execute/980223.c: New test.
|
||||||
|
|
||||||
Fri Feb 6 14:30:48 1998 Jim Wilson <wilson@cygnus.com>
|
Fri Feb 6 14:30:48 1998 Jim Wilson <wilson@cygnus.com>
|
||||||
|
|
||||||
* execute/980205.c: New test.
|
* execute/980205.c: New test.
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
typedef struct { long addr; long type; } object;
|
||||||
|
|
||||||
|
object bar (object blah)
|
||||||
|
{
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
|
||||||
|
object foo (object x, object y)
|
||||||
|
{
|
||||||
|
object z = *(object*)(x.addr);
|
||||||
|
if (z.type & 64)
|
||||||
|
{
|
||||||
|
y = *(object*)(z.addr+sizeof(object));
|
||||||
|
z = *(object*)(z.addr);
|
||||||
|
if (z.type & 64)
|
||||||
|
y = bar(y);
|
||||||
|
}
|
||||||
|
return y;
|
||||||
|
}
|
||||||
|
|
||||||
|
int nil;
|
||||||
|
object cons1[2] = { {(long) &nil, 0}, {(long) &nil, 0} };
|
||||||
|
object cons2[2] = { {(long) &cons1, 64}, {(long) &nil, 0} };
|
||||||
|
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
object x = {(long) &cons2, 64};
|
||||||
|
object y = {(long) &nil, 0};
|
||||||
|
object three = foo(x,y);
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue