This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

couple of fixes for cp-demangle.c


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;
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]