aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrevor Saunders <tsaunders@mozilla.com>2015-01-22 11:55:33 +0000
committerTrevor Saunders <tbsaunde@gcc.gnu.org>2015-01-22 11:55:33 +0000
commit6c4ffa6c4a5ff7a46e1bd4b628d29828a77e1704 (patch)
treeae4a85648726e49cd120be4c5aab95e4d90c4d82
parentcf5b43b050567e8ad9ca65b28489324fe5cc1022 (diff)
downloadgcc-6c4ffa6c4a5ff7a46e1bd4b628d29828a77e1704.zip
gcc-6c4ffa6c4a5ff7a46e1bd4b628d29828a77e1704.tar.gz
gcc-6c4ffa6c4a5ff7a46e1bd4b628d29828a77e1704.tar.bz2
make fold ignore decl_with_vis.symtab_node
gcc/ PR middle-end/63325 * fold-const.c (fold_checksum_tree): Don't include expr.decl_with_vis.symtab_node in the checksum. From-SVN: r219994
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/fold-const.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d060dfa..d9c1258 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2015-01-22 Trevor Saunders <tsaunders@mozilla.com>
+
+ PR middle-end/63325
+ * fold-const.c (fold_checksum_tree): Don't include value of
+ expr->decl_with_vis.symtab_node in the checksum.
+
2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.md (atomic code attribute): Fix typo "ior" ->
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 8974dc0..50a9877 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -14073,11 +14073,12 @@ fold_checksum_tree (const_tree expr, struct md5_ctx *ctx,
*slot = expr;
code = TREE_CODE (expr);
if (TREE_CODE_CLASS (code) == tcc_declaration
- && DECL_ASSEMBLER_NAME_SET_P (expr))
+ && HAS_DECL_ASSEMBLER_NAME_P (expr))
{
- /* Allow DECL_ASSEMBLER_NAME to be modified. */
+ /* Allow DECL_ASSEMBLER_NAME and symtab_node to be modified. */
memcpy ((char *) &buf, expr, tree_size (expr));
SET_DECL_ASSEMBLER_NAME ((tree)&buf, NULL);
+ buf.decl_with_vis.symtab_node = NULL;
expr = (tree) &buf;
}
else if (TREE_CODE_CLASS (code) == tcc_type