[Bug c++/86823] [7/8/9 Regression] private member template struct/class is publicly accessible

aoliva at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Nov 17 01:38:00 GMT 2018


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

Alexandre Oliva <aoliva at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aoliva at gcc dot gnu.org

--- Comment #4 from Alexandre Oliva <aoliva at gcc dot gnu.org> ---
I've just spent quite some time debugging this.  The problem, summed up, is
that the firewall is introduced after the access check of the template id is
deferred, but when we save the resolved token along with deferred checks, we
take only the access checks pushed within the firewall.  The deferred check
left upstack is eventually discarded, but the resolved id is used.


More information about the Gcc-bugs mailing list