Rev 5191 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5191 | Rev 6324 | ||
---|---|---|---|
Line 304... | Line 304... | ||
304 | gnat_demangling, |
304 | gnat_demangling, |
305 | "GNAT style demangling" |
305 | "GNAT style demangling" |
306 | } |
306 | } |
307 | , |
307 | , |
308 | { |
308 | { |
- | 309 | DLANG_DEMANGLING_STYLE_STRING, |
|
- | 310 | dlang_demangling, |
|
- | 311 | "DLANG style demangling" |
|
- | 312 | } |
|
- | 313 | , |
|
- | 314 | { |
|
309 | NULL, unknown_demangling, NULL |
315 | NULL, unknown_demangling, NULL |
310 | } |
316 | } |
311 | }; |
317 | }; |
Line 312... | Line 318... | ||
312 | 318 | ||
Line 868... | Line 874... | ||
868 | } |
874 | } |
Line 869... | Line 875... | ||
869 | 875 | ||
870 | if (GNAT_DEMANGLING) |
876 | if (GNAT_DEMANGLING) |
Line -... | Line 877... | ||
- | 877 | return ada_demangle (mangled, options); |
|
- | 878 | ||
- | 879 | if (DLANG_DEMANGLING) |
|
- | 880 | { |
|
- | 881 | ret = dlang_demangle (mangled, options); |
|
- | 882 | if (ret) |
|
- | 883 | return ret; |
|
871 | return ada_demangle (mangled, options); |
884 | } |
872 | 885 | ||
873 | ret = internal_cplus_demangle (work, mangled); |
886 | ret = internal_cplus_demangle (work, mangled); |
874 | squangle_mop_up (work); |
887 | squangle_mop_up (work); |
Line 1173... | Line 1186... | ||
1173 | example. */ |
1186 | example. */ |
Line 1174... | Line 1187... | ||
1174 | 1187 | ||
1175 | if ((AUTO_DEMANGLING || GNU_DEMANGLING)) |
1188 | if ((AUTO_DEMANGLING || GNU_DEMANGLING)) |
1176 | { |
1189 | { |
- | 1190 | success = gnu_special (work, &mangled, &decl); |
|
- | 1191 | if (!success) |
|
- | 1192 | { |
|
- | 1193 | delete_work_stuff (work); |
|
- | 1194 | string_delete (&decl); |
|
1177 | success = gnu_special (work, &mangled, &decl); |
1195 | } |
1178 | } |
1196 | } |
1179 | if (!success) |
1197 | if (!success) |
1180 | { |
1198 | { |
1181 | success = demangle_prefix (work, &mangled, &decl); |
1199 | success = demangle_prefix (work, &mangled, &decl); |
Line 1216... | Line 1234... | ||
1216 | /* clean up the B and K type mangling types. */ |
1234 | /* clean up the B and K type mangling types. */ |
1217 | forget_B_and_K_types (work); |
1235 | forget_B_and_K_types (work); |
1218 | if (work -> btypevec != NULL) |
1236 | if (work -> btypevec != NULL) |
1219 | { |
1237 | { |
1220 | free ((char *) work -> btypevec); |
1238 | free ((char *) work -> btypevec); |
- | 1239 | work->btypevec = NULL; |
|
1221 | } |
1240 | } |
1222 | if (work -> ktypevec != NULL) |
1241 | if (work -> ktypevec != NULL) |
1223 | { |
1242 | { |
1224 | free ((char *) work -> ktypevec); |
1243 | free ((char *) work -> ktypevec); |
- | 1244 | work->ktypevec = NULL; |
|
1225 | } |
1245 | } |
1226 | } |
1246 | } |
Line 1227... | Line 1247... | ||
1227 | 1247 | ||
Line 3654... | Line 3674... | ||
3654 | { |
3674 | { |
3655 | string_prependn (&decl, temp.b, temp.p - temp.b); |
3675 | string_prependn (&decl, temp.b, temp.p - temp.b); |
3656 | string_delete (&temp); |
3676 | string_delete (&temp); |
3657 | } |
3677 | } |
3658 | else |
3678 | else |
- | 3679 | { |
|
- | 3680 | string_delete (&temp); |
|
3659 | break; |
3681 | break; |
3660 | } |
3682 | } |
- | 3683 | } |
|
3661 | else if (**mangled == 'Q') |
3684 | else if (**mangled == 'Q') |
3662 | { |
3685 | { |
3663 | success = demangle_qualified (work, mangled, &decl, |
3686 | success = demangle_qualified (work, mangled, &decl, |
3664 | /*isfuncnam=*/0, |
3687 | /*isfuncnam=*/0, |
3665 | /*append=*/0); |
3688 | /*append=*/0); |