diff options
author | Mark Mitchell <mmitchel@gcc.gnu.org> | 2001-01-04 19:28:56 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2001-01-04 19:28:56 +0000 |
commit | 519c98068bc2ab4d0eb0ac40e75efba02468ddac (patch) | |
tree | d9dc1d4890aafa19ccc1fab2fcdc6c47c684e37e /gcc/cp/call.c | |
parent | 7ffcb17f49fb3f879043ed26dfca18efc539c0b1 (diff) | |
download | gcc-519c98068bc2ab4d0eb0ac40e75efba02468ddac.zip gcc-519c98068bc2ab4d0eb0ac40e75efba02468ddac.tar.gz gcc-519c98068bc2ab4d0eb0ac40e75efba02468ddac.tar.bz2 |
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
Diffstat (limited to 'gcc/cp/call.c')
-rw-r--r-- | gcc/cp/call.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/cp/call.c b/gcc/cp/call.c index 3c1f9aa..0c08d18 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -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: |