public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c++/58089] New: expanding empty parameter pack as constructor arguments requires accessible copy constructor @ 2013-08-05 14:44 redi at gcc dot gnu.org 2013-08-05 14:47 ` [Bug c++/58089] " redi at gcc dot gnu.org ` (4 more replies) 0 siblings, 5 replies; 6+ messages in thread From: redi at gcc dot gnu.org @ 2013-08-05 14:44 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58089 Bug ID: 58089 Summary: expanding empty parameter pack as constructor arguments requires accessible copy constructor Product: gcc Version: 4.9.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: redi at gcc dot gnu.org struct X { X() { } private: X(const X& r); }; template <typename... Args> void f(Args&&... args) { X t(args...); } int main() { f(); } $ g++ -std=gnu++11 t.cc t.cc: In instantiation of 'void f(Args&& ...) [with Args = {}]': t.cc:18:7: required from here t.cc:5:5: error: 'X::X(const X&)' is private X(const X& r); ^ t.cc:12:16: error: within this context X t(args...); ^ ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/58089] expanding empty parameter pack as constructor arguments requires accessible copy constructor 2013-08-05 14:44 [Bug c++/58089] New: expanding empty parameter pack as constructor arguments requires accessible copy constructor redi at gcc dot gnu.org @ 2013-08-05 14:47 ` redi at gcc dot gnu.org 2013-11-29 12:53 ` aaz@q-fu.com ` (3 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: redi at gcc dot gnu.org @ 2013-08-05 14:47 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58089 --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- Using list-initialization works fine: X t{args...}; ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/58089] expanding empty parameter pack as constructor arguments requires accessible copy constructor 2013-08-05 14:44 [Bug c++/58089] New: expanding empty parameter pack as constructor arguments requires accessible copy constructor redi at gcc dot gnu.org 2013-08-05 14:47 ` [Bug c++/58089] " redi at gcc dot gnu.org @ 2013-11-29 12:53 ` aaz@q-fu.com 2015-01-20 17:48 ` paolo.carlini at oracle dot com ` (2 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: aaz@q-fu.com @ 2013-11-29 12:53 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58089 Andrey Zholos <aaz@q-fu.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aaz@q-fu.com --- Comment #2 from Andrey Zholos <aaz@q-fu.com> --- I also stumbled onto this bug, and bug 59141 is a duplicate. It appears the empty parameter pack is expanded as t({}) rather than t(). There is a similar example in 14.5.3p6 that indicates obj should be value- initialized (not copy-constructed), and clang accepts this code. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/58089] expanding empty parameter pack as constructor arguments requires accessible copy constructor 2013-08-05 14:44 [Bug c++/58089] New: expanding empty parameter pack as constructor arguments requires accessible copy constructor redi at gcc dot gnu.org 2013-08-05 14:47 ` [Bug c++/58089] " redi at gcc dot gnu.org 2013-11-29 12:53 ` aaz@q-fu.com @ 2015-01-20 17:48 ` paolo.carlini at oracle dot com 2021-08-02 2:18 ` pinskia at gcc dot gnu.org 2021-08-02 14:00 ` redi at gcc dot gnu.org 4 siblings, 0 replies; 6+ messages in thread From: paolo.carlini at oracle dot com @ 2015-01-20 17:48 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58089 Paolo Carlini <paolo.carlini at oracle dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ppluzhnikov at google dot com --- Comment #3 from Paolo Carlini <paolo.carlini at oracle dot com> --- *** Bug 59141 has been marked as a duplicate of this bug. *** ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/58089] expanding empty parameter pack as constructor arguments requires accessible copy constructor 2013-08-05 14:44 [Bug c++/58089] New: expanding empty parameter pack as constructor arguments requires accessible copy constructor redi at gcc dot gnu.org ` (2 preceding siblings ...) 2015-01-20 17:48 ` paolo.carlini at oracle dot com @ 2021-08-02 2:18 ` pinskia at gcc dot gnu.org 2021-08-02 14:00 ` redi at gcc dot gnu.org 4 siblings, 0 replies; 6+ messages in thread From: pinskia at gcc dot gnu.org @ 2021-08-02 2:18 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58089 Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to work| |7.0 --- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Seems fixed in GCC 7+. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug c++/58089] expanding empty parameter pack as constructor arguments requires accessible copy constructor 2013-08-05 14:44 [Bug c++/58089] New: expanding empty parameter pack as constructor arguments requires accessible copy constructor redi at gcc dot gnu.org ` (3 preceding siblings ...) 2021-08-02 2:18 ` pinskia at gcc dot gnu.org @ 2021-08-02 14:00 ` redi at gcc dot gnu.org 4 siblings, 0 replies; 6+ messages in thread From: redi at gcc dot gnu.org @ 2021-08-02 14:00 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58089 Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Target Milestone|--- |7.0 Resolution|--- |FIXED --- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> --- Fixed by this commit: * pt.c (tsubst_init): Set TARGET_EXPR_DIRECT_INIT_P. From-SVN: r246953 The fix included a suitable testcase so we can close it. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-08-02 14:00 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-08-05 14:44 [Bug c++/58089] New: expanding empty parameter pack as constructor arguments requires accessible copy constructor redi at gcc dot gnu.org 2013-08-05 14:47 ` [Bug c++/58089] " redi at gcc dot gnu.org 2013-11-29 12:53 ` aaz@q-fu.com 2015-01-20 17:48 ` paolo.carlini at oracle dot com 2021-08-02 2:18 ` pinskia at gcc dot gnu.org 2021-08-02 14:00 ` redi at gcc dot gnu.org
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).