From d82a963983c76d0cc2403342dd8f78dcfd5f2b8b Mon Sep 17 00:00:00 2001 From: Franz Sirl Date: Sun, 25 Feb 2001 00:10:59 +0000 Subject: [PATCH] 20010224-1.c: New test. 2001-02-24 Franz Sirl * gcc.c-torture/execute/20010224-1.c: New test. From-SVN: r40043 --- gcc/testsuite/ChangeLog | 4 +++ gcc/testsuite/gcc.c-torture/execute/20010224-1.c | 44 ++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/execute/20010224-1.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index be04efb..0485463 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2001-02-24 Franz Sirl + + * gcc.c-torture/execute/20010224-1.c: New test. + 2001-02-23 Jakub Jelinek * gcc.c-torture/execute/20010222-1.c: New test. diff --git a/gcc/testsuite/gcc.c-torture/execute/20010224-1.c b/gcc/testsuite/gcc.c-torture/execute/20010224-1.c new file mode 100644 index 0000000..1d04fd1 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20010224-1.c @@ -0,0 +1,44 @@ +extern void abort (void); + +typedef signed short int16_t; +typedef unsigned short uint16_t; + +int16_t logadd (int16_t *a, int16_t *b); +void ba_compute_psd (int16_t start); + +int16_t masktab[6] = { 1, 2, 3, 4, 5}; +int16_t psd[6] = { 50, 40, 30, 20, 10}; +int16_t bndpsd[6] = { 1, 2, 3, 4, 5}; + +void ba_compute_psd (int16_t start) +{ + int i,j,k; + int16_t lastbin = 4; + + j = start; + k = masktab[start]; + + bndpsd[k] = psd[j]; + j++; + + for (i = j; i < lastbin; i++) { + bndpsd[k] = logadd(&bndpsd[k], &psd[j]); + j++; + } +} + +int16_t logadd (int16_t *a, int16_t *b) +{ + return *a + *b; +} + +int main (void) +{ + int i; + + ba_compute_psd (0); + + if (bndpsd[1] != 140) abort (); + return 0; +} + -- 2.7.4