diff options
author | Sebastian Pop <sebastian.pop@amd.com> | 2010-02-11 19:43:14 +0000 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2010-02-11 19:43:14 +0000 |
commit | c2814aabd5076c36077c474d6946277094ecadc5 (patch) | |
tree | 027d279eeef4c72c0402ba60fec900e41990bb01 | |
parent | be1c3b28b25c7086f5be41d003ff9cb321f057a6 (diff) | |
download | gcc-c2814aabd5076c36077c474d6946277094ecadc5.zip gcc-c2814aabd5076c36077c474d6946277094ecadc5.tar.gz gcc-c2814aabd5076c36077c474d6946277094ecadc5.tar.bz2 |
Add testcase for PR43012.
2010-02-11 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/43012
* gcc.dg/graphite/pr43012.c: New.
From-SVN: r156716
-rw-r--r-- | gcc/ChangeLog.graphite | 8 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/graphite/pr43012.c | 74 |
2 files changed, 80 insertions, 2 deletions
diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite index b047c2b..4bb6dc2 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -1,7 +1,11 @@ -2010-02-10 Sebastian Pop <sebastian.pop@amd.com> +2010-02-11 Sebastian Pop <sebastian.pop@amd.com> + + PR middle-end/43012 + * gcc.dg/graphite/pr43012.c: New. - * graphite.c (graphite_transform_loops): Re-enable dbg_cnt. +2010-02-10 Sebastian Pop <sebastian.pop@amd.com> + * graphite.c (graphite_transform_loops): Re-enable dbg_cnt. 2010-02-10 Sebastian Pop <sebastian.pop@amd.com> * g++.dg/graphite/pr42930.C: New. diff --git a/gcc/testsuite/gcc.dg/graphite/pr43012.c b/gcc/testsuite/gcc.dg/graphite/pr43012.c new file mode 100644 index 0000000..6d0f3b0 --- /dev/null +++ b/gcc/testsuite/gcc.dg/graphite/pr43012.c @@ -0,0 +1,74 @@ +/* This testcase is from PR43012. + You will need CLooG-PPL 0.15.8 or later to have this testcase fixed. */ + +/* { dg-do run } */ +/* { dg-options "-O2 -floop-strip-mine" } */ + +extern void abort (void); + +#ifdef DBG +extern int printf (const char *, ...); +#endif + +#define LAST_TOKEN 534 +#define FLOAT_FUNCT_TOKEN 64 +#define VECTOR_FUNCT_TOKEN 77 +#define COLOUR_KEY_TOKEN 89 + +int Table[LAST_TOKEN]; + +void +pre_init_tokenizer () +{ + int i; + + for (i = 0; i < LAST_TOKEN; i++) + { + Table[i] = i; + if (i < FLOAT_FUNCT_TOKEN) + Table[i] = FLOAT_FUNCT_TOKEN; + else + { + if (i < VECTOR_FUNCT_TOKEN) + Table[i] = VECTOR_FUNCT_TOKEN; + else + { + if (i < COLOUR_KEY_TOKEN) + Table[i] = COLOUR_KEY_TOKEN; + } + } + } +} + +void +check () +{ + int i; + + for (i = 0; i < FLOAT_FUNCT_TOKEN; i++) + if (Table[i] != FLOAT_FUNCT_TOKEN) + abort (); + for (i = FLOAT_FUNCT_TOKEN; i < VECTOR_FUNCT_TOKEN; i++) + if (Table[i] != VECTOR_FUNCT_TOKEN) + abort (); + for (i = VECTOR_FUNCT_TOKEN; i < COLOUR_KEY_TOKEN; i++) + if (Table[i] != COLOUR_KEY_TOKEN) + abort (); + for (i = COLOUR_KEY_TOKEN; i < LAST_TOKEN; i++) + if (Table[i] != i) + abort (); +} + +int +main () +{ + int i; + + pre_init_tokenizer (); +#ifdef DBG + for (i = 0; i < LAST_TOKEN; i++) + printf ("%3d: %d\n", i, Table[i]); +#endif + check (); + return 0; +} |