cxx-pretty-print.c (pp_cxx_unqualified_id): Use TEMPLATE_TYPE_PARM_INDEX instead...
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Fri, 19 Mar 2004 14:18:27 +0000 (14:18 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Fri, 19 Mar 2004 14:18:27 +0000 (09:18 -0500)
* cxx-pretty-print.c (pp_cxx_unqualified_id): Use
TEMPLATE_TYPE_PARM_INDEX instead of TYPE_FIELDS.
* search.c (dfs_unuse_fields): Add two more TREE_CODES that mean
the field is named TEMPLATE_TYPE_PARM_INDEX.

From-SVN: r79683

gcc/cp/ChangeLog
gcc/cp/cxx-pretty-print.c
gcc/cp/search.c

index 77e30a552889722164d4434f05e4099f37d0475c..7c8c1d264120f754a0ba59e3a9a03973925ee890 100644 (file)
@@ -1,3 +1,10 @@
+2004-03-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * cxx-pretty-print.c (pp_cxx_unqualified_id): Use
+       TEMPLATE_TYPE_PARM_INDEX instead of TYPE_FIELDS.
+       * search.c (dfs_unuse_fields): Add two more TREE_CODES that mean
+       the field is named TEMPLATE_TYPE_PARM_INDEX.
+
 2004-03-19  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
 
        PR c++/14545
index 53c677ab88aec046ac896fc0549659efb2a67cf6..0a573f2850c6cde4eda3aeae1abfc63665f8864e 100644 (file)
@@ -184,7 +184,7 @@ pp_cxx_unqualified_id (cxx_pretty_printer *pp, tree t)
       break;
 
     case TEMPLATE_TYPE_PARM:
-      t = TYPE_FIELDS (t);
+      t = TEMPLATE_TYPE_PARM_INDEX (t);
     case TEMPLATE_PARM_INDEX:
       pp_cxx_unqualified_id (pp, TEMPLATE_PARM_DECL (t));
       break;
index 11c7dedf57d1524ed8f481a473123049719e7ea2..5f4c91c3ec0beaffc0956cd91223dba2662a77be 100644 (file)
@@ -2258,7 +2258,9 @@ dfs_unuse_fields (tree binfo, void *data ATTRIBUTE_UNUSED)
     fields = TYPENAME_TYPE_FULLNAME (type);
   else if (TREE_CODE (type) == TYPEOF_TYPE)
     fields = TYPEOF_TYPE_EXPR (type);
-  else if (TREE_CODE (type) == TEMPLATE_TYPE_PARM)
+  else if (TREE_CODE (type) == TEMPLATE_TYPE_PARM
+          || TREE_CODE (type) == TEMPLATE_TEMPLATE_PARM
+          || TREE_CODE (type) == BOUND_TEMPLATE_TEMPLATE_PARM)
     fields = TEMPLATE_TYPE_PARM_INDEX (type);
   else
     fields = TYPE_FIELDS (type);