public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/47346] New: access control for nested type is ignored in class template
@ 2011-01-18 15:42 redi at gcc dot gnu.org
  2011-03-11 18:04 ` [Bug c++/47346] " redi at gcc dot gnu.org
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: redi at gcc dot gnu.org @ 2011-01-18 15:42 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47346

           Summary: access control for nested type is ignored in class
                    template
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Keywords: accepts-invalid
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: redi@gcc.gnu.org


There are several bugs about failure to do access checking for template
parameters and in function templates (PR 40901, PR 41437, PR 45011, PR 45917)
but I don't think this is a dup of any of them

class C
{
  struct Private { };
};

template<typename T>
struct exploit1
{
    typedef C::Private type;
};

exploit1<int>::type x1;   // error

// similarly for base-specifier
template<typename T>
struct exploit2 : C::Private
{
};

exploit2<int> x2;   // error


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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
@ 2011-03-11 18:04 ` redi at gcc dot gnu.org
  2011-06-13  9:11 ` redi at gcc dot gnu.org
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: redi at gcc dot gnu.org @ 2011-03-11 18:04 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47346

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011.03.11 18:04:41
     Ever Confirmed|0                           |1


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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
  2011-03-11 18:04 ` [Bug c++/47346] " redi at gcc dot gnu.org
@ 2011-06-13  9:11 ` redi at gcc dot gnu.org
  2011-07-28 18:25 ` dodji at gcc dot gnu.org
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: redi at gcc dot gnu.org @ 2011-06-13  9:11 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47346

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |matthew_eanor at hotmail
                   |                            |dot com

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-06-13 09:10:59 UTC ---
*** Bug 49388 has been marked as a duplicate of this bug. ***


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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
  2011-03-11 18:04 ` [Bug c++/47346] " redi at gcc dot gnu.org
  2011-06-13  9:11 ` redi at gcc dot gnu.org
@ 2011-07-28 18:25 ` dodji at gcc dot gnu.org
  2011-08-11 18:42 ` dodji at gcc dot gnu.org
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: dodji at gcc dot gnu.org @ 2011-07-28 18:25 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47346

Dodji Seketeli <dodji at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|dodji at gcc dot gnu.org    |
         AssignedTo|unassigned at gcc dot       |dodji at gcc dot gnu.org
                   |gnu.org                     |


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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2011-07-28 18:25 ` dodji at gcc dot gnu.org
@ 2011-08-11 18:42 ` dodji at gcc dot gnu.org
  2011-08-11 18:54 ` dodji at gcc dot gnu.org
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: dodji at gcc dot gnu.org @ 2011-08-11 18:42 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47346

--- Comment #2 from Dodji Seketeli <dodji at gcc dot gnu.org> 2011-08-11 18:41:53 UTC ---
Another variation of the same theme is:

class C
{
    struct Private { };
};

template<typename T>
struct exploit3
{
    template<class U = C::Private>
    struct E {};
};

void
bar()
{
    exploit3<int>::E<> e;
}


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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2011-08-11 18:42 ` dodji at gcc dot gnu.org
@ 2011-08-11 18:54 ` dodji at gcc dot gnu.org
  2011-08-17 15:43 ` dodji at gcc dot gnu.org
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: dodji at gcc dot gnu.org @ 2011-08-11 18:54 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47346

--- Comment #3 from Dodji Seketeli <dodji at gcc dot gnu.org> 2011-08-11 18:52:54 UTC ---
Created attachment 24985
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24985
Work in progress patch

I am currently testing this patch.

The problem I see is twofold.

First, the infrastructure I added a while back to do access checking of
references to types, at template instantiation time,  was limited to typedefs.

This bug seems to suggest that the access checking should be done for
references to all types.  Not just typedefs.

Second, add_typedef_to_current_template_for_access_check assumes that a
"current template" is present.  When we are parsing the class header (for e.g
the base clause) or the template parameter list, the "current template" is not
present yet.  In that case, a possible solution is the stash away, for some
short while, the types access that is to be checked, until the current template
becomes available.

This is the approach taken by this patch.


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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2011-08-11 18:54 ` dodji at gcc dot gnu.org
@ 2011-08-17 15:43 ` dodji at gcc dot gnu.org
  2011-09-29  6:11 ` paolo.carlini at oracle dot com
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: dodji at gcc dot gnu.org @ 2011-08-17 15:43 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47346

--- Comment #4 from Dodji Seketeli <dodji at gcc dot gnu.org> 2011-08-17 15:26:01 UTC ---
Candidate fix posted to http://gcc.gnu.org/ml/gcc-patches/2011-08/msg01404.html


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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2011-08-17 15:43 ` dodji at gcc dot gnu.org
@ 2011-09-29  6:11 ` paolo.carlini at oracle dot com
  2011-09-30 10:34 ` dodji at seketeli dot org
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-09-29  6:11 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47346

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |paolo.carlini at oracle dot
                   |                            |com

