call.c (build_conv): Don't use build1 for USER_CONV.
* call.c (build_conv): Don't use build1 for USER_CONV. * pt.c (tsubst_copy): Or for PREINCREMENT_EXPR and similar nodes. From-SVN: r38688
This commit is contained in:
parent
7ffcb17f49
commit
519c98068b
@ -605,8 +605,16 @@ build_conv (code, type, from)
|
||||
enum tree_code code;
|
||||
tree type, from;
|
||||
{
|
||||
tree t = build1 (code, type, from);
|
||||
tree t;
|
||||
int rank = ICS_STD_RANK (from);
|
||||
|
||||
/* We can't use buidl1 here because CODE could be USER_CONV, which
|
||||
takes two arguments. In that case, the caller is responsible for
|
||||
filling in the second argument. */
|
||||
t = make_node (code);
|
||||
TREE_TYPE (t) = type;
|
||||
TREE_OPERAND (t, 0) = from;
|
||||
|
||||
switch (code)
|
||||
{
|
||||
case PTR_CONV:
|
||||
|
@ -6892,10 +6892,6 @@ tsubst_copy (t, args, complain, in_decl)
|
||||
tsubst_copy (TREE_OPERAND (t, 0), args, complain, in_decl));
|
||||
|
||||
case INDIRECT_REF:
|
||||
case PREDECREMENT_EXPR:
|
||||
case PREINCREMENT_EXPR:
|
||||
case POSTDECREMENT_EXPR:
|
||||
case POSTINCREMENT_EXPR:
|
||||
case NEGATE_EXPR:
|
||||
case TRUTH_NOT_EXPR:
|
||||
case BIT_NOT_EXPR:
|
||||
@ -6948,6 +6944,10 @@ tsubst_copy (t, args, complain, in_decl)
|
||||
case SCOPE_REF:
|
||||
case DOTSTAR_EXPR:
|
||||
case MEMBER_REF:
|
||||
case PREDECREMENT_EXPR:
|
||||
case PREINCREMENT_EXPR:
|
||||
case POSTDECREMENT_EXPR:
|
||||
case POSTINCREMENT_EXPR:
|
||||
return build_nt
|
||||
(code, tsubst_copy (TREE_OPERAND (t, 0), args, complain, in_decl),
|
||||
tsubst_copy (TREE_OPERAND (t, 1), args, complain, in_decl));
|
||||
|
Loading…
Reference in New Issue
Block a user