diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f6ae990589f..1ac56509c9b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -2,6 +2,8 @@ * gcc.dg/20020312-2.c: Add rs6000 target. + * gcc.c-torture/compile/20020319-1.c: New test. + 2002-03-21 Rainer Orth * g++.old-deja/g++.eh/ia64-1.C: Use [ijkl]_[0-9] as variable names. @@ -24,8 +26,6 @@ * gcc.dg/struct-by-value-1.c: New test. - * gcc.c-torture/compile/20020319-1.c: New test. - 2002-03-18 Jakub Jelinek * g++.dg/opt/conj1.C: New test. 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 00000000000..be5b9c2fece --- /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; +} +