diff options
Diffstat (limited to 'gcc/java/mangle.c')
-rw-r--r-- | gcc/java/mangle.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/java/mangle.c b/gcc/java/mangle.c index e8df917..372c946 100644 --- a/gcc/java/mangle.c +++ b/gcc/java/mangle.c @@ -188,6 +188,14 @@ mangle_method_decl (tree mdecl) if (TREE_CODE (TREE_TYPE (mdecl)) == METHOD_TYPE) arglist = TREE_CHAIN (arglist); + /* Output literal 'J' and mangle the return type IF not a + constructor. */ + if (!ID_INIT_P (method_name)) + { + obstack_1grow (mangle_obstack, 'J'); + mangle_type(TREE_TYPE(TREE_TYPE(mdecl))); + } + /* No arguments is easy. We shortcut it. */ if (arglist == end_params_node) obstack_1grow (mangle_obstack, 'v'); |