[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