diff options
author | Jason Merrill <jason@redhat.com> | 2019-03-13 19:34:51 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2019-03-13 19:34:51 -0400 |
commit | dcfa8518868d9eb836971c8ff315a048defc28ec (patch) | |
tree | dcdcbd95fecd3558c0a89bba2765aa3605b3a022 /gcc/ipa-polymorphic-call.c | |
parent | edaff7c9448c4e4bdc4e4a42f5813ee543a1df31 (diff) | |
download | gcc-dcfa8518868d9eb836971c8ff315a048defc28ec.zip gcc-dcfa8518868d9eb836971c8ff315a048defc28ec.tar.gz gcc-dcfa8518868d9eb836971c8ff315a048defc28ec.tar.bz2 |
PR c++/86521 - C++17 copy elision in initialization by constructor.
This is an overlooked case in C++17 mandatory copy elision: We want overload
resolution to reflect that initializing an object from a prvalue does not
involve a copy or move constructor even when [over.match.ctor] says that
only constructors are candidates. Here I implement that by looking through
the copy/move constructor in joust.
* call.c (joust_maybe_elide_copy): New.
(joust): Call it.
From-SVN: r269667
Diffstat (limited to 'gcc/ipa-polymorphic-call.c')
0 files changed, 0 insertions, 0 deletions