diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-06-21 21:27:19 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-06-21 21:27:19 +0000 |
commit | 82e15b07750c33c76a3391bd69e5ca6d1f24725b (patch) | |
tree | 5598b612246324c2682be76de3b7a9de31ea1f9f /gcc/coverage.c | |
parent | 4026b9778b81cfd22bc8fa18c1e0d3beb32dbc8f (diff) | |
download | gcc-82e15b07750c33c76a3391bd69e5ca6d1f24725b.tar.gz |
gcc/
PR middle-end/28034
* coverage.c (coverage_counter_alloc): Leave the index type
unspecified.
(coverage_counter_alloc): Use null arguments for operands 2 and 3
of the ARRAY_REF.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114870 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/coverage.c')
-rw-r--r-- | gcc/coverage.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/gcc/coverage.c b/gcc/coverage.c index 38339304a30..5eaf4888fe3 100644 --- a/gcc/coverage.c +++ b/gcc/coverage.c @@ -388,15 +388,13 @@ coverage_counter_alloc (unsigned counter, unsigned num) if (!tree_ctr_tables[counter]) { - /* Generate and save a copy of this so it can be shared. */ - /* We don't know the size yet; make it big enough that nobody - will make any clever transformation on it. */ + /* Generate and save a copy of this so it can be shared. Leave + the index type unspecified for now; it will be set after all + functions have been compiled. */ char buf[20]; tree gcov_type_node = get_gcov_type (); - tree domain_tree - = build_index_type (build_int_cst (NULL_TREE, 1000)); /* replaced later */ tree gcov_type_array_type - = build_array_type (gcov_type_node, domain_tree); + = build_array_type (gcov_type_node, NULL_TREE); tree_ctr_tables[counter] = build_decl (VAR_DECL, NULL_TREE, gcov_type_array_type); TREE_STATIC (tree_ctr_tables[counter]) = 1; @@ -416,18 +414,13 @@ tree tree_coverage_counter_ref (unsigned counter, unsigned no) { tree gcov_type_node = get_gcov_type (); - tree domain_type = TYPE_DOMAIN (TREE_TYPE (tree_ctr_tables[counter])); gcc_assert (no < fn_n_ctrs[counter] - fn_b_ctrs[counter]); no += prg_n_ctrs[counter] + fn_b_ctrs[counter]; /* "no" here is an array index, scaled to bytes later. */ return build4 (ARRAY_REF, gcov_type_node, tree_ctr_tables[counter], - fold_convert (domain_type, - build_int_cst (NULL_TREE, no)), - TYPE_MIN_VALUE (domain_type), - size_binop (EXACT_DIV_EXPR, TYPE_SIZE_UNIT (gcov_type_node), - size_int (TYPE_ALIGN_UNIT (gcov_type_node)))); + build_int_cst (NULL_TREE, no), NULL, NULL); } /* Generate a checksum for a string. CHKSUM is the current |