]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
cplus-dem.c (type_kind_t): Add tk_reference.
authorMark Mitchell <mark@markmitchell.com>
Sun, 8 Nov 1998 13:20:53 +0000 (13:20 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Sun, 8 Nov 1998 13:20:53 +0000 (13:20 +0000)
* cplus-dem.c (type_kind_t): Add tk_reference.
(demangle_template_value_parm): Handle it.
(do_type): Use it for references, instead of tk_pointer.

From-SVN: r23572

libiberty/ChangeLog
libiberty/cplus-dem.c

index 6f9e08872e28f7d8e8d49b56e3f87c403349e287..0e339dcb362cdd85cb2502f7c121a9a47f834375 100644 (file)
@@ -1,5 +1,9 @@
 1998-11-08  Mark Mitchell  <mark@markmitchell.com>
 
+       * cplus-dem.c (type_kind_t): Add tk_reference.
+       (demangle_template_value_parm): Handle it.
+       (do_type): Use it for references, instead of tk_pointer.
+
        * cplus-dem.c (demangle_template_value_parm): Use cplus_demangle,
        not internal_cplus_demangle.
 
index ebd00e19508e559cc7eef6f3db7e1836aa2e0479..9b3c5ad71b11e9689af0058a0d5130a12fcd8fd0 100644 (file)
@@ -234,6 +234,7 @@ typedef enum type_kind_t
 { 
   tk_none,
   tk_pointer,
+  tk_reference,
   tk_integral, 
   tk_bool,
   tk_char, 
@@ -1424,7 +1425,7 @@ demangle_template_value_parm (work, mangled, s, tk)
            }
        }
     }
-  else if (tk == tk_pointer)
+  else if (tk == tk_pointer || tk == tk_reference)
     {
       int symbol_len = consume_count (mangled);
       if (symbol_len == 0)
@@ -1442,7 +1443,8 @@ demangle_template_value_parm (work, mangled, s, tk)
             or type-code information we have built up thus far; it is
             mangled independently.  */
          q = cplus_demangle (p, work->options);
-         string_appendn (s, "&", 1);
+         if (tk == tk_pointer)
+           string_appendn (s, "&", 1);
          /* FIXME: Pointer-to-member constants should get a
                    qualifying class name here.  */
          if (q)
@@ -2611,7 +2613,7 @@ do_type (work, mangled, result)
          (*mangled)++;
          string_prepend (&decl, "&");
          if (tk == tk_none)
-           tk = tk_pointer;
+           tk = tk_reference;
          break;
 
          /* An array */