This patch makes a couple of type-creation routines available to
modules. That needs to create unbound template parms, and canonical
template parms.
gcc/cp/
* cp-tree.h (make_unbound_class_template_raw): Declare.
(canonical_type_parameter): Declare.
* decl.c (make_unbound_class_template_raw): Break out of ...
(make_unboud_class_template): ... here. Call it.
* pt.c (canonical_type_parameter): Externalize. Refactor & set
structural_equality for type parms.