diff options
author | brobecke <brobecke@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-10-20 23:21:30 +0000 |
---|---|---|
committer | brobecke <brobecke@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-10-20 23:21:30 +0000 |
commit | 147ca737b567b6e3f764c6b8f3a17c35f4cdc8f4 (patch) | |
tree | c410c364acf6f3682b3033887a3663d841cccefe /libiberty/cplus-dem.c | |
parent | 0b3e5a6750cd3b86fee333925d0ac407cbd1d87a (diff) |
* cplus-dem.c (demangle_template): Register a new Btype only
when needed.
* testsuite/demangle-expected: Add a new test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72729 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libiberty/cplus-dem.c')
-rw-r--r-- | libiberty/cplus-dem.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c index 59afcd371ba..5e2e7a7126c 100644 --- a/libiberty/cplus-dem.c +++ b/libiberty/cplus-dem.c @@ -2043,13 +2043,10 @@ demangle_template (work, mangled, tname, trawname, is_type, remember) const char *start; int is_java_array = 0; string temp; - int bindex = 0; (*mangled)++; if (is_type) { - if (remember) - bindex = register_Btype (work); start = *mangled; /* get template name */ if (**mangled == 'z') @@ -2226,7 +2223,10 @@ demangle_template (work, mangled, tname, trawname, is_type, remember) } if (is_type && remember) - remember_Btype (work, tname->b, LEN_STRING (tname), bindex); + { + const int bindex = register_Btype (work); + remember_Btype (work, tname->b, LEN_STRING (tname), bindex); + } /* if (work -> static_type) |