+Thu Feb 2 15:07:58 1995 Jason Merrill <jason@phydeaux.cygnus.com>
+
+ * class.c (build_vbase_path): Bash types to make the backend happy.
+ * cvt.c (build_up_reference): Bash the types bashed by
+ build_vbase_path to be reference types instead of pointer types.
+ (convert_to_reference): Ditto.
+
Wed Jan 25 15:02:09 1995 David S. Miller (davem@nadzieja.rutgers.edu)
* class.c (instantiate_type): Change error message text.
if (TREE_INT_CST_LOW (offset))
{
+ /* Bash types to make the backend happy. */
+ offset = convert (type, offset);
+ expr = build1 (NOP_EXPR, type, expr);
+
/* For multiple inheritance: if `this' can be set by any
function, then it could be 0 on entry to any function.
Preserve such zeroness here. Otherwise, only in the
rval
= convert_to_pointer_force (build_pointer_type (target_type), rval);
TREE_TYPE (rval) = type;
+ if (TREE_CODE (rval) == PLUS_EXPR || TREE_CODE (rval) == MINUS_EXPR)
+ TREE_TYPE (TREE_OPERAND (rval, 0))
+ = TREE_TYPE (TREE_OPERAND (rval, 1)) = type;
}
TREE_CONSTANT (rval) = literal_flag;
return rval;
convtype, flags);
TREE_TYPE (expr) = type;
TREE_TYPE (rval) = reftype;
+ if (TREE_CODE (rval) == PLUS_EXPR || TREE_CODE (rval) == MINUS_EXPR)
+ TREE_TYPE (TREE_OPERAND (rval, 0))
+ = TREE_TYPE (TREE_OPERAND (rval, 1)) = reftype;
return rval;
}