--- Comment #5 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-09-29 02:20:34 UTC ---
Out of curiosity, does the posted patch fix at once *all* the issues mentioned
in the Description? It would be great to have it!


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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2011-09-29  6:11 ` paolo.carlini at oracle dot com
@ 2011-09-30 10:34 ` dodji at seketeli dot org
  2011-09-30 10:44 ` paolo.carlini at oracle dot com
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: dodji at seketeli dot org @ 2011-09-30 10:34 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47346

--- Comment #6 from dodji at seketeli dot org <dodji at seketeli dot org> 2011-09-30 10:26:29 UTC ---
"paolo.carlini at oracle dot com" <gcc-bugzilla@gcc.gnu.org> a écrit:

> Out of curiosity, does the posted patch fix at once *all* the issues mentioned
> in the Description?

Yes it does, AFAICT.

> It would be great to have it!

I am onto something else at the moment, but I intend to address Jason's
comment to the patch I posted when I am done.  Sorry for the delay.


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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2011-09-30 10:34 ` dodji at seketeli dot org
@ 2011-09-30 10:44 ` paolo.carlini at oracle dot com
  2011-09-30 12:06 ` dodji at seketeli dot org
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-09-30 10:44 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47346

--- Comment #7 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-09-30 10:33:15 UTC ---
Great. By the way, I think I didn't see any comment, that's why I asked ;)


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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2011-09-30 10:44 ` paolo.carlini at oracle dot com
@ 2011-09-30 12:06 ` dodji at seketeli dot org
  2011-10-18 11:32 ` paolo.carlini at oracle dot com
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: dodji at seketeli dot org @ 2011-09-30 12:06 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47346

--- Comment #8 from dodji at seketeli dot org <dodji at seketeli dot org> 2011-09-30 11:41:14 UTC ---
The comment was posted in another month:

http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00536.html

Another hint at why we need  a better patch/comments tracker :)


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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2011-09-30 12:06 ` dodji at seketeli dot org
@ 2011-10-18 11:32 ` paolo.carlini at oracle dot com
  2013-03-27 13:28 ` jason at gcc dot gnu.org
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-10-18 11:32 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47346

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |wolfgang.roehrl@gi-de.com

--- Comment #9 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-10-18 11:31:06 UTC ---
*** Bug 50097 has been marked as a duplicate of this bug. ***


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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2011-10-18 11:32 ` paolo.carlini at oracle dot com
@ 2013-03-27 13:28 ` jason at gcc dot gnu.org
  2013-07-06 23:42 ` paolo.carlini at oracle dot com
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jason at gcc dot gnu.org @ 2013-03-27 13:28 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47346

--- Comment #10 from Jason Merrill <jason at gcc dot gnu.org> 2013-03-27 13:28:24 UTC ---
Even simpler:

class B { struct C {}; };
template <class T> struct A { B::C c; };
A<int> a;


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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2013-03-27 13:28 ` jason at gcc dot gnu.org
@ 2013-07-06 23:42 ` paolo.carlini at oracle dot com
  2013-11-12  1:07 ` redi at gcc dot gnu.org
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-07-06 23:42 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47346

--- Comment #11 from Paolo Carlini <paolo.carlini at oracle dot com> ---
Dodji, any news? ;)


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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
                   ` (12 preceding siblings ...)
  2013-07-06 23:42 ` paolo.carlini at oracle dot com
@ 2013-11-12  1:07 ` redi at gcc dot gnu.org
  2013-11-19 16:28 ` paolo.carlini at oracle dot com
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: redi at gcc dot gnu.org @ 2013-11-12  1:07 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47346

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |romain.geissler at gmail dot com

--- Comment #12 from Jonathan Wakely <redi at gcc dot gnu.org> ---
*** Bug 59081 has been marked as a duplicate of this bug. ***


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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
                   ` (13 preceding siblings ...)
  2013-11-12  1:07 ` redi at gcc dot gnu.org
@ 2013-11-19 16:28 ` paolo.carlini at oracle dot com
  2020-06-16 12:59 ` cvs-commit at gcc dot gnu.org
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: paolo.carlini at oracle dot com @ 2013-11-19 16:28 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47346

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |akim.demaille at gmail dot com

--- Comment #13 from Paolo Carlini <paolo.carlini at oracle dot com> ---
*** Bug 59191 has been marked as a duplicate of this bug. ***


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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
                   ` (14 preceding siblings ...)
  2013-11-19 16:28 ` paolo.carlini at oracle dot com
@ 2020-06-16 12:59 ` cvs-commit at gcc dot gnu.org
  2020-06-16 12:59 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-06-16 12:59 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #18 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Patrick Palka <ppalka@gcc.gnu.org>:

https://gcc.gnu.org/g:92bed036098928cd4659c8990e14cf7ad040e0c2

commit r11-1350-g92bed036098928cd4659c8990e14cf7ad040e0c2
Author: Patrick Palka <ppalka@redhat.com>
Date:   Tue Jun 16 08:21:33 2020 -0400

    c++: Improve access checking inside templates [PR41437]

    This patch generalizes our existing functionality for deferring access
    checking of typedefs when parsing a function or class template to now
    defer all kinds of access checks until template instantiation time,
    including member function and member object accesses.

    Since all access checks eventually go through enforce_access, the main
    component of this patch is new handling inside enforce_access to defer
    the current access check if we're inside a template.  The bulk of the
    rest of the patch consists of removing now-unneeded code pertaining to
    suppressing access checks inside templates or pertaining to
    typedef-specific access handling.  Renamings and other changes with no
    functional impact have been split off into the followup patch.

    gcc/cp/ChangeLog:

            PR c++/41437
            PR c++/47346
            * call.c (enforce_access): Move to semantics.c.
            * cp-tree.h (enforce_access): Delete.
            (get_types_needing_access_check): Delete.
            (add_typedef_to_current_template_for_access_check): Delete.
            * decl.c (make_typename_type): Adjust accordingly.  Use
            check_accessibility_of_qualified_id instead of directly using
            perform_or_defer_access_check.
            * parser.c (cp_parser_template_declaration_after_parameters):
            Don't push a dk_no_check access state when parsing a template.
            * pt.c (get_types_needing_access_check): Delete.
            (append_type_to_template_for_access_check_1): Delete.
            (perform_typedefs_access_check): Adjust.  If type_decl is a
            FIELD_DECL, also check its DECL_CONTEXT for dependence. Use
            tsubst_copy instead of tsubst to substitute into type_decl so
            that we substitute into the DECL_CONTEXT of a FIELD_DECL.
            (append_type_to_template_for_access_check): Delete.
            * search.c (accessible_p): Remove the processing_template_decl
            early exit.
            * semantics.c (enforce_access): Moved from call.c.  If we're
            parsing a template and the access check failed, add the check to
            TI_TYPEDEFS_NEEDING_ACCESS_CHECKING.
            (perform_or_defer_access_check): Adjust comment.
            (add_typedef_to_current_template_for_access_check): Delete.
            (check_accessibility_of_qualified_id):  Adjust accordingly.
            Exit early if the scope is dependent.

    gcc/testsuite/ChangeLog:

            PR c++/41437
            PR c++/47346
            * g++.dg/cpp2a/concepts-using2.C: Adjust.
            * g++.dg/lto/20081219_1.C: Adjust.
            * g++.dg/lto/20091002-1_0.C: Adjust.
            * g++.dg/lto/pr65475c_0.C: Adjust.
            * g++.dg/opt/dump1.C: Adjust.
            * g++.dg/other/pr53574.C: Adjust.
            * g++.dg/template/access30.C: New test.
            * g++.dg/template/access31.C: New test.
            * g++.dg/wrappers/wrapper-around-type-pack-expansion.C: Adjust.

    libstdc++-v3/ChangeLog:

            PR libstdc++/94003
            * testsuite/20_util/is_constructible/94003.cc: New test.

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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
                   ` (15 preceding siblings ...)
  2020-06-16 12:59 ` cvs-commit at gcc dot gnu.org
@ 2020-06-16 12:59 ` cvs-commit at gcc dot gnu.org
  2020-06-16 13:02 ` ppalka at gcc dot gnu.org
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-06-16 12:59 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #19 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Patrick Palka <ppalka@gcc.gnu.org>:

https://gcc.gnu.org/g:668ef28fbb44c1e51d9c5a35b421903c98d87b03

commit r11-1351-g668ef28fbb44c1e51d9c5a35b421903c98d87b03
Author: Patrick Palka <ppalka@redhat.com>
Date:   Tue Jun 16 08:21:36 2020 -0400

    c++: Clean up previous change [PR41437]

    The previous patch mostly avoided making any changes that had no
    functional impact, such as adjusting now-outdated comments and
    performing renamings.  Such changes have been consolidated to this
    followup patch for easier review.

    The main change here is that we now reuse struct deferred_access_check
    as the element type of the vector TI_TYPEDEFS_NEEDING_ACCESS_CHECKING
    (now renamed to TI_DEFERRED_ACCESS_CHECKS, since it may contain any kind
    of access check).

    gcc/cp/ChangeLog:

            PR c++/41437
            PR c++/47346
            * cp-tree.h (qualified_typedef_usage_s): Delete.
            (qualified_typedef_usage_t): Delete.
            (deferred_access_check): Move up in file.
            (tree_template_info::typedefs_needing_access_checking): Delete.
            (tree_template_info::deferred_access_checks): New field.
            (TI_TYPEDEFS_NEEDING_ACCESS_CHECKING): Rename to ...
            (TI_DEFERRED_ACCESS_CHECKS): ... this, and adjust accordingly.
            * pt.c (perform_typedefs_access_check): Rename to ...
            (perform_instantiation_time_access_checks): ... this, and adjust
            accordingly.  Remove unnecessary tree tests.
            (instantiate_class_template_1): Adjust accordingly.
            (instantiate_decl): Likewise.
            * semantics.c (enforce_access): Likewise.

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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
                   ` (16 preceding siblings ...)
  2020-06-16 12:59 ` cvs-commit at gcc dot gnu.org
@ 2020-06-16 13:02 ` ppalka at gcc dot gnu.org
  2020-06-16 13:03 ` ppalka at gcc dot gnu.org
  2021-08-05  7:58 ` pinskia at gcc dot gnu.org
  19 siblings, 0 replies; 21+ messages in thread
From: ppalka at gcc dot gnu.org @ 2020-06-16 13:02 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED
                 CC|                            |ppalka at gcc dot gnu.org
           Assignee|dodji at gcc dot gnu.org           |ppalka at gcc dot gnu.org

--- Comment #20 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Fixed for GCC 11.

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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
                   ` (17 preceding siblings ...)
  2020-06-16 13:02 ` ppalka at gcc dot gnu.org
@ 2020-06-16 13:03 ` ppalka at gcc dot gnu.org
  2021-08-05  7:58 ` pinskia at gcc dot gnu.org
  19 siblings, 0 replies; 21+ messages in thread
From: ppalka at gcc dot gnu.org @ 2020-06-16 13:03 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |11.0

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

* [Bug c++/47346] access control for nested type is ignored in class template
  2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
                   ` (18 preceding siblings ...)
  2020-06-16 13:03 ` ppalka at gcc dot gnu.org
@ 2021-08-05  7:58 ` pinskia at gcc dot gnu.org
  19 siblings, 0 replies; 21+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-08-05  7:58 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tomasz.jankowski at nokia dot com

--- Comment #21 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
*** Bug 80877 has been marked as a duplicate of this bug. ***

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

end of thread, other threads:[~2021-08-05  7:58 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-18 15:42 [Bug c++/47346] New: access control for nested type is ignored in class template redi at gcc dot gnu.org
2011-03-11 18:04 ` [Bug c++/47346] " redi at gcc dot gnu.org
2011-06-13  9:11 ` redi at gcc dot gnu.org
2011-07-28 18:25 ` dodji at gcc dot gnu.org
2011-08-11 18:42 ` dodji at gcc dot gnu.org
2011-08-11 18:54 ` dodji at gcc dot gnu.org
2011-08-17 15:43 ` dodji at gcc dot gnu.org
2011-09-29  6:11 ` paolo.carlini at oracle dot com
2011-09-30 10:34 ` dodji at seketeli dot org
2011-09-30 10:44 ` paolo.carlini at oracle dot com
2011-09-30 12:06 ` dodji at seketeli dot org
2011-10-18 11:32 ` paolo.carlini at oracle dot com
2013-03-27 13:28 ` jason at gcc dot gnu.org
2013-07-06 23:42 ` paolo.carlini at oracle dot com
2013-11-12  1:07 ` redi at gcc dot gnu.org
2013-11-19 16:28 ` paolo.carlini at oracle dot com
2020-06-16 12:59 ` cvs-commit at gcc dot gnu.org
2020-06-16 12:59 ` cvs-commit at gcc dot gnu.org
2020-06-16 13:02 ` ppalka at gcc dot gnu.org
2020-06-16 13:03 ` ppalka at gcc dot gnu.org
2021-08-05  7:58 ` pinskia 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).