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

Reply via email to