aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/call.c
diff options
context:
space:
mode:
authorNathan Froyd <froydnj@codesourcery.com>2011-05-06 17:03:08 +0000
committerNathan Froyd <froydnj@gcc.gnu.org>2011-05-06 17:03:08 +0000
commit7e1352fe55aa8c9573c9a3e9e3d6d8eed3e879d6 (patch)
tree0bea53352609d3a6f12f4add666223863889cc00 /gcc/cp/call.c
parent54cc9874fd081f49c678daa8dc97299e89d9a000 (diff)
downloadgcc-7e1352fe55aa8c9573c9a3e9e3d6d8eed3e879d6.zip
gcc-7e1352fe55aa8c9573c9a3e9e3d6d8eed3e879d6.tar.gz
gcc-7e1352fe55aa8c9573c9a3e9e3d6d8eed3e879d6.tar.bz2
introduce {class,type}_of_this_parm functions
introduce {class,type}_of_this_parm functions * cp-tree.h (type_of_this_parm, class_of_this_parm): New functions. * call.c (standard_conversion): Call class_of_this_parm. * cxx-pretty-print.c (pp_cxx_implicit_parameter_type): Likewise. (pp_cxx_direct_abstract_declarator): Likewise. * decl2.c (change_return_type): Likewise. (cp_reconstruct_complex_type): Likewise. * error.c (dump_type_suffix, dump_function_decl): Likewise. * mangle.c (write_function_type): Likewise. * pt.c (unify): Likewise. * typeck.c (merge_types, type_memfn_quals): Likewise. * decl.c (build_this_parm): Call type_of_this_parm. From-SVN: r173496
Diffstat (limited to 'gcc/cp/call.c')
-rw-r--r--gcc/cp/call.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index f5bd521..3a71572 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -1146,8 +1146,8 @@ standard_conversion (tree to, tree from, tree expr, bool c_cast_p,
{
tree fromfn = TREE_TYPE (TYPE_PTRMEMFUNC_FN_TYPE (from));
tree tofn = TREE_TYPE (TYPE_PTRMEMFUNC_FN_TYPE (to));
- tree fbase = TREE_TYPE (TREE_VALUE (TYPE_ARG_TYPES (fromfn)));
- tree tbase = TREE_TYPE (TREE_VALUE (TYPE_ARG_TYPES (tofn)));
+ tree fbase = class_of_this_parm (fromfn);
+ tree tbase = class_of_this_parm (tofn);
if (!DERIVED_FROM_P (fbase, tbase)
|| !same_type_p (TREE_TYPE (fromfn), TREE_TYPE (tofn))