From 4043066e96849671f2acf84b31b31eec05e70aeb Mon Sep 17 00:00:00 2001
From: pinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu, 29 Jun 2006 16:28:04 +0000
Subject: [PATCH] 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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115072 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/ChangeLog | 6 ++++++
 gcc/tree.c    | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8044ed5e255a..4814be31e394 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 e0e6716c2f69..02e7c7c68284 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)
-- 
GitLab