This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
couple of fixes for cp-demangle.c
- To: gcc-patches at gcc dot gnu dot org
- Subject: couple of fixes for cp-demangle.c
- From: Zack Weinberg <zack at wolery dot cumb dot org>
- Date: Thu, 8 Jun 2000 17:53:41 -0700
1) The demangler doesn't know about TF and TJ special function types.
These names seem reasonable.
2) There was no space printed between "operator" and "delete" in the
demangling of "_Zdl". For consistency, I've made there always be a
space after "operator".
zw
* cp-demangle.c (demangle_operator_name): Always put a space
after "operator".
(demangle_special_name): Handle TF and TJ specials.
===================================================================
Index: cp-demangle.c
--- cp-demangle.c 2000/06/08 16:51:44 1.6
+++ cp-demangle.c 2000/06/09 00:52:19
@@ -1407,7 +1407,7 @@ demangle_operator_name (dm, short_name,
/* Found it. */
{
if (!short_name)
- result_append (dm, "operator");
+ result_append (dm, "operator ");
result_append (dm, p->name);
*num_args = p->num_args;
@@ -1490,10 +1490,24 @@ demangle_special_name (dm)
RETURN_IF_ERROR (demangle_type (dm));
break;
+ case 'F':
+ /* Typeinfo function. */
+ advance_char (dm);
+ result_append (dm, "typeinfo fn for ");
+ RETURN_IF_ERROR (demangle_type (dm));
+ break;
+
case 'S':
/* Character string containing type name, used in typeinfo. */
advance_char (dm);
result_append (dm, "typeinfo name for ");
+ RETURN_IF_ERROR (demangle_type (dm));
+ break;
+
+ case 'J':
+ /* "Java reflection variable." Is this an extension? */
+ advance_char (dm);
+ result_append (dm, "java Class for ");
RETURN_IF_ERROR (demangle_type (dm));
break;