[Bug c++/94098] [10 Regression] ICE: canonical types differ for identical types 'int(void*, void*)' and 'int(void*, void*)'
msebor at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Mar 10 02:50:19 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94098
Martin Sebor <msebor at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |msebor at gcc dot gnu.org
Status|NEW |ASSIGNED
--- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> ---
Despite fixing at least one bug it looks like the patch for PR92721 didn't
actually eliminate the underlying problem. The comment above the internal
error suggests that changing the type attributes of a function when applying
attributes to its declaration might need additional changes to "the canonical
type propagation code." At this point I have no idea wherever that might need
to happen.
/* The two types are structurally equivalent, but their
canonical types were different. This is a failure of the
canonical type propagation code.*/
internal_error
("canonical types differ for identical types %qT and %qT",
t1, t2);
More information about the Gcc-bugs
mailing list