pt.c (retrieve_specialization): Make sure our arguments have gone through strip_typedefs.

* pt.c (retrieve_specialization): Make sure our arguments have
	gone through strip_typedefs.

From-SVN: r223305
This commit is contained in:
Jason Merrill 2015-05-18 14:08:53 -04:00 committed by Jason Merrill
parent b237c4cbd3
commit f41aecf428
2 changed files with 11 additions and 0 deletions

View File

@ -1,5 +1,8 @@
2015-05-18 Jason Merrill <jason@redhat.com>
* pt.c (retrieve_specialization): Make sure our arguments have
gone through strip_typedefs.
* pt.c (tsubst_decl) [VAR_DECL]: Call coerce_innermost_template_parms.
(determine_specialization): Call coerce_template_parms.

View File

@ -1058,6 +1058,14 @@ retrieve_specialization (tree tmpl, tree args, hashval_t hash)
? TMPL_PARMS_DEPTH (DECL_TEMPLATE_PARMS (tmpl))
: template_class_depth (DECL_CONTEXT (tmpl))));
#ifdef ENABLE_CHECKING
/* We should have gone through coerce_template_parms by now. */
++processing_template_decl;
if (!any_dependent_template_arguments_p (args))
gcc_assert (strip_typedefs_expr (args, NULL) == args);
--processing_template_decl;
#endif
if (optimize_specialization_lookup_p (tmpl))
{
tree class_template;