From 81c58171ab09c62ddd0971fd0e2069577f6deca2 Mon Sep 17 00:00:00 2001 From: dje Date: Sun, 15 Oct 2006 16:21:14 +0000 Subject: [PATCH] PR middle-end/29250 * gcc.c-torture/compile/pr29250.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117747 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.c-torture/compile/pr29250.c | 32 +++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr29250.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c2ff6c22b40..8cf1478c84d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-10-15 David Edelsohn + + PR middle-end/29250 + * gcc.c-torture/compile/pr29250.c: New test. + 2006-10-15 Richard Guenther * gcc.dg/pr29299.c: New testcase. diff --git a/gcc/testsuite/gcc.c-torture/compile/pr29250.c b/gcc/testsuite/gcc.c-torture/compile/pr29250.c new file mode 100644 index 00000000000..970af329d74 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr29250.c @@ -0,0 +1,32 @@ +/* We used to ICE because EXPAND_SUM was being used for all recursive calls + to expand_expr. */ +struct TSparseEntry +{ + int feat_index; + double entry; +}; + +struct TSparse +{ + int vec_index; + int num_feat_entries; + struct TSparseEntry *features; +}; + +void +get_full_feature_matrix (struct TSparse* sparse_feature_matrix, int num_vec) +{ + double *fm; + int v, f; + + for (v=0; v < num_vec; v++) + { + for (f=0; f < sparse_feature_matrix[v].num_feat_entries; f++) + { + long long offs = sparse_feature_matrix[v].vec_index + + sparse_feature_matrix[v].features[f].feat_index; + fm[offs] = sparse_feature_matrix[v].features[f].entry; + } + } +} + -- 2.11.4.GIT