]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
error.c (dump_template_decl): Output template parameters together with their specifiers.
authorKriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
Fri, 31 Aug 2001 17:46:06 +0000 (17:46 +0000)
committerKriang Lerdsuwanakij <lerdsuwa@gcc.gnu.org>
Fri, 31 Aug 2001 17:46:06 +0000 (17:46 +0000)
* error.c (dump_template_decl): Output template parameters
together with their specifiers.
Output `class' prefix for template template parameter.
(dump_decl): Fix formatting.

From-SVN: r45329

gcc/cp/ChangeLog
gcc/cp/error.c

index c44c8098546bf27a349dfbfef1b19439905b49cc..8dc0b86f5e2da9577ff73cf8dd9642aee4f54523 100644 (file)
@@ -1,3 +1,10 @@
+2001-08-31  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * error.c (dump_template_decl): Output template parameters
+       together with their specifiers.
+       Output `class' prefix for template template parameter.
+       (dump_decl): Fix formatting.
+
 2001-08-30  Kurt Garloff  <garloff@suse.de>
  
        * optimize.c (inlinable_function_p): Allow only smaller single
index 05352c2733c09692aac5e6600f6c37b114e3ffce..8907858ee3ac45aa7a467aad456bfbcf194f63b3 100644 (file)
@@ -1034,7 +1034,7 @@ dump_decl (t, flags)
       break;
 
     case TEMPLATE_DECL:
-        dump_template_decl (t, flags);
+      dump_template_decl (t, flags);
       break;
 
     case TEMPLATE_ID_EXPR:
@@ -1115,6 +1115,11 @@ dump_template_decl (t, flags)
           int len = TREE_VEC_LENGTH (inner_parms);
 
           output_add_string (scratch_buffer, "template<");
+
+         /* If we've shown the template prefix, we'd better show the
+            parameters' and decl's type too.  */
+           flags |= TFF_DECL_SPECIFIERS;
+
           for (i = 0; i < len; i++)
             {
               if (i)
@@ -1125,10 +1130,12 @@ dump_template_decl (t, flags)
           output_add_space (scratch_buffer);
         }
       nreverse(orig_parms);
-      /* If we've shown the template<args> prefix, we'd better show the
-        decl's type too.  */
-      flags |= TFF_DECL_SPECIFIERS;
+
+      if (DECL_TEMPLATE_TEMPLATE_PARM_P (t))
+       /* Say `template<arg> class TT' not just `template<arg> TT'. */
+       output_add_string (scratch_buffer, "class ");
     }
+
   if (TREE_CODE (DECL_TEMPLATE_RESULT (t)) == TYPE_DECL)
     dump_type (TREE_TYPE (t),
                ((flags & ~TFF_CLASS_KEY_OR_ENUM) | TFF_TEMPLATE_NAME