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

--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
This has something to do with us reusing typedefs in tsubst:

  /* Reuse typedefs.  We need to do this to handle dependent attributes,
     such as attribute aligned.  */
  if (TYPE_P (t)
      && typedef_variant_p (t))

where we get

 <splice_scope 0x7fffe4da5888 msg_type type_0 type_6 VOID
    align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fffe4da57e0>

and return it instead of substituting, and then crashing.  We should instead
retrieve_local_specialization and grab the one that tsubst_splice_scope gave
us.

Reply via email to