diff options
author | Mark Mitchell <mark@codesourcery.com> | 2003-08-25 15:47:43 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2003-08-25 15:47:43 +0000 |
commit | 43dc123f52541ec779e4b56541203cec16c18d80 (patch) | |
tree | c70318c3104fdbdeeae37e278eef3a2220c321b4 /gcc/cp/tree.c | |
parent | a30b6839178e57250791bd821f332151afaffba5 (diff) | |
download | gcc-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.c | 37 |
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) { |