[Bug c++/118454] [15 regression] ICE when building scipy-1.15.1 (hash table checking failed: equal operator returns true for a pair of values with a different hash value)
ppalka at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jan 13 17:51:15 GMT 2025
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118454
Patrick Palka <ppalka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot gnu.org
--- Comment #9 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Seems the early exit in coerce_template_parms when coercing a pack arg and
non-pack parm needs to strip typedefs, like the normal code path does.
Candidate fix:
diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc
index 537e4c4a494..8cdbf7f65ac 100644
--- a/gcc/cp/pt.cc
+++ b/gcc/cp/pt.cc
@@ -9362,7 +9362,7 @@ coerce_template_parms (tree parms,
/* We don't know how many args we have yet, just
use the unconverted (but unpacked) ones for now. */
ggc_free (new_inner_args);
- new_inner_args = inner_args;
+ new_inner_args = strip_typedefs (inner_args);
arg_idx = nargs;
break;
}
More information about the Gcc-bugs
mailing list