diff options
Diffstat (limited to 'gcc/cp/mangle.c')
-rw-r--r-- | gcc/cp/mangle.c | 64 |
1 files changed, 4 insertions, 60 deletions
diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c index bd23260..9f86e91 100644 --- a/gcc/cp/mangle.c +++ b/gcc/cp/mangle.c @@ -239,10 +239,6 @@ static bool equal_abi_tags (tree, tree); static inline void start_mangling (const tree); static tree mangle_special_for_type (const tree, const char *); -/* Foreign language functions. */ - -static void write_java_integer_type_codes (const tree); - /* Append a single character to the end of the mangled representation. */ #define write_char(CHAR) \ @@ -2436,8 +2432,6 @@ write_builtin_type (tree type) write_string ("Ds"); else if (type == char32_type_node) write_string ("Di"); - else if (TYPE_FOR_JAVA (type)) - write_java_integer_type_codes (type); else { size_t itk; @@ -2492,11 +2486,9 @@ write_builtin_type (tree type) break; case REAL_TYPE: - if (type == float_type_node - || type == java_float_type_node) + if (type == float_type_node) write_char ('f'); - else if (type == double_type_node - || type == java_double_type_node) + else if (type == double_type_node) write_char ('d'); else if (type == long_double_type_node) write_char ('e'); @@ -2621,40 +2613,16 @@ write_function_type (const tree type) /* Non-terminal <bare-function-type>. TYPE is a FUNCTION_TYPE or METHOD_TYPE. If INCLUDE_RETURN_TYPE is nonzero, the return value is mangled before the parameter types. If non-NULL, DECL is - FUNCTION_DECL for the function whose type is being emitted. - - If DECL is a member of a Java type, then a literal 'J' - is output and the return type is mangled as if INCLUDE_RETURN_TYPE - were nonzero. - - <bare-function-type> ::= [J]</signature/ type>+ */ + FUNCTION_DECL for the function whose type is being emitted. */ static void write_bare_function_type (const tree type, const int include_return_type_p, const tree decl) { - int java_method_p; - MANGLE_TRACE_TREE ("bare-function-type", type); - /* Detect Java methods and emit special encoding. */ - if (decl != NULL - && DECL_FUNCTION_MEMBER_P (decl) - && TYPE_FOR_JAVA (DECL_CONTEXT (decl)) - && !DECL_CONSTRUCTOR_P (decl) - && !DECL_DESTRUCTOR_P (decl) - && !DECL_CONV_FN_P (decl)) - { - java_method_p = 1; - write_char ('J'); - } - else - { - java_method_p = 0; - } - /* Mangle the return type, if requested. */ - if (include_return_type_p || java_method_p) + if (include_return_type_p) write_type (TREE_TYPE (type)); /* Now mangle the types of the arguments. */ @@ -4264,30 +4232,6 @@ mangle_ref_init_variable (const tree variable) return finish_mangling_get_identifier (); } - -/* Foreign language type mangling section. */ - -/* How to write the type codes for the integer Java type. */ - -static void -write_java_integer_type_codes (const tree type) -{ - if (type == java_int_type_node) - write_char ('i'); - else if (type == java_short_type_node) - write_char ('s'); - else if (type == java_byte_type_node) - write_char ('c'); - else if (type == java_char_type_node) - write_char ('w'); - else if (type == java_long_type_node) - write_char ('x'); - else if (type == java_boolean_type_node) - write_char ('b'); - else - gcc_unreachable (); -} - /* Given a CLASS_TYPE, such as a record for std::bad_exception this function generates a mangled name for the vtable map variable of the class type. For example, if the class type is |