[Bug c++/54309] [C++11] type alias accessing class template typename
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54309 Paolo Carlini changed: What|Removed |Added Status|NEW |RESOLVED Known to work||4.8.0, 4.9.0 Resolution||DUPLICATE --- Comment #6 from Paolo Carlini 2013-05-03 09:54:21 UTC --- Thus this works in the released 4.8.0. *** This bug has been marked as a duplicate of bug 53540 ***
[Bug c++/54309] [C++11] type alias accessing class template typename
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54309 --- Comment #5 from Paolo Carlini 2012-08-20 12:12:44 UTC --- Ah great, I suspected that.
[Bug c++/54309] [C++11] type alias accessing class template typename
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54309 --- Comment #4 from dodji at seketeli dot org 2012-08-20 12:10:27 UTC --- I think this is the same problem as PR c++/53540 for which a candidate patch was sent to the gcc-patches mailing list [1]. So unless I am mistaken, I am marking this bug as a duplicate of the former. [1]: http://gcc.gnu.org/ml/gcc-patches/2012-08/msg0.html
[Bug c++/54309] [C++11] type alias accessing class template typename
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54309 Paolo Carlini changed: What|Removed |Added CC||dodji at gcc dot gnu.org --- Comment #3 from Paolo Carlini 2012-08-18 09:40:35 UTC --- Maybe Dodji is willing to have a look to this one too.
[Bug c++/54309] [C++11] type alias accessing class template typename
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54309 Andrew Pinski changed: What|Removed |Added Summary|[C++11] type alias |[C++11] type alias |accessing class template|accessing class template |enum type member fails |typename --- Comment #2 from Andrew Pinski 2012-08-18 06:05:37 UTC --- Also enum is not the only issue, it is an issue with any subnames of the type alias. template struct Foo { typedef int Stuff; }; template void func() { typename Foo::Stuff a = 1; a = a; using test = Foo; typename test::Stuff b; b = b; typedef Foo test2; typename test2::Stuff c = 2; c = c; } int main() { func(); { Foo::Stuff a = 1; a = a; using test = Foo; typename test::Stuff b = 2; b = b; typedef Foo test2; typename test2::Stuff c = 3; c = c; } }