From fef71f9d2bc4f87bd2ea6c8874a00f76ba8b0676 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Tue, 11 Oct 1994 18:39:14 +0000 Subject: (resolve_offset_ref): Fix types used in resolving .* expressions. From-SVN: r8252 --- gcc/cp/init.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gcc') diff --git a/gcc/cp/init.c b/gcc/cp/init.c index 08f33c0..e0905c6 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -2306,9 +2306,11 @@ resolve_offset_ref (exp) { basetype = TYPE_OFFSET_BASETYPE (TREE_TYPE (member)); addr = convert_pointer_to (basetype, addr); - member = convert (ptr_type_node, build_unary_op (ADDR_EXPR, member, 0)); + member = convert (ptrdiff_type_node, + build_unary_op (ADDR_EXPR, member, 0)); return build1 (INDIRECT_REF, type, - build (PLUS_EXPR, ptr_type_node, addr, member)); + build (PLUS_EXPR, build_pointer_type (type), + addr, member)); } else if (TYPE_PTRMEMFUNC_P (TREE_TYPE (member))) { -- cgit v1.1