* [Bug c++/14777] [3.4/4.0/4.1 Regression] typedef doesn't fully expose base class type
[not found] <bug-14777-28@http.gcc.gnu.org/bugzilla/>
@ 2005-10-30 22:16 ` mmitchel at gcc dot gnu dot org
2006-03-11 3:20 ` [Bug c++/14777] [3.4/4.0/4.1/4.2 " mmitchel at gcc dot gnu dot org
` (16 subsequent siblings)
17 siblings, 0 replies; 18+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-10-30 22:16 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from mmitchel at gcc dot gnu dot org 2005-10-30 22:16 -------
We need new infrastructure to fix accepts-invalid access-control issues in
templates.
I removed the target milestone on this PR once before, but Andrew Pinksi put it
back. Now, I've downgraded this to P5.
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P2 |P5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14777
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/14777] [3.4/4.0/4.1/4.2 Regression] typedef doesn't fully expose base class type
[not found] <bug-14777-28@http.gcc.gnu.org/bugzilla/>
2005-10-30 22:16 ` [Bug c++/14777] [3.4/4.0/4.1 Regression] typedef doesn't fully expose base class type mmitchel at gcc dot gnu dot org
@ 2006-03-11 3:20 ` mmitchel at gcc dot gnu dot org
2007-01-18 2:52 ` [Bug c++/14777] [4.0/4.1/4.2/4.3 " gdr at gcc dot gnu dot org
` (15 subsequent siblings)
17 siblings, 0 replies; 18+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-03-11 3:20 UTC (permalink / raw)
To: gcc-bugs
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.0.3 |4.0.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14777
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/14777] [4.0/4.1/4.2/4.3 Regression] typedef doesn't fully expose base class type
[not found] <bug-14777-28@http.gcc.gnu.org/bugzilla/>
2005-10-30 22:16 ` [Bug c++/14777] [3.4/4.0/4.1 Regression] typedef doesn't fully expose base class type mmitchel at gcc dot gnu dot org
2006-03-11 3:20 ` [Bug c++/14777] [3.4/4.0/4.1/4.2 " mmitchel at gcc dot gnu dot org
@ 2007-01-18 2:52 ` gdr at gcc dot gnu dot org
2007-01-21 21:19 ` pinskia at gcc dot gnu dot org
` (14 subsequent siblings)
17 siblings, 0 replies; 18+ messages in thread
From: gdr at gcc dot gnu dot org @ 2007-01-18 2:52 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from gdr at gcc dot gnu dot org 2007-01-18 02:52 -------
Not to be fixed in GCC-4.0.x
--
gdr at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.0.4 |---
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14777
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/14777] [4.0/4.1/4.2/4.3 Regression] typedef doesn't fully expose base class type
[not found] <bug-14777-28@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2007-01-18 2:52 ` [Bug c++/14777] [4.0/4.1/4.2/4.3 " gdr at gcc dot gnu dot org
@ 2007-01-21 21:19 ` pinskia at gcc dot gnu dot org
2007-02-14 9:29 ` mmitchel at gcc dot gnu dot org
` (13 subsequent siblings)
17 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-01-21 21:19 UTC (permalink / raw)
To: gcc-bugs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.1.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14777
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/14777] [4.0/4.1/4.2/4.3 Regression] typedef doesn't fully expose base class type
[not found] <bug-14777-28@http.gcc.gnu.org/bugzilla/>
` (3 preceding siblings ...)
2007-01-21 21:19 ` pinskia at gcc dot gnu dot org
@ 2007-02-14 9:29 ` mmitchel at gcc dot gnu dot org
2008-07-04 16:31 ` [Bug c++/14777] [4.2/4.3/4.4 " jsm28 at gcc dot gnu dot org
` (12 subsequent siblings)
17 siblings, 0 replies; 18+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2007-02-14 9:29 UTC (permalink / raw)
To: gcc-bugs
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.1.2 |4.1.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14777
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/14777] [4.2/4.3/4.4 Regression] typedef doesn't fully expose base class type
[not found] <bug-14777-28@http.gcc.gnu.org/bugzilla/>
` (4 preceding siblings ...)
2007-02-14 9:29 ` mmitchel at gcc dot gnu dot org
@ 2008-07-04 16:31 ` jsm28 at gcc dot gnu dot org
2009-03-31 16:16 ` [Bug c++/14777] [4.3/4.4/4.5 " jsm28 at gcc dot gnu dot org
` (11 subsequent siblings)
17 siblings, 0 replies; 18+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2008-07-04 16:31 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from jsm28 at gcc dot gnu dot org 2008-07-04 16:30 -------
Closing 4.1 branch.
--
jsm28 at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.1/4.2/4.3/4.4 Regression]|[4.2/4.3/4.4 Regression]
|typedef doesn't fully expose|typedef doesn't fully expose
|base class type |base class type
Target Milestone|4.1.3 |4.2.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14777
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/14777] [4.3/4.4/4.5 Regression] typedef doesn't fully expose base class type
[not found] <bug-14777-28@http.gcc.gnu.org/bugzilla/>
` (5 preceding siblings ...)
2008-07-04 16:31 ` [Bug c++/14777] [4.2/4.3/4.4 " jsm28 at gcc dot gnu dot org
@ 2009-03-31 16:16 ` jsm28 at gcc dot gnu dot org
2009-08-04 12:27 ` rguenth at gcc dot gnu dot org
` (10 subsequent siblings)
17 siblings, 0 replies; 18+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2009-03-31 16:16 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from jsm28 at gcc dot gnu dot org 2009-03-31 16:16 -------
Closing 4.2 branch.
--
jsm28 at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.2/4.3/4.4/4.5 Regression]|[4.3/4.4/4.5 Regression]
|typedef doesn't fully expose|typedef doesn't fully expose
|base class type |base class type
Target Milestone|4.2.5 |4.3.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14777
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/14777] [4.3/4.4/4.5 Regression] typedef doesn't fully expose base class type
[not found] <bug-14777-28@http.gcc.gnu.org/bugzilla/>
` (6 preceding siblings ...)
2009-03-31 16:16 ` [Bug c++/14777] [4.3/4.4/4.5 " jsm28 at gcc dot gnu dot org
@ 2009-08-04 12:27 ` rguenth at gcc dot gnu dot org
2009-11-13 5:41 ` jason at gcc dot gnu dot org
` (9 subsequent siblings)
17 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-08-04 12:27 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from rguenth at gcc dot gnu dot org 2009-08-04 12:26 -------
GCC 4.3.4 is being released, adjusting target milestone.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.3.4 |4.3.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14777
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/14777] [4.3/4.4/4.5 Regression] typedef doesn't fully expose base class type
[not found] <bug-14777-28@http.gcc.gnu.org/bugzilla/>
` (7 preceding siblings ...)
2009-08-04 12:27 ` rguenth at gcc dot gnu dot org
@ 2009-11-13 5:41 ` jason at gcc dot gnu dot org
2009-11-13 7:55 ` dodji at seketeli dot org
` (8 subsequent siblings)
17 siblings, 0 replies; 18+ messages in thread
From: jason at gcc dot gnu dot org @ 2009-11-13 5:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from jason at gcc dot gnu dot org 2009-11-13 05:41 -------
I'm assuming Mark isn't actually working on this bug.
Dodji, this looks like something that the template typedef access control code
you added for 4.5 could deal with, want to take a look?
--
jason at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jason at gcc dot gnu dot
| |org, dodji at gcc dot gnu
| |dot org
AssignedTo|mark at codesourcery dot com|unassigned at gcc dot gnu
| |dot org
Status|ASSIGNED |NEW
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14777
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/14777] [4.3/4.4/4.5 Regression] typedef doesn't fully expose base class type
[not found] <bug-14777-28@http.gcc.gnu.org/bugzilla/>
` (8 preceding siblings ...)
2009-11-13 5:41 ` jason at gcc dot gnu dot org
@ 2009-11-13 7:55 ` dodji at seketeli dot org
2009-11-13 10:37 ` dodji at gcc dot gnu dot org
` (7 subsequent siblings)
17 siblings, 0 replies; 18+ messages in thread
From: dodji at seketeli dot org @ 2009-11-13 7:55 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from dodji at seketeli dot org 2009-11-13 07:55 -------
Subject: Re: [4.3/4.4/4.5 Regression] typedef doesn't fully
expose base class type
> Dodji, this looks like something that the template typedef access control code
> you added for 4.5 could deal with, want to take a look?
Sure, I'll look at it.
Thanks.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14777
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/14777] [4.3/4.4/4.5 Regression] typedef doesn't fully expose base class type
[not found] <bug-14777-28@http.gcc.gnu.org/bugzilla/>
` (9 preceding siblings ...)
2009-11-13 7:55 ` dodji at seketeli dot org
@ 2009-11-13 10:37 ` dodji at gcc dot gnu dot org
2009-11-13 15:08 ` mark at codesourcery dot com
` (6 subsequent siblings)
17 siblings, 0 replies; 18+ messages in thread
From: dodji at gcc dot gnu dot org @ 2009-11-13 10:37 UTC (permalink / raw)
To: gcc-bugs
--
dodji at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |dodji at gcc dot gnu dot org
|dot org |
Status|NEW |ASSIGNED
Last reconfirmed|2005-09-10 02:26:30 |2009-11-13 10:37:17
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14777
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/14777] [4.3/4.4/4.5 Regression] typedef doesn't fully expose base class type
[not found] <bug-14777-28@http.gcc.gnu.org/bugzilla/>
` (10 preceding siblings ...)
2009-11-13 10:37 ` dodji at gcc dot gnu dot org
@ 2009-11-13 15:08 ` mark at codesourcery dot com
2009-11-16 21:35 ` dodji at gcc dot gnu dot org
` (5 subsequent siblings)
17 siblings, 0 replies; 18+ messages in thread
From: mark at codesourcery dot com @ 2009-11-13 15:08 UTC (permalink / raw)
To: gcc-bugs
------- Comment #15 from mark at codesourcery dot com 2009-11-13 15:07 -------
Subject: Re: [4.3/4.4/4.5 Regression] typedef doesn't fully
expose base class type
jason at gcc dot gnu dot org wrote:
> I'm assuming Mark isn't actually working on this bug.
Sad, but true.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14777
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/14777] [4.3/4.4/4.5 Regression] typedef doesn't fully expose base class type
[not found] <bug-14777-28@http.gcc.gnu.org/bugzilla/>
` (11 preceding siblings ...)
2009-11-13 15:08 ` mark at codesourcery dot com
@ 2009-11-16 21:35 ` dodji at gcc dot gnu dot org
2009-11-16 22:13 ` dodji at seketeli dot org
` (4 subsequent siblings)
17 siblings, 0 replies; 18+ messages in thread
From: dodji at gcc dot gnu dot org @ 2009-11-16 21:35 UTC (permalink / raw)
To: gcc-bugs
------- Comment #16 from dodji at gcc dot gnu dot org 2009-11-16 21:35 -------
Created an attachment (id=19025)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19025&action=view)
Fix candidate
I am testing this patch ...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14777
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/14777] [4.3/4.4/4.5 Regression] typedef doesn't fully expose base class type
[not found] <bug-14777-28@http.gcc.gnu.org/bugzilla/>
` (12 preceding siblings ...)
2009-11-16 21:35 ` dodji at gcc dot gnu dot org
@ 2009-11-16 22:13 ` dodji at seketeli dot org
2009-11-23 13:30 ` dodji at gcc dot gnu dot org
` (3 subsequent siblings)
17 siblings, 0 replies; 18+ messages in thread
From: dodji at seketeli dot org @ 2009-11-16 22:13 UTC (permalink / raw)
To: gcc-bugs
------- Comment #17 from dodji at seketeli dot org 2009-11-16 22:13 -------
Subject: Re: [4.3/4.4/4.5 Regression] typedef doesn't fully
expose base class type
Patch sent to http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00813.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14777
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/14777] [4.3/4.4/4.5 Regression] typedef doesn't fully expose base class type
[not found] <bug-14777-28@http.gcc.gnu.org/bugzilla/>
` (13 preceding siblings ...)
2009-11-16 22:13 ` dodji at seketeli dot org
@ 2009-11-23 13:30 ` dodji at gcc dot gnu dot org
2009-11-23 13:44 ` [Bug c++/14777] [4.3/4.4/ " dodji at gcc dot gnu dot org
` (2 subsequent siblings)
17 siblings, 0 replies; 18+ messages in thread
From: dodji at gcc dot gnu dot org @ 2009-11-23 13:30 UTC (permalink / raw)
To: gcc-bugs
------- Comment #18 from dodji at gcc dot gnu dot org 2009-11-23 13:30 -------
Subject: Bug 14777
Author: dodji
Date: Mon Nov 23 13:29:50 2009
New Revision: 154443
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=154443
Log:
Fix PR c++/14777
gcc/cp/ChangeLog:
PR c++/14777
* cp-tree.def <TEMPLATE_INFO>: Declare new kind of tree
node.
* cp-tree.h (struct tree_template_info,
struct qualified_typedef_usage_s): New.
(cp_tree_node_structure_enum): add TS_CP_TEMPLATE_INFO.
(union lang_tree_node): Add template_info.
(TI_TEMPLATE, TI_ARGS, TI_TYPEDEFS_NEEDING_ACCESS_CHECKING):
Adjust.
(build_template_info): Declare.
(get_types_needing_access_check): Adjust return type.
(add_typedef_to_current_template_for_access_check): Declare.
* cp-objcp-common.c (cp_tree_size): Handle TEMPLATE_INFO.
* semantics.c (add_typedef_to_current_template_for_access_check):
Split from ...
(check_accessibility_of_qualified_id): ... here.
* decl.c (make_typename_type): Use it.
* pt.c (build_template_info): Define.
(check_explicit_specialization, find_parameter_packs_r,
push_template_decl_real, lookup_template_class,
for_each_template_parm_r, tsubst_decl, tsubst): Use
build_template_info.
(get_types_needing_access_check): Adjust return type.
(append_type_to_template_for_access_check_1): Record the
location of the usage point of the typedef. Adjust to TEMPLATE_INFO.
(append_type_to_template_for_access_check): Add new location
parameter. Pass it to append_type_to_template_for_access_check_1.
Adjust to TEMPLATE_INFO.
(perform_typedefs_access_check): Temporarily set input_location to
the usage point of the typedef we are checking access for. Adjust
to new TEMPLATE_INFO tree node.
* tree.c (bind_template_template_parm): Use build_template_info.
* call.c (add_template_candidate_real): Likewise.
* decl.c (grokfndecl): Likewise.
(cp_tree_node_structure): Handle TEMPLATE_INFO.
gcc/testsuite/ChangeLog:
PR c++/14777
* g++.dg/template/typedef13.C: Adjust.
* g++.dg/template/typedef19.C: Adjust.
* g++.dg/template/typedef20.C: Adjust.
* g++.dg/template/typedef22.C: New test.
Added:
trunk/gcc/testsuite/g++.dg/template/typedef22.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c
trunk/gcc/cp/cp-objcp-common.c
trunk/gcc/cp/cp-tree.def
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/semantics.c
trunk/gcc/cp/tree.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/template/typedef13.C
trunk/gcc/testsuite/g++.dg/template/typedef19.C
trunk/gcc/testsuite/g++.dg/template/typedef20.C
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14777
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/14777] [4.3/4.4/ Regression] typedef doesn't fully expose base class type
[not found] <bug-14777-28@http.gcc.gnu.org/bugzilla/>
` (14 preceding siblings ...)
2009-11-23 13:30 ` dodji at gcc dot gnu dot org
@ 2009-11-23 13:44 ` dodji at gcc dot gnu dot org
2009-11-23 13:46 ` dodji at gcc dot gnu dot org
2009-11-23 15:41 ` jason at gcc dot gnu dot org
17 siblings, 0 replies; 18+ messages in thread
From: dodji at gcc dot gnu dot org @ 2009-11-23 13:44 UTC (permalink / raw)
To: gcc-bugs
------- Comment #19 from dodji at gcc dot gnu dot org 2009-11-23 13:44 -------
This should be fixed in 4.5. Adjusting the Regression tag.
Not planning to fix in 4.3/44.
--
dodji at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.3/4.4/4.5 Regression] |[4.3/4.4/ Regression]
|typedef doesn't fully expose|typedef doesn't fully expose
|base class type |base class type
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14777
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/14777] [4.3/4.4/ Regression] typedef doesn't fully expose base class type
[not found] <bug-14777-28@http.gcc.gnu.org/bugzilla/>
` (15 preceding siblings ...)
2009-11-23 13:44 ` [Bug c++/14777] [4.3/4.4/ " dodji at gcc dot gnu dot org
@ 2009-11-23 13:46 ` dodji at gcc dot gnu dot org
2009-11-23 15:41 ` jason at gcc dot gnu dot org
17 siblings, 0 replies; 18+ messages in thread
From: dodji at gcc dot gnu dot org @ 2009-11-23 13:46 UTC (permalink / raw)
To: gcc-bugs
--
dodji at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|dodji at gcc dot gnu dot org|unassigned at gcc dot gnu
| |dot org
Status|ASSIGNED |NEW
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14777
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug c++/14777] [4.3/4.4/ Regression] typedef doesn't fully expose base class type
[not found] <bug-14777-28@http.gcc.gnu.org/bugzilla/>
` (16 preceding siblings ...)
2009-11-23 13:46 ` dodji at gcc dot gnu dot org
@ 2009-11-23 15:41 ` jason at gcc dot gnu dot org
17 siblings, 0 replies; 18+ messages in thread
From: jason at gcc dot gnu dot org @ 2009-11-23 15:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #20 from jason at gcc dot gnu dot org 2009-11-23 15:40 -------
If you don't think it's worth fixing on the older branches, the right thing to
do is set the Target Milestone to the release where it will be fixed, and then
close the bug as fixed.
--
jason at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Target Milestone|4.3.5 |4.5.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14777
^ permalink raw reply [flat|nested] 18+ messages in thread