diff options
author | Jim Wilson <wilson@cygnus.com> | 1999-07-15 15:40:59 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1999-07-15 08:40:59 -0700 |
commit | e500a90e22732edac168b9d9986ae7b08d3f2391 (patch) | |
tree | 7a998371a7345d976e236ab8c7fcc8ff8cb0350f | |
parent | e3f5cc86f875375ac87d4cdaac62f82ab4428295 (diff) | |
download | gcc-e500a90e22732edac168b9d9986ae7b08d3f2391.zip gcc-e500a90e22732edac168b9d9986ae7b08d3f2391.tar.gz gcc-e500a90e22732edac168b9d9986ae7b08d3f2391.tar.bz2 |
Fix winsup build failure reported by Chris Faylor.
* tree.c (build_type_attribute_variant): Move current_obstack restore
after build_qualified_type call.
From-SVN: r28116
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree.c | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3a19f31..7c986ba 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Jul 15 15:40:09 1999 Jim Wilson <wilson@cygnus.com> + + * tree.c (build_type_attribute_variant): Move current_obstack restore + after build_qualified_type call. + 1999-07-15 Mark Mitchell <mark@codesourcery.com> * configure.in: Use t-iris6, even with GNU LD. @@ -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; |