aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/990523-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/compile/990523-1.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/compile/990523-1.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/990523-1.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/990523-1.c
new file mode 100644
index 000000000..5ab61f36c
--- /dev/null
+++ b/gcc-4.9/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 )++; ;
+ }
+ }
+}