diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/990523-1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/990523-1.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/990523-1.c b/gcc/testsuite/gcc.c-torture/compile/990523-1.c new file mode 100644 index 000000000..5ab61f36c --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/990523-1.c @@ -0,0 +1,30 @@ +extern float decwin[512+32]; + +int synth_1to1(float *bandPtr,int channel,unsigned char *out,int *pnt) +{ + static const int step = 2; + short *samples = (short *) (out+*pnt); + + float *b0; + int clip = 0; + int bo1; + + { + register int j; + float *window = decwin + 16 - bo1; + for (j=15;j;j--,b0-=0x20,window-=0x10,samples+=step) + { + float sum; + sum -= *(--window) * *b0++; + sum -= *(--window) * *b0++; + sum -= *(--window) * *b0++; + sum -= *(--window) * *b0++; + sum -= *(--window) * *b0++; + sum -= *(--window) * *b0++; + sum -= *(--window) * *b0++; + sum -= *(--window) * *b0++; + + if( ( sum ) > 32767.0) *( samples ) = 0x7fff; ( clip )++; ; + } + } +} |