diff options
author | Patrick Palka <ppalka@gcc.gnu.org> | 2016-03-07 17:09:53 +0000 |
---|---|---|
committer | Patrick Palka <ppalka@gcc.gnu.org> | 2016-03-07 17:09:53 +0000 |
commit | dbb23418b23a9e2d4dfbd88ef6661f38e869db6c (patch) | |
tree | 8b9f170bde7a5701eb23ee56701dcf2ed9a57018 /gcc | |
parent | a84a49b7e7ac9b6f576508aa0683a4f14cb44f7d (diff) | |
download | gcc-dbb23418b23a9e2d4dfbd88ef6661f38e869db6c.zip gcc-dbb23418b23a9e2d4dfbd88ef6661f38e869db6c.tar.gz gcc-dbb23418b23a9e2d4dfbd88ef6661f38e869db6c.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/cp/pt.c | 5 |
2 files changed, 10 insertions, 2 deletions
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 <ppalka@gcc.gnu.org> + + 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 <jason@redhat.com> 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); |