diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/20020319-1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/20020319-1.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/20020319-1.c b/gcc/testsuite/gcc.c-torture/compile/20020319-1.c new file mode 100644 index 000000000..be5b9c2fe --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20020319-1.c @@ -0,0 +1,20 @@ +/* This testcase ICEd in combine.c:do_SUBST() self-test for sign-extended +CONST_INT because expr.c:expand_expr() was not sign-extending array index +into constant strings. */ + +typedef unsigned char uch; +extern uch outbuf[]; +extern unsigned outcnt; + +extern void flush_outbuf (void); + +int zip(void) +{ + outcnt = 0; + + {outbuf[outcnt++]=(uch)("\037\213"[0]); if (outcnt==16384) flush_outbuf();}; + {outbuf[outcnt++]=(uch)("\037\213"[1]); if (outcnt==16384) flush_outbuf();}; + + return 0; +} + |