From: Kaveh R. Ghazi Date: Tue, 14 Feb 2006 01:59:16 +0000 (+0000) Subject: Backport: X-Git-Tag: releases/gcc-3.4.6~78 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4c0d895b2296d62d6ebfedf4f10941bc41b53bbb;p=thirdparty%2Fgcc.git Backport: 2006-02-01 Steve Ellcey PR middle-end/24901 * fold-const.c (fold_checksum_tree): Change type of buf. From-SVN: r110953 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 444a65773d3f..f8e0bba8e71e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2006-02-13 Kaveh R. Ghazi + + Backport: + 2006-02-01 Steve Ellcey + + PR middle-end/24901 + * fold-const.c (fold_checksum_tree): Change type of buf. + 2006-02-11 Kaveh R. Ghazi * doc/contrib.texi: Update my entry. diff --git a/gcc/fold-const.c b/gcc/fold-const.c index d786292bff86..cc2698da09a4 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -8442,7 +8442,7 @@ fold_checksum_tree (tree expr, struct md5_ctx *ctx, htab_t ht) { void **slot; enum tree_code code; - char buf[sizeof (struct tree_decl)]; + struct tree_decl buf; int i, len; if (sizeof (struct tree_exp) + 5 * sizeof (tree) @@ -8459,23 +8459,23 @@ fold_checksum_tree (tree expr, struct md5_ctx *ctx, htab_t ht) if (code == SAVE_EXPR && SAVE_EXPR_NOPLACEHOLDER (expr)) { /* Allow SAVE_EXPR_NOPLACEHOLDER flag to be modified. */ - memcpy (buf, expr, tree_size (expr)); - expr = (tree) buf; + memcpy (&buf, expr, tree_size (expr)); + expr = (tree) &buf; SAVE_EXPR_NOPLACEHOLDER (expr) = 0; } else if (TREE_CODE_CLASS (code) == 'd' && DECL_ASSEMBLER_NAME_SET_P (expr)) { /* Allow DECL_ASSEMBLER_NAME to be modified. */ - memcpy (buf, expr, tree_size (expr)); - expr = (tree) buf; + memcpy (&buf, expr, tree_size (expr)); + expr = (tree) &buf; SET_DECL_ASSEMBLER_NAME (expr, NULL); } else if (TREE_CODE_CLASS (code) == 't' && (TYPE_POINTER_TO (expr) || TYPE_REFERENCE_TO (expr))) { /* Allow TYPE_POINTER_TO and TYPE_REFERENCE_TO to be modified. */ - memcpy (buf, expr, tree_size (expr)); - expr = (tree) buf; + memcpy (&buf, expr, tree_size (expr)); + expr = (tree) &buf; TYPE_POINTER_TO (expr) = NULL; TYPE_REFERENCE_TO (expr) = NULL; }