(c_build_type_variant): Don't change TYPE_MAIN_VARIANT of new type.

From-SVN: r7427
This commit is contained in:
Richard Kenner 1994-06-02 17:31:34 -04:00
parent 7bc7696cba
commit ba5ce70d08
1 changed files with 5 additions and 3 deletions

View File

@ -1972,14 +1972,16 @@ c_build_type_variant (type, constp, volatilep)
{
if (TREE_CODE (type) == ARRAY_TYPE)
{
tree real_main_variant = TYPE_MAIN_VARIANT (type);
push_obstacks (TYPE_OBSTACK (type), TYPE_OBSTACK (type));
type = build_array_type (c_build_type_variant (TREE_TYPE (type),
constp, volatilep),
TYPE_DOMAIN (type));
TYPE_MAIN_VARIANT (type) = real_main_variant;
pop_obstacks ();
/* If the old TYPE had variants, we lose them here. However,
since the new TYPE can be in the permanent obstack and the
old one may not be, preserving this chain would cause permanent
objects to point to non-permanent ones. */
}
return build_type_variant (type, constp, volatilep);
}