OSDN Git Service

PR middle-end/24901
authorsje <sje@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 2 Feb 2006 00:13:39 +0000 (00:13 +0000)
committersje <sje@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 2 Feb 2006 00:13:39 +0000 (00:13 +0000)
* fold-const.c (fold_checksum_tree): Change type of buf.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110487 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/fold-const.c

index 027a773..a4d94fe 100644 (file)
@@ -1,3 +1,8 @@
+2006-02-01  Steve Ellcey  <sje@cup.hp.com>
+
+       PR middle-end/24901
+       * fold-const.c (fold_checksum_tree): Change type of buf.
+
 2006-02-01  Bernd Schmidt  <bernd.schmidt@analog.com>
 
        * reload.c (push_secondary_reload): Initialize t_icode.
index ed100ce..242a0ff 100644 (file)
@@ -10476,7 +10476,7 @@ fold_checksum_tree (tree expr, struct md5_ctx *ctx, htab_t ht)
 {
   void **slot;
   enum tree_code code;
-  char buf[sizeof (struct tree_function_decl)];
+  struct tree_function_decl buf;
   int i, len;
   
 recursive_label:
@@ -10495,8 +10495,8 @@ recursive_label:
       && DECL_ASSEMBLER_NAME_SET_P (expr))
     {
       /* Allow DECL_ASSEMBLER_NAME to be modified.  */
-      memcpy (buf, expr, tree_size (expr));
-      expr = (tree) buf;
+      memcpy ((char *) &buf, expr, tree_size (expr));
+      expr = (tree) &buf;
       SET_DECL_ASSEMBLER_NAME (expr, NULL);
     }
   else if (TREE_CODE_CLASS (code) == tcc_type
@@ -10505,8 +10505,8 @@ recursive_label:
               || TYPE_CONTAINS_PLACEHOLDER_INTERNAL (expr)))
     {
       /* Allow these fields to be modified.  */
-      memcpy (buf, expr, tree_size (expr));
-      expr = (tree) buf;
+      memcpy ((char *) &buf, expr, tree_size (expr));
+      expr = (tree) &buf;
       TYPE_CONTAINS_PLACEHOLDER_INTERNAL (expr) = 0;
       TYPE_POINTER_TO (expr) = NULL;
       TYPE_REFERENCE_TO (expr) = NULL;