From 6b29892c07c61fa93ae3d5b454f9258eeefcfd19 Mon Sep 17 00:00:00 2001 From: drow Date: Mon, 13 Sep 2004 23:25:45 +0000 Subject: [PATCH] * fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES. Only use TYPE_BINFO for aggregates. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87457 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/fold-const.c | 12 +++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 419c409633c..cc493a4c5ff 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2004-09-13 Daniel Jacobowitz + * fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES. + Only use TYPE_BINFO for aggregates. + +2004-09-13 Daniel Jacobowitz + * expmed.c (synth_mult): Initialize latency. Check cost before checking ops count. diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 972f276d59c..4453f364233 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -9051,13 +9051,16 @@ fold_checksum_tree (tree expr, struct md5_ctx *ctx, htab_t ht) SET_DECL_ASSEMBLER_NAME (expr, NULL); } else if (TREE_CODE_CLASS (code) == 't' - && (TYPE_POINTER_TO (expr) || TYPE_REFERENCE_TO (expr))) + && (TYPE_POINTER_TO (expr) || TYPE_REFERENCE_TO (expr) + || TYPE_CACHED_VALUES_P (expr))) { - /* Allow TYPE_POINTER_TO and TYPE_REFERENCE_TO to be modified. */ + /* Allow these fields to be modified. */ memcpy (buf, expr, tree_size (expr)); expr = (tree) buf; TYPE_POINTER_TO (expr) = NULL; TYPE_REFERENCE_TO (expr) = NULL; + TYPE_CACHED_VALUES_P (expr) = 0; + TYPE_CACHED_VALUES (expr) = NULL; } md5_process_bytes (expr, tree_size (expr), ctx); fold_checksum_tree (TREE_TYPE (expr), ctx, ht); @@ -9135,7 +9138,10 @@ fold_checksum_tree (tree expr, struct md5_ctx *ctx, htab_t ht) fold_checksum_tree (TYPE_MAX_VALUE (expr), ctx, ht); } fold_checksum_tree (TYPE_MAIN_VARIANT (expr), ctx, ht); - fold_checksum_tree (TYPE_BINFO (expr), ctx, ht); + if (TREE_CODE (expr) == RECORD_TYPE + || TREE_CODE (expr) == UNION_TYPE + || TREE_CODE (expr) == QUAL_UNION_TYPE) + fold_checksum_tree (TYPE_BINFO (expr), ctx, ht); fold_checksum_tree (TYPE_CONTEXT (expr), ctx, ht); break; default: -- 2.11.4.GIT