mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-06 19:07:25 +08:00
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>
|
||||
|
||||
* execute/980205.c: New test.
|
||||
|
31
gcc/testsuite/gcc.c-torture/execute/980223.c
Normal file
31
gcc/testsuite/gcc.c-torture/execute/980223.c
Normal file
@ -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
Block a user