aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/tree.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2003-08-25 15:47:43 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2003-08-25 15:47:43 +0000
commit43dc123f52541ec779e4b56541203cec16c18d80 (patch)
treec70318c3104fdbdeeae37e278eef3a2220c321b4 /gcc/cp/tree.c
parenta30b6839178e57250791bd821f332151afaffba5 (diff)
downloadgcc-43dc123f52541ec779e4b56541203cec16c18d80.zip
gcc-43dc123f52541ec779e4b56541203cec16c18d80.tar.gz
gcc-43dc123f52541ec779e4b56541203cec16c18d80.tar.bz2
re PR target/8795 ([PPC] Altivec related bugs concerning gcc 3.3 and mainline)
PR c++/8795 * tree.h (build_method_type_directly): Declare. * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs. (vector_size_helper): Likewise. * tree.c (build_method_type_directly): New function. (build_method_type): Use it. PR c++/8795 * cp-tree.h (build_cplus_method_type): Remove. * call.c (standard_conversion): Use build_method_type_directly instead of build_cplus_method_type. * class.c (build_clone): Likewise. (adjust_clone_args): Likewise. * decl.c (build_ptrmem_type): Likewise. (grokdeclarator): Likewise. (check_function_type): Likewise. * decl2.c (grok_method_quals): Likewise. (maybe_retrofit_in_chrg): Likewise. * pt.c (copy_default_args_to_explicit_spec): Likewise. (tsubst_function_type): Likewise. (tsubst): Likewise. * tree.c (build_cplus_method_type): Remove. * typeck.c (merge_types): Use build_method_type_directly. PR c++/8795 * g++.dg/ext/altivec-1.C: New test. From-SVN: r70773
Diffstat (limited to 'gcc/cp/tree.c')
-rw-r--r--gcc/cp/tree.c37
1 files changed, 0 insertions, 37 deletions
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index cd1ea24..532d8b9 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -373,43 +373,6 @@ get_target_expr (tree init)
}
-/* Construct, lay out and return the type of methods belonging to class
- BASETYPE and whose arguments are described by ARGTYPES and whose values
- are described by RETTYPE. If each type exists already, reuse it. */
-
-tree
-build_cplus_method_type (tree basetype, tree rettype, tree argtypes)
-{
- register tree t;
- tree ptype;
- int hashcode;
-
- /* Make a node of the sort we want. */
- t = make_node (METHOD_TYPE);
-
- TYPE_METHOD_BASETYPE (t) = TYPE_MAIN_VARIANT (basetype);
- TREE_TYPE (t) = rettype;
- ptype = build_pointer_type (basetype);
-
- /* The actual arglist for this function includes a "hidden" argument
- which is "this". Put it into the list of argument types. */
- argtypes = tree_cons (NULL_TREE, ptype, argtypes);
- TYPE_ARG_TYPES (t) = argtypes;
- TREE_SIDE_EFFECTS (argtypes) = 1; /* Mark first argtype as "artificial". */
-
- /* If we already have such a type, use the old one and free this one.
- Note that it also frees up the above cons cell if found. */
- hashcode = TYPE_HASH (basetype) + TYPE_HASH (rettype) +
- type_hash_list (argtypes);
-
- t = type_hash_canon (hashcode, t);
-
- if (!COMPLETE_TYPE_P (t))
- layout_type (t);
-
- return t;
-}
-
static tree
build_cplus_array_type_1 (tree elt_type, tree index_type)
{