Lines Matching refs:work

61 #define CURRENT_DEMANGLING_STYLE work->options
142 #define PRINT_ANSI_QUALIFIERS (work -> options & DMGL_ANSI)
143 #define PRINT_ARG_TYPES (work -> options & DMGL_PARAMS)
326 #define SCOPE_STRING(work) ((work->options & DMGL_JAVA) ? "." : "::") argument
352 demangle_template_template_parm (struct work_stuff *work,
356 demangle_template (struct work_stuff *work, const char **, string *,
642 struct work_stuff work[1]; in cplus_demangle_opname() local
648 memset ((char *) work, 0, sizeof (work)); in cplus_demangle_opname()
649 work->options = options; in cplus_demangle_opname()
657 if (do_type (work, &tem, &type)) in cplus_demangle_opname()
751 if (do_type (work, &tem, &type)) in cplus_demangle_opname()
759 squangle_mop_up (work); in cplus_demangle_opname()
851 struct work_stuff work[1]; in cplus_demangle() local
856 memset ((char *) work, 0, sizeof (work)); in cplus_demangle()
857 work->options = options; in cplus_demangle()
858 if ((work->options & DMGL_STYLE_MASK) == 0) in cplus_demangle()
859 work->options |= (int) current_demangling_style & DMGL_STYLE_MASK; in cplus_demangle()
864 ret = cplus_demangle_v3 (mangled, work->options); in cplus_demangle()
886 ret = internal_cplus_demangle (work, mangled); in cplus_demangle()
887 squangle_mop_up (work); in cplus_demangle()
1162 internal_cplus_demangle (struct work_stuff *work, const char *mangled) in internal_cplus_demangle() argument
1169 s1 = work->constructor; in internal_cplus_demangle()
1170 s2 = work->destructor; in internal_cplus_demangle()
1171 s3 = work->static_type; in internal_cplus_demangle()
1172 s4 = work->type_quals; in internal_cplus_demangle()
1173 work->constructor = work->destructor = 0; in internal_cplus_demangle()
1174 work->type_quals = TYPE_UNQUALIFIED; in internal_cplus_demangle()
1175 work->dllimported = 0; in internal_cplus_demangle()
1190 success = gnu_special (work, &mangled, &decl); in internal_cplus_demangle()
1193 delete_work_stuff (work); in internal_cplus_demangle()
1199 success = demangle_prefix (work, &mangled, &decl); in internal_cplus_demangle()
1203 success = demangle_signature (work, &mangled, &decl); in internal_cplus_demangle()
1205 if (work->constructor == 2) in internal_cplus_demangle()
1208 work->constructor = 0; in internal_cplus_demangle()
1210 else if (work->destructor == 2) in internal_cplus_demangle()
1213 work->destructor = 0; in internal_cplus_demangle()
1215 else if (work->dllimported == 1) in internal_cplus_demangle()
1218 work->dllimported = 0; in internal_cplus_demangle()
1220 demangled = mop_up (work, &decl, success); in internal_cplus_demangle()
1222 work->constructor = s1; in internal_cplus_demangle()
1223 work->destructor = s2; in internal_cplus_demangle()
1224 work->static_type = s3; in internal_cplus_demangle()
1225 work->type_quals = s4; in internal_cplus_demangle()
1232 squangle_mop_up (struct work_stuff *work) in squangle_mop_up() argument
1235 forget_B_and_K_types (work); in squangle_mop_up()
1236 if (work -> btypevec != NULL) in squangle_mop_up()
1238 free ((char *) work -> btypevec); in squangle_mop_up()
1239 work->btypevec = NULL; in squangle_mop_up()
1241 if (work -> ktypevec != NULL) in squangle_mop_up()
1243 free ((char *) work -> ktypevec); in squangle_mop_up()
1244 work->ktypevec = NULL; in squangle_mop_up()
1318 delete_non_B_K_work_stuff (struct work_stuff *work) in delete_non_B_K_work_stuff() argument
1322 forget_types (work); in delete_non_B_K_work_stuff()
1323 if (work -> typevec != NULL) in delete_non_B_K_work_stuff()
1325 free ((char *) work -> typevec); in delete_non_B_K_work_stuff()
1326 work -> typevec = NULL; in delete_non_B_K_work_stuff()
1327 work -> typevec_size = 0; in delete_non_B_K_work_stuff()
1329 if (work->tmpl_argvec) in delete_non_B_K_work_stuff()
1333 for (i = 0; i < work->ntmpl_args; i++) in delete_non_B_K_work_stuff()
1334 free ((char*) work->tmpl_argvec[i]); in delete_non_B_K_work_stuff()
1336 free ((char*) work->tmpl_argvec); in delete_non_B_K_work_stuff()
1337 work->tmpl_argvec = NULL; in delete_non_B_K_work_stuff()
1339 if (work->previous_argument) in delete_non_B_K_work_stuff()
1341 string_delete (work->previous_argument); in delete_non_B_K_work_stuff()
1342 free ((char*) work->previous_argument); in delete_non_B_K_work_stuff()
1343 work->previous_argument = NULL; in delete_non_B_K_work_stuff()
1350 delete_work_stuff (struct work_stuff *work) in delete_work_stuff() argument
1352 delete_non_B_K_work_stuff (work); in delete_work_stuff()
1353 squangle_mop_up (work); in delete_work_stuff()
1360 mop_up (struct work_stuff *work, string *declp, int success) in mop_up() argument
1364 delete_non_B_K_work_stuff (work); in mop_up()
1412 demangle_signature (struct work_stuff *work, in demangle_signature() argument
1429 success = demangle_qualified (work, mangled, declp, 1, 0); in demangle_signature()
1431 remember_type (work, oldmangled, *mangled - oldmangled); in demangle_signature()
1439 success = demangle_qualified (work, mangled, declp, 1, 0); in demangle_signature()
1454 work -> static_type = 1; in demangle_signature()
1460 work->type_quals |= code_for_qualifier (**mangled); in demangle_signature()
1489 work->temp_start = -1; /* uppermost call to demangle_class */ in demangle_signature()
1490 success = demangle_class (work, mangled, declp); in demangle_signature()
1493 remember_type (work, oldmangled, *mangled - oldmangled); in demangle_signature()
1508 success = do_type (work, mangled, &s); in demangle_signature()
1511 string_append (&s, SCOPE_STRING (work)); in demangle_signature()
1538 forget_types (work); in demangle_signature()
1540 success = demangle_args (work, mangled, declp); in demangle_signature()
1548 success = do_type (work, mangled, &tname); in demangle_signature()
1562 success = demangle_template (work, mangled, &tname, in demangle_signature()
1566 remember_type (work, oldmangled, *mangled - oldmangled); in demangle_signature()
1568 string_append (&tname, SCOPE_STRING (work)); in demangle_signature()
1571 if (work -> destructor & 1) in demangle_signature()
1575 work->destructor -= 1; in demangle_signature()
1577 if ((work->constructor & 1) || (work->destructor & 1)) in demangle_signature()
1580 work->constructor -= 1; in demangle_signature()
1595 success = do_type (work, mangled, &return_type); in demangle_signature()
1625 success = demangle_template (work, mangled, declp, 0, 0, in demangle_signature()
1627 if (!(work->constructor & 1)) in demangle_signature()
1642 success = demangle_args (work, mangled, declp); in demangle_signature()
1663 forget_types (work); in demangle_signature()
1665 success = demangle_args (work, mangled, declp); in demangle_signature()
1683 success = demangle_args (work, mangled, declp); in demangle_signature()
1688 if (work->static_type) in demangle_signature()
1690 if (work->type_quals != TYPE_UNQUALIFIED) in demangle_signature()
1693 string_append (declp, qualifier_string (work->type_quals)); in demangle_signature()
1703 demangle_method_args (struct work_stuff *work, const char **mangled,
1708 if (work -> static_type)
1716 success = demangle_args (work, mangled, declp);
1724 demangle_template_template_parm (struct work_stuff *work, in demangle_template_template_parm() argument
1755 demangle_template_template_parm (work, mangled, tname); in demangle_template_template_parm()
1764 success = do_type (work, mangled, &temp); in demangle_template_template_parm()
1786 demangle_expression (struct work_stuff *work, const char **mangled, in demangle_expression() argument
1828 success = demangle_template_value_parm (work, mangled, s, tk); in demangle_expression()
1843 demangle_integral_value (struct work_stuff *work, in demangle_integral_value() argument
1849 success = demangle_expression (work, mangled, s, tk_integral); in demangle_integral_value()
1851 success = demangle_qualified (work, mangled, s, 0, 1); in demangle_integral_value()
1939 demangle_real_value (struct work_stuff *work, in demangle_real_value() argument
1943 return demangle_expression (work, mangled, s, tk_real); in demangle_real_value()
1980 demangle_template_value_parm (struct work_stuff *work, const char **mangled, in demangle_template_value_parm() argument
1993 || (work->tmpl_argvec && idx >= work->ntmpl_args) in demangle_template_value_parm()
1996 if (work->tmpl_argvec) in demangle_template_value_parm()
1997 string_append (s, work->tmpl_argvec[idx]); in demangle_template_value_parm()
2002 success = demangle_integral_value (work, mangled, s); in demangle_template_value_parm()
2035 success = demangle_real_value (work, mangled, s); in demangle_template_value_parm()
2039 success = demangle_qualified (work, mangled, s, in demangle_template_value_parm()
2059 q = cplus_demangle (p, work->options); in demangle_template_value_parm()
2089 demangle_template (struct work_stuff *work, const char **mangled, in demangle_template() argument
2112 || (work->tmpl_argvec && idx >= work->ntmpl_args) in demangle_template()
2116 if (work->tmpl_argvec) in demangle_template()
2118 string_append (tname, work->tmpl_argvec[idx]); in demangle_template()
2120 string_append (trawname, work->tmpl_argvec[idx]); in demangle_template()
2136 is_java_array = (work -> options & DMGL_JAVA) in demangle_template()
2157 work->tmpl_argvec = XNEWVEC (char *, r); in demangle_template()
2158 work->ntmpl_args = r; in demangle_template()
2160 work->tmpl_argvec[i] = 0; in demangle_template()
2173 success = do_type (work, mangled, &temp); in demangle_template()
2182 work->tmpl_argvec[i] = XNEWVEC (char, len + 1); in demangle_template()
2183 memcpy (work->tmpl_argvec[i], temp.b, len); in demangle_template()
2184 work->tmpl_argvec[i][len] = '\0'; in demangle_template()
2198 success = demangle_template_template_parm (work, mangled, tname); in demangle_template()
2210 work->tmpl_argvec[i] = XNEWVEC (char, len + 1); in demangle_template()
2211 memcpy (work->tmpl_argvec[i], *mangled, len); in demangle_template()
2212 work->tmpl_argvec[i][len] = '\0'; in demangle_template()
2229 success = do_type (work, mangled, &temp); in demangle_template()
2242 success = demangle_template_value_parm (work, mangled, s, in demangle_template()
2256 work->tmpl_argvec[i] = XNEWVEC (char, len + 1); in demangle_template()
2257 memcpy (work->tmpl_argvec[i], s->b, len); in demangle_template()
2258 work->tmpl_argvec[i][len] = '\0'; in demangle_template()
2279 const int bindex = register_Btype (work); in demangle_template()
2280 remember_Btype (work, tname->b, LEN_STRING (tname), bindex); in demangle_template()
2300 arm_pt (struct work_stuff *work, const char *mangled, in arm_pt() argument
2354 demangle_arm_hp_template (struct work_stuff *work, const char **mangled, in demangle_arm_hp_template() argument
2378 if (work->temp_start == -1) /* non-recursive call */ in demangle_arm_hp_template()
2379 work->temp_start = declp->p - declp->b; in demangle_arm_hp_template()
2383 hold_options = work->options; in demangle_arm_hp_template()
2384 work->options |= DMGL_PARAMS; in demangle_arm_hp_template()
2395 if (!do_type (work, mangled, &arg)) in demangle_arm_hp_template()
2402 if (!do_hpacc_template_const_value (work, mangled, &arg)) in demangle_arm_hp_template()
2408 if (!do_hpacc_template_literal (work, mangled, &arg)) in demangle_arm_hp_template()
2432 work->options = hold_options; in demangle_arm_hp_template()
2436 else if (arm_pt (work, *mangled, n, &p, &args)) in demangle_arm_hp_template()
2443 if (work->temp_start == -1) /* non-recursive call */ in demangle_arm_hp_template()
2444 work->temp_start = declp->p - declp->b; in demangle_arm_hp_template()
2448 hold_options = work->options; in demangle_arm_hp_template()
2449 work->options |= DMGL_PARAMS; in demangle_arm_hp_template()
2465 if (!do_type (work, &args, &type_str)) in demangle_arm_hp_template()
2489 if (!do_type (work, &args, &arg)) in demangle_arm_hp_template()
2495 work->options = hold_options; in demangle_arm_hp_template()
2508 work->options = hold_options; in demangle_arm_hp_template()
2520 if (work->temp_start == -1) /* non-recursive call only */ in demangle_arm_hp_template()
2521 work->temp_start = 0; /* disable in recursive calls */ in demangle_arm_hp_template()
2532 demangle_class_name (struct work_stuff *work, const char **mangled, in demangle_class_name() argument
2543 demangle_arm_hp_template (work, mangled, n, declp); in demangle_class_name()
2586 demangle_class (struct work_stuff *work, const char **mangled, string *declp) in demangle_class() argument
2594 btype = register_Btype (work); in demangle_class()
2595 if (demangle_class_name (work, mangled, &class_name)) in demangle_class()
2598 if ((work->constructor & 1) || (work->destructor & 1)) in demangle_class()
2601 if (work->temp_start && (work->temp_start != -1)) in demangle_class()
2603 class_name.p = class_name.b + work->temp_start; in demangle_class()
2606 if (work -> destructor & 1) in demangle_class()
2609 work -> destructor -= 1; in demangle_class()
2613 work -> constructor -= 1; in demangle_class()
2617 remember_Ktype (work, class_name.b, LEN_STRING(&class_name)); in demangle_class()
2618 remember_Btype (work, class_name.b, LEN_STRING(&class_name), btype); in demangle_class()
2619 string_prepend (declp, SCOPE_STRING (work)); in demangle_class()
2638 iterate_demangle_function (struct work_stuff *work, const char **mangled, in iterate_demangle_function() argument
2653 return demangle_function_name (work, mangled, declp, scan); in iterate_demangle_function()
2660 work_stuff_copy_to_from (&work_init, work); in iterate_demangle_function()
2670 if (demangle_function_name (work, mangled, declp, scan)) in iterate_demangle_function()
2672 success = demangle_signature (work, mangled, declp); in iterate_demangle_function()
2681 work_stuff_copy_to_from (work, &work_init); in iterate_demangle_function()
2737 demangle_prefix (struct work_stuff *work, const char **mangled, in demangle_prefix() argument
2752 work->dllimported = 1; in demangle_prefix()
2763 work->destructor = 2; in demangle_prefix()
2764 if (gnu_special (work, mangled, declp)) in demangle_prefix()
2771 work->constructor = 2; in demangle_prefix()
2772 if (gnu_special (work, mangled, declp)) in demangle_prefix()
2781 work->destructor = 2; in demangle_prefix()
2787 work->constructor = 2; in demangle_prefix()
2819 else if (work -> static_type) in demangle_prefix()
2849 work -> constructor += 1; in demangle_prefix()
2859 demangle_arm_hp_template (work, mangled, strlen (*mangled), declp); in demangle_prefix()
2869 demangle_arm_hp_template (work, mangled, strlen (*mangled), declp); in demangle_prefix()
2891 return iterate_demangle_function (work, mangled, declp, scan); in demangle_prefix()
2900 return iterate_demangle_function (work, mangled, declp, scan); in demangle_prefix()
2908 if (!success && (work->constructor == 2 || work->destructor == 2)) in demangle_prefix()
2946 gnu_special (struct work_stuff *work, const char **mangled, string *declp) in gnu_special() argument
2958 work -> destructor += 1; in gnu_special()
2983 success = demangle_qualified (work, mangled, declp, 0, 1); in gnu_special()
2986 success = demangle_template (work, mangled, declp, 0, 1, in gnu_special()
3016 string_append (declp, SCOPE_STRING (work)); in gnu_special()
3039 success = demangle_qualified (work, mangled, declp, 0, 1); in gnu_special()
3042 success = demangle_template (work, mangled, declp, 0, 1, 1); in gnu_special()
3078 string_append (declp, SCOPE_STRING (work)); in gnu_special()
3098 char *method = internal_cplus_demangle (work, ++*mangled); in gnu_special()
3125 success = demangle_qualified (work, mangled, declp, 0, 1); in gnu_special()
3128 success = demangle_template (work, mangled, declp, 0, 1, 1); in gnu_special()
3131 success = do_type (work, mangled, declp); in gnu_special()
3147 recursively_demangle(struct work_stuff *work, const char **mangled, in recursively_demangle() argument
3157 recurse_dem = cplus_demangle (recurse, work->options); in recursively_demangle()
3279 demangle_qualified (struct work_stuff *work, const char **mangled, in demangle_qualified() argument
3287 int bindex = register_Btype (work); in demangle_qualified()
3292 && ((work->constructor & 1) || (work->destructor & 1))); in demangle_qualified()
3303 if (idx == -1 || idx >= work -> numk) in demangle_qualified()
3306 string_append (&temp, work -> ktypevec[idx]); in demangle_qualified()
3372 success = demangle_template(work, mangled, &temp, in demangle_qualified()
3382 if (idx == -1 || idx >= work->numk) in demangle_qualified()
3385 string_append (&temp, work->ktypevec[idx]); in demangle_qualified()
3404 recursively_demangle(work, mangled, &temp, namelength); in demangle_qualified()
3409 success = do_type (work, mangled, &last_name); in demangle_qualified()
3417 remember_Ktype (work, temp.b, LEN_STRING (&temp)); in demangle_qualified()
3420 string_append (&temp, SCOPE_STRING (work)); in demangle_qualified()
3423 remember_Btype (work, temp.b, LEN_STRING (&temp), bindex); in demangle_qualified()
3432 string_append (&temp, SCOPE_STRING (work)); in demangle_qualified()
3433 if (work -> destructor & 1) in demangle_qualified()
3446 string_append (&temp, SCOPE_STRING (work)); in demangle_qualified()
3538 do_type (struct work_stuff *work, const char **mangled, string *result) in do_type() argument
3563 if (! (work -> options & DMGL_JAVA)) in do_type()
3589 success = demangle_template_value_parm (work, mangled, &decl, in do_type()
3600 if (!get_count (mangled, &n) || n >= work -> ntypes) in do_type()
3606 remembered_type = work -> typevec[n]; in do_type()
3623 if (!demangle_nested_args (work, mangled, &decl) in do_type()
3646 string_prepend (&decl, SCOPE_STRING (work)); in do_type()
3663 do_type (work, mangled, &temp); in do_type()
3671 success = demangle_template (work, mangled, &temp, in do_type()
3686 success = demangle_qualified (work, mangled, &decl, in do_type()
3720 if ((member && !demangle_nested_args (work, mangled, &decl)) in do_type()
3771 success = demangle_qualified (work, mangled, result, 0, 1); in do_type()
3778 if (!get_count (mangled, &n) || n >= work -> numb) in do_type()
3781 string_append (result, work->btypevec[n]); in do_type()
3794 || (work->tmpl_argvec && idx >= work->ntmpl_args) in do_type()
3801 if (work->tmpl_argvec) in do_type()
3802 string_append (result, work->tmpl_argvec[idx]); in do_type()
3811 success = demangle_fund_type (work, mangled, result); in do_type()
3850 demangle_fund_type (struct work_stuff *work, in demangle_fund_type() argument
4015 int bindex = register_Btype (work); in demangle_fund_type()
4018 if (demangle_class_name (work, mangled, &btype)) { in demangle_fund_type()
4019 remember_Btype (work, btype.b, LEN_STRING (&btype), bindex); in demangle_fund_type()
4032 success = demangle_template (work, mangled, &btype, 0, 1, 1); in demangle_fund_type()
4050 do_hpacc_template_const_value (struct work_stuff *work ATTRIBUTE_UNUSED, in do_hpacc_template_const_value()
4105 do_hpacc_template_literal (struct work_stuff *work, const char **mangled, in do_hpacc_template_literal() argument
4131 recurse_dem = cplus_demangle (recurse, work->options); in do_hpacc_template_literal()
4178 do_arg (struct work_stuff *work, const char **mangled, string *result) in do_arg() argument
4186 if (work->nrepeats > 0) in do_arg()
4188 --work->nrepeats; in do_arg()
4190 if (work->previous_argument == 0) in do_arg()
4194 string_appends (result, work->previous_argument); in do_arg()
4202 work->nrepeats = consume_count(mangled); in do_arg()
4204 if (work->nrepeats <= 0) in do_arg()
4208 if (work->nrepeats > 9) in do_arg()
4219 return do_arg (work, mangled, result); in do_arg()
4226 if (work->previous_argument) in do_arg()
4227 string_delete (work->previous_argument); in do_arg()
4229 work->previous_argument = XNEW (string); in do_arg()
4231 if (!do_type (work, mangled, work->previous_argument)) in do_arg()
4234 string_appends (result, work->previous_argument); in do_arg()
4236 remember_type (work, start, *mangled - start); in do_arg()
4241 remember_type (struct work_stuff *work, const char *start, int len) in remember_type() argument
4245 if (work->forgetting_types) in remember_type()
4248 if (work -> ntypes >= work -> typevec_size) in remember_type()
4250 if (work -> typevec_size == 0) in remember_type()
4252 work -> typevec_size = 3; in remember_type()
4253 work -> typevec = XNEWVEC (char *, work->typevec_size); in remember_type()
4257 work -> typevec_size *= 2; in remember_type()
4258 work -> typevec in remember_type()
4259 = XRESIZEVEC (char *, work->typevec, work->typevec_size); in remember_type()
4265 work -> typevec[work -> ntypes++] = tem; in remember_type()
4271 remember_Ktype (struct work_stuff *work, const char *start, int len) in remember_Ktype() argument
4275 if (work -> numk >= work -> ksize) in remember_Ktype()
4277 if (work -> ksize == 0) in remember_Ktype()
4279 work -> ksize = 5; in remember_Ktype()
4280 work -> ktypevec = XNEWVEC (char *, work->ksize); in remember_Ktype()
4284 work -> ksize *= 2; in remember_Ktype()
4285 work -> ktypevec in remember_Ktype()
4286 = XRESIZEVEC (char *, work->ktypevec, work->ksize); in remember_Ktype()
4292 work -> ktypevec[work -> numk++] = tem; in remember_Ktype()
4300 register_Btype (struct work_stuff *work) in register_Btype() argument
4304 if (work -> numb >= work -> bsize) in register_Btype()
4306 if (work -> bsize == 0) in register_Btype()
4308 work -> bsize = 5; in register_Btype()
4309 work -> btypevec = XNEWVEC (char *, work->bsize); in register_Btype()
4313 work -> bsize *= 2; in register_Btype()
4314 work -> btypevec in register_Btype()
4315 = XRESIZEVEC (char *, work->btypevec, work->bsize); in register_Btype()
4318 ret = work -> numb++; in register_Btype()
4319 work -> btypevec[ret] = NULL; in register_Btype()
4326 remember_Btype (struct work_stuff *work, const char *start, in remember_Btype() argument
4334 work -> btypevec[index] = tem; in remember_Btype()
4339 forget_B_and_K_types (struct work_stuff *work) in forget_B_and_K_types() argument
4343 while (work -> numk > 0) in forget_B_and_K_types()
4345 i = --(work -> numk); in forget_B_and_K_types()
4346 if (work -> ktypevec[i] != NULL) in forget_B_and_K_types()
4348 free (work -> ktypevec[i]); in forget_B_and_K_types()
4349 work -> ktypevec[i] = NULL; in forget_B_and_K_types()
4353 while (work -> numb > 0) in forget_B_and_K_types()
4355 i = --(work -> numb); in forget_B_and_K_types()
4356 if (work -> btypevec[i] != NULL) in forget_B_and_K_types()
4358 free (work -> btypevec[i]); in forget_B_and_K_types()
4359 work -> btypevec[i] = NULL; in forget_B_and_K_types()
4366 forget_types (struct work_stuff *work) in forget_types() argument
4370 while (work -> ntypes > 0) in forget_types()
4372 i = --(work -> ntypes); in forget_types()
4373 if (work -> typevec[i] != NULL) in forget_types()
4375 free (work -> typevec[i]); in forget_types()
4376 work -> typevec[i] = NULL; in forget_types()
4424 demangle_args (struct work_stuff *work, const char **mangled, in demangle_args() argument
4444 || work->nrepeats > 0) in demangle_args()
4461 if ((HP_DEMANGLING || ARM_DEMANGLING || EDG_DEMANGLING) && work -> ntypes >= 10) in demangle_args()
4487 if ((t < 0) || (t >= work -> ntypes)) in demangle_args()
4491 while (work->nrepeats > 0 || --r >= 0) in demangle_args()
4493 tem = work -> typevec[t]; in demangle_args()
4498 if (!do_arg (work, &tem, &arg)) in demangle_args()
4514 if (!do_arg (work, mangled, &arg)) in demangle_args()
4547 demangle_nested_args (struct work_stuff *work, const char **mangled, in demangle_nested_args() argument
4558 ++work->forgetting_types; in demangle_nested_args()
4562 saved_previous_argument = work->previous_argument; in demangle_nested_args()
4563 saved_nrepeats = work->nrepeats; in demangle_nested_args()
4564 work->previous_argument = 0; in demangle_nested_args()
4565 work->nrepeats = 0; in demangle_nested_args()
4568 result = demangle_args (work, mangled, declp); in demangle_nested_args()
4571 if (work->previous_argument) in demangle_nested_args()
4573 string_delete (work->previous_argument); in demangle_nested_args()
4574 free ((char *) work->previous_argument); in demangle_nested_args()
4576 work->previous_argument = saved_previous_argument; in demangle_nested_args()
4577 --work->forgetting_types; in demangle_nested_args()
4578 work->nrepeats = saved_nrepeats; in demangle_nested_args()
4586 demangle_function_name (struct work_stuff *work, const char **mangled, in demangle_function_name() argument
4609 demangle_arm_hp_template (work, mangled, 0, declp); in demangle_function_name()
4623 work -> constructor += 1; in demangle_function_name()
4629 work -> destructor += 1; in demangle_function_name()
4679 if (do_type (work, &tem, &type)) in demangle_function_name()
4693 if (do_type (work, &tem, &type)) in demangle_function_name()