From dbb23418b23a9e2d4dfbd88ef6661f38e869db6c Mon Sep 17 00:00:00 2001 From: Patrick Palka Date: Mon, 7 Mar 2016 17:09:53 +0000 Subject: Adjust fix for PR c++/66786 gcc/cp/ChangeLog: PR c++/66786 * pt.c (get_template_info): Handle PARM_DECL. (template_class_depth): Check DECL_P instead of VAR_OR_FUNCTION_DECL_P. From-SVN: r234038 --- gcc/cp/ChangeLog | 7 +++++++ gcc/cp/pt.c | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'gcc') diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index a803ec9..f58e34e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,10 @@ +2016-03-07 Patrick Palka + + PR c++/66786 + * pt.c (get_template_info): Handle PARM_DECL. + (template_class_depth): Check DECL_P instead of + VAR_OR_FUNCTION_DECL_P. + 2016-03-05 Jason Merrill PR c++/67364 diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index f6dd75a..515537b 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -330,7 +330,8 @@ get_template_info (const_tree t) if (!t || t == error_mark_node) return NULL; - if (TREE_CODE (t) == NAMESPACE_DECL) + if (TREE_CODE (t) == NAMESPACE_DECL + || TREE_CODE (t) == PARM_DECL) return NULL; if (DECL_P (t) && DECL_LANG_SPECIFIC (t)) @@ -378,7 +379,7 @@ template_class_depth (tree type) && uses_template_parms (INNERMOST_TEMPLATE_ARGS (TI_ARGS (tinfo)))) ++depth; - if (VAR_OR_FUNCTION_DECL_P (type)) + if (DECL_P (type)) type = CP_DECL_CONTEXT (type); else if (LAMBDA_TYPE_P (type)) type = LAMBDA_TYPE_EXTRA_SCOPE (type); -- cgit v1.1