diff options
author | Jason Merrill <jason@gcc.gnu.org> | 2000-12-04 12:00:04 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2000-12-04 12:00:04 -0500 |
commit | c00996a3ea28127b7392876352ad0dd32e00e1ca (patch) | |
tree | 7543491b113d205817aab1d11cfba53a22a40db7 /gcc/cp/method.c | |
parent | d611079baa5b039340541d7f1576a3e520280b4f (diff) | |
download | gcc-c00996a3ea28127b7392876352ad0dd32e00e1ca.zip gcc-c00996a3ea28127b7392876352ad0dd32e00e1ca.tar.gz gcc-c00996a3ea28127b7392876352ad0dd32e00e1ca.tar.bz2 |
mangle.c (write_type): Mangle VECTOR_TYPE with "U8__vector".
* mangle.c (write_type): Mangle VECTOR_TYPE with "U8__vector".
(write_builtin_type): Pass intSI_type_node and the like through
type_for_mode.
* method.c (process_overload_item): Mangle VECTOR_TYPEs with 'o'.
Pass intSI_type_node and the like through type_for_mode.
* decl2.c (arg_assoc_type): Handle VECTOR_TYPE like COMPLEX_TYPE.
* pt.c (tsubst, unify): Likewise.
* tree.c (walk_tree): Likewise.
* error.c (dump_type): Likewise.
(dump_type_prefix, dump_type_suffix): Don't bother with VECTOR_TYPE.
* Make-lang.in: Tweak top comment for emacs.
(cp/TAGS): Restore.
* except.c (expand_throw): Use push_throw_library_fn for _Jv_Throw.
* pt.c (tsubst_decl): Call clone_function_decl here.
(do_decl_instantiation): Not here.
* class.c (clone_function_decl): Robustify.
* decl.c (store_bindings): Only search in the non modified
old_bindings for duplicates.
From-SVN: r37999
Diffstat (limited to 'gcc/cp/method.c')
-rw-r--r-- | gcc/cp/method.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/cp/method.c b/gcc/cp/method.c index 4f2e58d..4c59822 100644 --- a/gcc/cp/method.c +++ b/gcc/cp/method.c @@ -1313,6 +1313,8 @@ process_overload_item (parmtype, extra_Gcode) tree parmtype; int extra_Gcode; { + tree tmp; + numeric_output_need_bar = 0; /* Our caller should have already handed any qualifiers, so pull out the @@ -1421,6 +1423,7 @@ process_overload_item (parmtype, extra_Gcode) } case INTEGER_TYPE: + iagain: if (parmtype == integer_type_node || parmtype == unsigned_type_node || parmtype == java_int_type_node) @@ -1450,6 +1453,14 @@ process_overload_item (parmtype, extra_Gcode) OB_PUTC ('x'); else if (parmtype == java_boolean_type_node) OB_PUTC ('b'); + /* Handle intSI_type_node and such like their C++ equivalents. */ + else if (tmp = type_for_mode (TYPE_MODE (parmtype), + TREE_UNSIGNED (parmtype)), + parmtype != tmp) + { + parmtype = tmp; + goto iagain; + } #if HOST_BITS_PER_WIDE_INT >= 64 else { @@ -1483,6 +1494,11 @@ process_overload_item (parmtype, extra_Gcode) build_mangled_name_for_type (TREE_TYPE (parmtype)); break; + case VECTOR_TYPE: + OB_PUTC ('o'); + build_mangled_name_for_type (TREE_TYPE (parmtype)); + break; + case VOID_TYPE: OB_PUTC ('v'); break; |