This test regressed after my PR103752 patch with -march=cascadelake. I don't understand why that flag makes a difference, but this patch is correct in any case.
Tested x86_64-pc-linux-gnu, applying to trunk. gcc/cp/ChangeLog: * module.cc (depset::hash::add_specializations): Use STRIP_TEMPLATE. --- gcc/cp/module.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc index 3cf0af10bc0..6e6b008b3a5 100644 --- a/gcc/cp/module.cc +++ b/gcc/cp/module.cc @@ -12976,7 +12976,7 @@ depset::hash::add_specializations (bool decl_p) /* Implicit instantiations only walked if we reach them. */ needs_reaching = true; else if (!DECL_LANG_SPECIFIC (spec) - || !DECL_MODULE_PURVIEW_P (spec)) + || !DECL_MODULE_PURVIEW_P (STRIP_TEMPLATE (spec))) /* Likewise, GMF explicit or partial specializations. */ needs_reaching = true; base-commit: 4a8083285c3edf50088a095870b217ab0881dff0 -- 2.27.0