diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/950221-1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/950221-1.c | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/950221-1.c b/gcc/testsuite/gcc.c-torture/execute/950221-1.c new file mode 100644 index 00000000000..d45fb5aeef0 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/950221-1.c @@ -0,0 +1,51 @@ +struct parsefile +{ + long fd; + char *buf; +}; +struct parsefile basepf; +struct parsefile *parsefile = &basepf; +int filler[0x3000]; +int el; + +char * +g1 (a, b) + int a; + int *b; +{ +} + +g2 (a) + long a; +{ + if (a != 0xdeadbeefL) + abort (); + exit (0); +} + +f () +{ + register char *p, *q; + register int i; + register int something; + + if (parsefile->fd == 0L && el) + { + const char *rl_cp; + int len; + rl_cp = g1 (el, &len); + strcpy (p, rl_cp); + } + else + { + alabel: + i = g2 (parsefile->fd); + } +} + +main () +{ + el = 0; + parsefile->fd = 0xdeadbeefL; + f (); +} |