diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-25 23:29:54 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-25 23:29:54 +0000 |
commit | e63e38415ac72e2078c7ecfbde849b56e285665f (patch) | |
tree | d165fdbe45478f2cbdbec944346c757e51b525b3 /libiberty/cp-demangle.c | |
parent | 4887ae62f644d984e3831571126c604252d9a5da (diff) | |
download | gcc-e63e38415ac72e2078c7ecfbde849b56e285665f.tar.gz |
include/
* demangle.h (DEMANGLE_COMPONENT_HIDDEN_ALIAS): New.
libiberty/
* cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_HIDDEN_ALIAS.
(d_make_comp, d_print_comp): Likewise.
(d_special_name): Generate one.
* testsuite/demangle-expected: Add a hidden alias test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100174 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libiberty/cp-demangle.c')
-rw-r--r-- | libiberty/cp-demangle.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c index 856fbd42cc9..61744390725 100644 --- a/libiberty/cp-demangle.c +++ b/libiberty/cp-demangle.c @@ -520,6 +520,9 @@ d_dump (struct demangle_component *dc, int indent) case DEMANGLE_COMPONENT_REFTEMP: printf ("reference temporary\n"); break; + case DEMANGLE_COMPONENT_HIDDEN_ALIAS: + printf ("hidden alias\n"); + break; case DEMANGLE_COMPONENT_RESTRICT: printf ("restrict\n"); break; @@ -733,6 +736,7 @@ d_make_comp (struct d_info *di, enum demangle_component_type type, case DEMANGLE_COMPONENT_JAVA_CLASS: case DEMANGLE_COMPONENT_GUARD: case DEMANGLE_COMPONENT_REFTEMP: + case DEMANGLE_COMPONENT_HIDDEN_ALIAS: case DEMANGLE_COMPONENT_POINTER: case DEMANGLE_COMPONENT_REFERENCE: case DEMANGLE_COMPONENT_COMPLEX: @@ -1439,6 +1443,7 @@ d_operator_name (struct d_info *di) ::= TF <type> ::= TJ <type> ::= GR <name> + ::= GA <encoding> */ static struct demangle_component * @@ -1529,6 +1534,10 @@ d_special_name (struct d_info *di) return d_make_comp (di, DEMANGLE_COMPONENT_REFTEMP, d_name (di), NULL); + case 'A': + return d_make_comp (di, DEMANGLE_COMPONENT_HIDDEN_ALIAS, + d_encoding (di, 0), NULL); + default: return NULL; } @@ -2931,6 +2940,11 @@ d_print_comp (struct d_print_info *dpi, d_print_comp (dpi, d_left (dc)); return; + case DEMANGLE_COMPONENT_HIDDEN_ALIAS: + d_append_string_constant (dpi, "hidden alias for "); + d_print_comp (dpi, d_left (dc)); + return; + case DEMANGLE_COMPONENT_SUB_STD: d_append_buffer (dpi, dc->u.s_string.string, dc->u.s_string.len); return; |