public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/109677] New: Access control bypass for function template default argument brace initialization of private default constructor
@ 2023-04-29  1:49 ed at catmur dot uk
  2023-04-29  2:31 ` [Bug c++/109677] [11/12/13/14 Regression] " pinskia at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: ed at catmur dot uk @ 2023-04-29  1:49 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109677

            Bug ID: 109677
           Summary: Access control bypass for function template default
                    argument brace initialization of private default
                    constructor
           Product: gcc
           Version: 13.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ed at catmur dot uk
  Target Milestone: ---

gcc accepts-invalid:

struct B { private: B(); };
template<class T> int f(T = {});
int i = f<B>();

This is mostly a curiosity, but it came up while trying to understand why a
misuse of the passkey pattern was seemingly working.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug c++/109677] [11/12/13/14 Regression] Access control bypass for function template default argument brace initialization of private default constructor
  2023-04-29  1:49 [Bug c++/109677] New: Access control bypass for function template default argument brace initialization of private default constructor ed at catmur dot uk
@ 2023-04-29  2:31 ` pinskia at gcc dot gnu.org
  2023-05-01 12:10 ` ppalka at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-04-29  2:31 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109677

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
            Summary|Access control bypass for   |[11/12/13/14 Regression]
                   |function template default   |Access control bypass for
                   |argument brace              |function template default
                   |initialization of private   |argument brace
                   |default constructor         |initialization of private
                   |                            |default constructor
   Target Milestone|---                         |11.4
      Known to work|                            |10.1.0, 10.4.0, 7.1.0,
                   |                            |8.1.0, 9.1.0
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2023-04-29
      Known to fail|                            |11.1.0

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed a regression from GCC 10.x.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug c++/109677] [11/12/13/14 Regression] Access control bypass for function template default argument brace initialization of private default constructor
  2023-04-29  1:49 [Bug c++/109677] New: Access control bypass for function template default argument brace initialization of private default constructor ed at catmur dot uk
  2023-04-29  2:31 ` [Bug c++/109677] [11/12/13/14 Regression] " pinskia at gcc dot gnu.org
@ 2023-05-01 12:10 ` ppalka at gcc dot gnu.org
  2023-05-29 10:08 ` jakub at gcc dot gnu.org
  2024-01-12 10:39 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: ppalka at gcc dot gnu.org @ 2023-05-01 12:10 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109677

Patrick Palka <ppalka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|needs-bisection             |
                 CC|                            |jason at gcc dot gnu.org

--- Comment #2 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Started with r11-1615-g6b161257f9f8c7

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug c++/109677] [11/12/13/14 Regression] Access control bypass for function template default argument brace initialization of private default constructor
  2023-04-29  1:49 [Bug c++/109677] New: Access control bypass for function template default argument brace initialization of private default constructor ed at catmur dot uk
  2023-04-29  2:31 ` [Bug c++/109677] [11/12/13/14 Regression] " pinskia at gcc dot gnu.org
  2023-05-01 12:10 ` ppalka at gcc dot gnu.org
@ 2023-05-29 10:08 ` jakub at gcc dot gnu.org
  2024-01-12 10:39 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu.org @ 2023-05-29 10:08 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109677

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|11.4                        |11.5

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 11.4 is being released, retargeting bugs to GCC 11.5.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug c++/109677] [11/12/13/14 Regression] Access control bypass for function template default argument brace initialization of private default constructor
  2023-04-29  1:49 [Bug c++/109677] New: Access control bypass for function template default argument brace initialization of private default constructor ed at catmur dot uk
                   ` (2 preceding siblings ...)
  2023-05-29 10:08 ` jakub at gcc dot gnu.org
@ 2024-01-12 10:39 ` rguenth at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-01-12 10:39 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109677

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-01-12 10:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-29  1:49 [Bug c++/109677] New: Access control bypass for function template default argument brace initialization of private default constructor ed at catmur dot uk
2023-04-29  2:31 ` [Bug c++/109677] [11/12/13/14 Regression] " pinskia at gcc dot gnu.org
2023-05-01 12:10 ` ppalka at gcc dot gnu.org
2023-05-29 10:08 ` jakub at gcc dot gnu.org
2024-01-12 10:39 ` rguenth 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).