https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89692

--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to rguent...@suse.de from comment #12)
> All varaints have the same TYPE_CANONICAL, that of the main variant, and
> we never throw away the main variant.  Basically
> 
> gcc_assert (TYPE_CANONICAL (t) == TYPE_MAIN_VARIANT (TYPE_CANONICAL (t)) 
> == TYPE_CANONICAL (TYPE_MAIN_VARAINT (t)))
> 
> holds

If it holds, then no objection from me, I just wonder how far we'd get in a
bootstrap (including say Ada) if we've added that assert somewhere.
But in that case the comment that 
      /* Do not walk TYPE_CANONICAL.  We do not stream it and thus do not
         and want not to reach unused types this way.  */
doesn't make much sense, because fld_worklist_push (TYPE_CANONICAL (t), fld);
wouldn't change anything.

Reply via email to