Test which exposed a gcse bug at one time.
From-SVN: r37463
This commit is contained in:
parent
7f2f1a6633
commit
b3488a7ae7
40
gcc/testsuite/gcc.c-torture/execute/20001101.c
Normal file
40
gcc/testsuite/gcc.c-torture/execute/20001101.c
Normal file
@ -0,0 +1,40 @@
|
||||
extern void abort(void);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned int unchanging : 1;
|
||||
} struc, *rtx;
|
||||
|
||||
rtx dummy ( int *a, rtx *b)
|
||||
{
|
||||
*a = 1;
|
||||
*b = (rtx)7;
|
||||
return (rtx)1;
|
||||
}
|
||||
|
||||
void bogus (insn, thread, delay_list)
|
||||
rtx insn;
|
||||
rtx thread;
|
||||
rtx delay_list;
|
||||
{
|
||||
rtx new_thread;
|
||||
int must_annul;
|
||||
|
||||
delay_list = dummy ( &must_annul, &new_thread);
|
||||
if (delay_list == 0 && new_thread )
|
||||
{
|
||||
thread = new_thread;
|
||||
}
|
||||
if (delay_list && must_annul)
|
||||
insn->unchanging = 1;
|
||||
if (new_thread != thread )
|
||||
abort();
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
struc baz;
|
||||
bogus (&baz, (rtx)7, 0);
|
||||
exit(0);
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user