pt.c (decl_template_parm_p): Add checks for TEMPLATE_TEMPLATE_PARM.
authorBenjamin Kosnik <bkoz@gcc.gnu.org>
Sat, 29 Aug 1998 01:15:22 +0000 (01:15 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Sat, 29 Aug 1998 01:15:22 +0000 (01:15 +0000)

1998-08-28  Benjamin Kosnik  <bkoz@loony.cygnus.com>
        * pt.c (decl_template_parm_p): Add checks for
        TEMPLATE_TEMPLATE_PARM.

From-SVN: r22071

gcc/cp/pt.c

index d86eea8f53ebb988cfb6270de912522e38e25363..364fd5288b2af26ad17bba18c1b624434536b56f 100644 (file)
@@ -1458,16 +1458,25 @@ int comp_template_parms (parms1, parms2)
 int decl_template_parm_p (old_decl)
      tree old_decl;
 {
-  if (TREE_CODE_CLASS (TREE_CODE (old_decl)) == 'd'
-      /* For template type parameters. */
-      && ((TREE_TYPE (old_decl)
-          && TREE_CODE (TREE_TYPE (old_decl)) == TEMPLATE_TYPE_PARM)
-         /* For non-type template parameters. */
-         || (DECL_INITIAL (old_decl) 
-             && TREE_CODE (DECL_INITIAL (old_decl)) == TEMPLATE_PARM_INDEX)))
+  /* For template template parms. */
+  if (TREE_CODE (old_decl) == TEMPLATE_DECL
+      && TREE_TYPE (old_decl)
+      && TREE_CODE (TREE_TYPE (old_decl)) == TEMPLATE_TEMPLATE_PARM)
     return 1;
-  else
-    return 0;
+
+  /* For template type parms. */
+  if (TREE_CODE (old_decl) == TYPE_DECL
+      && TREE_TYPE (old_decl)
+      && TREE_CODE (TREE_TYPE (old_decl)) == TEMPLATE_TYPE_PARM)
+    return 1;
+
+  /* For template non-type parms. */
+  if (TREE_CODE (old_decl) == CONST_DECL
+      && DECL_INITIAL (old_decl) 
+      && TREE_CODE (DECL_INITIAL (old_decl)) == TEMPLATE_PARM_INDEX)
+    return 1;
+
+  return 0;
 }