re PR c++/23372 (Temporary aggregate copy not elided when passing parameters by value)
PR c++/23372 * call.c (build_over_call): Don't make a copy here if build_call will make one too. From-SVN: r116342
This commit is contained in:
parent
c846e8cd67
commit
a5c4274085
2 changed files with 12 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2006-08-22 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/23372
|
||||
* call.c (build_over_call): Don't make a copy here if build_call
|
||||
will make one too.
|
||||
|
||||
2006-08-22 Andrew Pinski <pinskia@physics.uc.edu>
|
||||
|
||||
PR C++/28450
|
||||
|
|
|
@ -4847,6 +4847,12 @@ build_over_call (struct z_candidate *cand, int flags)
|
|||
tree type = TREE_VALUE (parm);
|
||||
|
||||
conv = convs[i];
|
||||
|
||||
/* Don't make a copy here if build_call is going to. */
|
||||
if (conv->kind == ck_rvalue
|
||||
&& !TREE_ADDRESSABLE (complete_type (type)))
|
||||
conv = conv->u.next;
|
||||
|
||||
val = convert_like_with_context
|
||||
(conv, TREE_VALUE (arg), fn, i - is_method);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue