https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105398
Patrick Palka <ppalka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|ppalka at gcc dot gnu.org |unassigned at gcc dot gnu.org Status|ASSIGNED |NEW --- Comment #5 from Patrick Palka <ppalka at gcc dot gnu.org> --- (In reply to Marek Polacek from comment #4) > The patch above changed > > - if (TREE_CODE (template_type) == ENUMERAL_TYPE && !is_dependent_type > + if (TREE_CODE (template_type) == ENUMERAL_TYPE > + && !uses_template_parms (current_nonlambda_scope ()) > && !DECL_ALIAS_TEMPLATE_P (gen_tmpl)) > > but here current_nonlambda_scope () is ::, a NAMESPACE_DECL, which doesn't > have a type, so is considered type-dependent. So we don't call tsubst_enum. > That doesn't look right. Whoops, sorry Marek, didn't know you were already looking into this. Your analysis makes sense to me :)