[gcc r12-7187] c++: ICE on xtreme-header_a.H

Jason Merrill jason@gcc.gnu.org
Thu Feb 10 20:32:28 GMT 2022


https://gcc.gnu.org/g:db84f382ae3dc238b1c3e3a18b786bca5bd38a14

commit r12-7187-gdb84f382ae3dc238b1c3e3a18b786bca5bd38a14
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Feb 10 14:59:49 2022 -0500

    c++: ICE on xtreme-header_a.H
    
    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.
    
    gcc/cp/ChangeLog:
    
            * module.cc (depset::hash::add_specializations): Use
            STRIP_TEMPLATE.

Diff:
---
 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;


More information about the Gcc-cvs mailing list