35 lines
366 B
C
35 lines
366 B
C
|
typedef struct rtx_def
|
||
|
{
|
||
|
int f1 :1;
|
||
|
int f2 :1;
|
||
|
} *rtx;
|
||
|
|
||
|
static rtx
|
||
|
f (orig)
|
||
|
register rtx orig;
|
||
|
{
|
||
|
if (orig->f1 || orig->f2)
|
||
|
return orig;
|
||
|
orig->f2 = 1;
|
||
|
return orig;
|
||
|
}
|
||
|
|
||
|
void
|
||
|
f2 ()
|
||
|
{
|
||
|
abort ();
|
||
|
}
|
||
|
|
||
|
main ()
|
||
|
{
|
||
|
struct rtx_def foo;
|
||
|
rtx bar;
|
||
|
|
||
|
foo.f1 = 1;
|
||
|
foo.f2 = 0;
|
||
|
bar = f (&foo);
|
||
|
if (bar != &foo || bar->f2 != 0)
|
||
|
abort ();
|
||
|
exit (0);
|
||
|
}
|