aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/tree.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e500186..83a3ee8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2007-11-26 Alexandre Oliva <aoliva@redhat.com>
+ * tree.c (type_hash_add): Don't violate strict aliasing rules.
+
+2007-11-26 Alexandre Oliva <aoliva@redhat.com>
+
PR c/27898
* c-typeck.c (tagged_types_tu_compatible_p): Enable exact
matches between anonymous union fields.
diff --git a/gcc/tree.c b/gcc/tree.c
index 9c65474..6cb76f0 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -4677,7 +4677,7 @@ type_hash_add (hashval_t hashcode, tree type)
h->hash = hashcode;
h->type = type;
loc = htab_find_slot_with_hash (type_hash_table, h, hashcode, INSERT);
- *(struct type_hash **) loc = h;
+ *loc = (void*)h;
}
/* Given TYPE, and HASHCODE its hash code, return the canonical