diff options
author | Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | 2002-04-02 22:01:54 +0000 |
---|---|---|
committer | Franz Sirl <sirl@gcc.gnu.org> | 2002-04-02 22:01:54 +0000 |
commit | cfe834f307f5231803a4c1f686debd1d99607032 (patch) | |
tree | b47f4878e3b17c59c0880898c775fbe85421ee3b | |
parent | fe660a1a193183ef0f00965babc5f37293e4d076 (diff) | |
download | gcc-cfe834f307f5231803a4c1f686debd1d99607032.zip gcc-cfe834f307f5231803a4c1f686debd1d99607032.tar.gz gcc-cfe834f307f5231803a4c1f686debd1d99607032.tar.bz2 |
20020402-1.c: New test.
2002-04-02 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* gcc.c-torture/execute/20020402-1.c: New test.
From-SVN: r51762
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20020402-1.c | 41 |
2 files changed, 45 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index bce4962..8815825 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2002-04-02 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> + + * gcc.c-torture/execute/20020402-1.c: New test. + 2002-04-01 Richard Henderson <rth@redhat.com> * gcc.c-torture/compile/920625-1.x: XFAIL -O1. diff --git a/gcc/testsuite/gcc.c-torture/execute/20020402-1.c b/gcc/testsuite/gcc.c-torture/execute/20020402-1.c new file mode 100644 index 0000000..fe2a6f6 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20020402-1.c @@ -0,0 +1,41 @@ +/* derived from PR c/2100 */ + +extern void abort (); +extern void exit (int); + +#define SMALL_N 2 +#define NUM_ELEM 4 + +int main(void) +{ + int listElem[NUM_ELEM]={30,2,10,5}; + int listSmall[SMALL_N]; + int i, j; + int posGreatest=-1, greatest=-1; + + for (i=0; i<SMALL_N; i++) { + listSmall[i] = listElem[i]; + if (listElem[i] > greatest) { + posGreatest = i; + greatest = listElem[i]; + } + } + + for (i=SMALL_N; i<NUM_ELEM; i++) { + if (listElem[i] < greatest) { + listSmall[posGreatest] = listElem[i]; + posGreatest = 0; + greatest = listSmall[0]; + for (j=1; j<SMALL_N; j++) + if (listSmall[j] > greatest) { + posGreatest = j; + greatest = listSmall[j]; + } + } + } + + if (listSmall[0] != 5 || listSmall[1] != 2) + abort (); + exit (0); +} + |