aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>2001-08-31 17:46:06 +0000
committerKriang Lerdsuwanakij <lerdsuwa@gcc.gnu.org>2001-08-31 17:46:06 +0000
commit38066e838de65b304957b77eab5221041f8798d9 (patch)
treef4cdbaa7c394a3e32c8931850b6a06c5753ca828 /gcc
parent75b9045a65cf8716d68f0fb3561e7c930faab209 (diff)
downloadgcc-38066e838de65b304957b77eab5221041f8798d9.zip
gcc-38066e838de65b304957b77eab5221041f8798d9.tar.gz
gcc-38066e838de65b304957b77eab5221041f8798d9.tar.bz2
error.c (dump_template_decl): Output template parameters together with their specifiers.
* 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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog7
-rw-r--r--gcc/cp/error.c15
2 files changed, 18 insertions, 4 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index c44c809..8dc0b86f 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -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
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index 05352c2..8907858 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -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