diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8044ed5e255a15c7e86d1ba2118ee1e576505d23..4814be31e3940b2a9f45f79ce478facb20eb6f55 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-06-28 Andrew Pinski <pinskia@gmail.com> + + * tree.c (tree_size): Do not waste tail padding in + struct tree_string and make the size be the same as + build_string will generate. + 2006-06-28 Jason Merrill <jason@redhat.com> PR c++/27768 diff --git a/gcc/tree.c b/gcc/tree.c index e0e6716c2f6997d6bac6cf92b74f639949f9fe3f..02e7c7c68284958cea53fe247bc99584aa87e324 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -419,7 +419,7 @@ tree_size (tree node) + (TREE_VEC_LENGTH (node) - 1) * sizeof(char *)); case STRING_CST: - return sizeof (struct tree_string) + TREE_STRING_LENGTH (node) - 1; + return TREE_STRING_LENGTH (node) + offsetof (struct tree_string, str) + 1; case OMP_CLAUSE: return (sizeof (struct tree_omp_clause)