c++: templatey type creation
authorNathan Sidwell <nathan@acm.org>
Thu, 3 Dec 2020 16:58:44 +0000 (08:58 -0800)
committerNathan Sidwell <nathan@acm.org>
Thu, 3 Dec 2020 17:01:43 +0000 (09:01 -0800)
commiteb8c2b30b947dd8a2012ee658117bea05e46bc85
treea5a9723ff925a0da5742df39794d98de9c89f098
parent756f55e62f73eb32787497eb9e564d4b21a6e637
c++:  templatey type creation

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.
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/pt.c