diff options
author | Sebastian Pop <sebastian.pop@amd.com> | 2008-09-12 23:03:54 +0000 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2008-09-12 23:03:54 +0000 |
commit | 02ae05bdf5c0b8ebfcc245246ea2cfd0f95ff5f3 (patch) | |
tree | 28b06f7929ad79360d25a04b941653cec174b5bb | |
parent | 0bfdfbf659cf83af2c3d04d36b2a4a41b9a03738 (diff) | |
download | gcc-02ae05bdf5c0b8ebfcc245246ea2cfd0f95ff5f3.zip gcc-02ae05bdf5c0b8ebfcc245246ea2cfd0f95ff5f3.tar.gz gcc-02ae05bdf5c0b8ebfcc245246ea2cfd0f95ff5f3.tar.bz2 |
re PR middle-end/37484 ([graphite] Valgrind gives invalid reads/writes on CPU2006 403.gcc benchmark)
2008-09-12 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/37484
* graphite.c (scop_record_loop): Use snprintf instead of sprintf.
(save_var_name): Same.
(initialize_cloog_names): Same.
(initialize_cloog_names): Same.
From-SVN: r140327
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/graphite.c | 24 |
2 files changed, 22 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3ad7938..ef7c156 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,13 @@ 2008-09-12 Sebastian Pop <sebastian.pop@amd.com> + PR tree-optimization/37484 + * graphite.c (scop_record_loop): Use snprintf instead of sprintf. + (save_var_name): Same. + (initialize_cloog_names): Same. + (initialize_cloog_names): Same. + +2008-09-12 Sebastian Pop <sebastian.pop@amd.com> + * tree-scalar-evolution.c (set_instantiated_value): Set instantiated_below. 2008-09-12 Vladimir Makarov <vmakarov@redhat.com> diff --git a/gcc/graphite.c b/gcc/graphite.c index c173cca..4e1a969 100644 --- a/gcc/graphite.c +++ b/gcc/graphite.c @@ -1542,8 +1542,9 @@ scop_record_loop (scop_p scop, struct loop *loop) oldiv->name = IDENTIFIER_POINTER (DECL_NAME (oldiv->t)); else { - char *n = XNEWVEC (char, 16); - sprintf (n, "D.%u", DECL_UID (oldiv->t)); + int len = 2 + 16; + char *n = XNEWVEC (char, len); + snprintf (n, len, "D.%u", DECL_UID (oldiv->t)); oldiv->name = n; } oldiv->loop = loop; @@ -1988,13 +1989,14 @@ save_var_name (char **nv, int i, name_tree p) if (name) { - nv[i] = XNEWVEC (char, strlen (name) + 12); - sprintf (nv[i], "%s_%12d", name, SSA_NAME_VERSION (p->t)); + int len = strlen (name) + 16; + nv[i] = XNEWVEC (char, len); + snprintf (nv[i], len, "%s_%d", name, SSA_NAME_VERSION (p->t)); } else { - nv[i] = XNEWVEC (char, 12); - sprintf (nv[i], "T_%12d", SSA_NAME_VERSION (p->t)); + nv[i] = XNEWVEC (char, 16); + snprintf (nv[i], 2 + 16, "T_%d", SSA_NAME_VERSION (p->t)); } p->name = nv[i]; @@ -2044,8 +2046,9 @@ initialize_cloog_names (scop_p scop) for (i = 0; i < nb_iterators; i++) { - iterators[i] = XNEWVEC (char, 18 + 12); - sprintf (iterators[i], "graphite_iterator_%d", i); + int len = 18 + 16; + iterators[i] = XNEWVEC (char, len); + snprintf (iterators[i], len, "graphite_iterator_%d", i); } cloog_names_set_nb_iterators (cloog_program_names (SCOP_PROG (scop)), @@ -2055,8 +2058,9 @@ initialize_cloog_names (scop_p scop) for (i = 0; i < nb_scattering; i++) { - scattering[i] = XNEWVEC (char, 2 + 12); - sprintf (scattering[i], "s_%d", i); + int len = 2 + 16; + scattering[i] = XNEWVEC (char, len); + snprintf (scattering[i], len, "s_%d", i); } cloog_names_set_nb_scattering (cloog_program_names (SCOP_PROG (scop)), |