diff options
author | Marc Espie <espie@cvs.openbsd.org> | 1999-08-23 20:32:32 +0000 |
---|---|---|
committer | Marc Espie <espie@cvs.openbsd.org> | 1999-08-23 20:32:32 +0000 |
commit | ef233545e6c3dcf885a8b3178a859a23604b359c (patch) | |
tree | 8f4f503c82a377012f9429ed7e24abfbd6aabb98 /gnu/egcs/gcc/tree.c | |
parent | 20915043a05410a0247b150f77f71c94c43ce2ae (diff) |
Update to gcc 2.95.1, official release.
Diffstat (limited to 'gnu/egcs/gcc/tree.c')
-rw-r--r-- | gnu/egcs/gcc/tree.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gnu/egcs/gcc/tree.c b/gnu/egcs/gcc/tree.c index b61c11587ec..5e29d2f9115 100644 --- a/gnu/egcs/gcc/tree.c +++ b/gnu/egcs/gcc/tree.c @@ -3300,7 +3300,6 @@ build_type_attribute_variant (ttype, attribute) current_obstack = TYPE_OBSTACK (ttype); ntype = copy_node (ttype); - current_obstack = ambient_obstack; TYPE_POINTER_TO (ntype) = 0; TYPE_REFERENCE_TO (ntype) = 0; @@ -3335,6 +3334,12 @@ build_type_attribute_variant (ttype, attribute) ntype = type_hash_canon (hashcode, ntype); ttype = build_qualified_type (ntype, TYPE_QUALS (ttype)); + + /* We must restore the current obstack after the type_hash_canon call, + because type_hash_canon calls type_hash_add for permanent types, and + then type_hash_add calls oballoc expecting to get something permanent + back. */ + current_obstack = ambient_obstack; } return ttype; |