diff options
Diffstat (limited to 'gcc/lto-streamer-in.c')
-rw-r--r-- | gcc/lto-streamer-in.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c index 4c4a39b..5329851 100644 --- a/gcc/lto-streamer-in.c +++ b/gcc/lto-streamer-in.c @@ -1231,7 +1231,9 @@ lto_read_body_or_constructor (struct lto_file_decl_data *file_data, struct symta if (TYPE_P (t)) { gcc_assert (TYPE_CANONICAL (t) == NULL_TREE); - TYPE_CANONICAL (t) = TYPE_MAIN_VARIANT (t); + if (type_with_alias_set_p (t) + && canonical_type_used_p (t)) + TYPE_CANONICAL (t) = TYPE_MAIN_VARIANT (t); if (TYPE_MAIN_VARIANT (t) != t) { gcc_assert (TYPE_NEXT_VARIANT (t) == NULL_TREE); |