Commit fef71f9d by Jason Merrill

(resolve_offset_ref): Fix types used in resolving .*

        expressions.

From-SVN: r8252
parent 3536cd7e
...@@ -2306,9 +2306,11 @@ resolve_offset_ref (exp) ...@@ -2306,9 +2306,11 @@ resolve_offset_ref (exp)
{ {
basetype = TYPE_OFFSET_BASETYPE (TREE_TYPE (member)); basetype = TYPE_OFFSET_BASETYPE (TREE_TYPE (member));
addr = convert_pointer_to (basetype, addr); 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, 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))) else if (TYPE_PTRMEMFUNC_P (TREE_TYPE (member)))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment