This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/24782] [3.4/4.0/4.1/4.2 Regression] wrongly accepted nested private typedef
- From: "mmitchel at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 4 Jan 2006 04:24:00 -0000
- Subject: [Bug c++/24782] [3.4/4.0/4.1/4.2 Regression] wrongly accepted nested private typedef
- References: <bug-24782-8535@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from mmitchel at gcc dot gnu dot org 2006-01-04 04:24 -------
The problem is as follows:
(1) cp_parser_nested_name_specifier_opt defers accessing checking.
(2) In the case that it is parsing tentatively, it creates a
CPP_NESTED_NAME_SPECIFIER token, recording the access checks therein.
(3) However, if the tentative parse succeeds, nothing ever goes back to check
those checks.
The saved checks should also be re-deferred, after the call to
pop_deferring_access_checks, perhaps via pop_to_parent_deferring_access_checks.
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |mark at codesourcery dot com
|dot org |
Status|NEW |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24782