contrib/gcc/cp/mangle.c
/* Both decls and types can be substitution candidates, but sometimes
   they refer to the same thing.  For instance, a TYPE_DECL and
   RECORD_TYPE for the same class refer to the same thing, and should
   be treated accordingly in substitutions.  This function returns a
   canonicalized tree node representing NODE that is used when adding
   and substitution candidates and finding matches.  */
Both decls and types can be substitution candidates, but sometimes
they refer to the same thing.  For instance, a TYPE_DECL and
RECORD_TYPE for the same class refer to the same thing, and should
be treated accordingly in substitutions.  This function returns a
canonicalized tree node representing NODE that is used when adding
and substitution candidates and finding matches.
Both decls and types can be substitution candidates but sometimes they refer to the same thing . For instance a TYPE_DECL and RECORD_TYPE for the same class refer to the same thing and should be treated accordingly in substitutions . This function returns a canonicalized tree node representing NODE that is used when adding and substitution candidates and finding matches .
static inline tree
canonicalize_for_substitution (tree node)
{
  if (TREE_CODE (node) == TYPE_DECL)
    node = TREE_TYPE (node);
  if (TYPE_P (node))
    node = canonical_type_variant (node);
  return node;
}
static inline tree canonicalize_for_substitution ( tree node ) { if ( TREE_CODE ( node ) == TYPE_DECL ) node = TREE_TYPE ( node ) ; if ( TYPE_P ( node ) ) node = canonical_type_variant ( node ) ; return node ; }
Both decls and types can be substitution candidates, but sometimes
they refer to the same thing.
Both decls and types can be substitution candidates but sometimes they refer to the same thing .
/* For a TYPE_DECL, use the type instead.  */