diff options
author | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-02-02 00:27:39 +0000 |
---|---|---|
committer | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-02-02 00:27:39 +0000 |
commit | 1c1033dd4a273339c63c98572592b70b2c68147e (patch) | |
tree | 820789e9640a2091af40cb492ec11fc7d9cd143f /include | |
parent | e104bac6cb9f2c520828f6f01d9e9dfa756c0340 (diff) | |
download | gcc-1c1033dd4a273339c63c98572592b70b2c68147e.tar.gz |
Add support for Java demangling under the v3 ABI:
* cp-demangle.c (NAMESPACE_SEPARATOR): New define.
(struct demangling_def): Add `style' field.
(demangling_new): New parameter `style'. Set it in demangling_t.
(demangle_prefix): Use NAMESPACE_SEPARATOR.
(demangle_type_ptr): Don't emit pointer symbol if doing Java output.
(cp_demangle): New parameter `style'. Pass it to demangling_new().
(main): Call cp_demangle with extra parameter.
(java_demangle_v3): New function.
(java_builtin_type_names): New. Table of primitive type names used
for Java demangling.
(demangle_builtin_type): Look up in java_builtin_type_names if doing
Java output.
* cplus-dem.c (cplus_demangle): Use java_demangle_v3 to do Java
demangling.
(long_options): Remove obsolete `java' option.
(main): Remove explicit handling of `java' option. Instead, pass style
parameter in cplus_demangle flags as gdb does.
* testsuite/demangle.expected: Add some Java test cases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39399 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'include')
-rw-r--r-- | include/demangle.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/demangle.h b/include/demangle.h index 7fb6259098d..a3b664b0e7c 100644 --- a/include/demangle.h +++ b/include/demangle.h @@ -120,8 +120,11 @@ cplus_demangle_set_style PARAMS ((enum demangling_styles style)); extern enum demangling_styles cplus_demangle_name_to_style PARAMS ((const char *name)); -/* V3 ABI demangling entry point, defined in cp-demangle.c. */ +/* V3 ABI demangling entry points, defined in cp-demangle.c. */ extern char* cplus_demangle_v3 PARAMS ((const char* mangled)); +extern char* +java_demangle_v3 PARAMS ((const char* mangled)); + #endif /* DEMANGLE_H */ |