https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98538
--- Comment #8 from Marek Polacek <mpolacek at gcc dot gnu.org> --- (In reply to Nathan Sidwell from comment #5) > I don;t think your patch is quite right. the call afterwards is making the > assumption that DEPENDENT_TYPE_P is only ever set when > DEPENDENT_TYPE_P_VALID is true, and as I discovered, that is not correct. > see this code near pt.c:14899 > > set_underlying_type (r); > if (TYPE_DECL_ALIAS_P (r)) > /* An alias template specialization can be dependent > even if its underlying type is not. */ > TYPE_DEPENDENT_P_VALID (TREE_TYPE (r)) = false; > } Right, that's what lead me to tweaking the assert to not crash for alias template specializations. But I like your patch better. > I did wonder if we should just recalculate properly there though ... > > 'tis annoying that 'taking' a bug does not put it in the assigned state :( Indeed :/. Thanks for fixing this.