GCC 3.4.0 dates back to 2004, and by now everyone really should have updated their stuff to newer G++ / C++ standards. ;-)
Committed. Gerald Index: bugs/index.html =================================================================== RCS file: /cvs/gcc/wwwdocs/htdocs/bugs/index.html,v retrieving revision 1.118 diff -u -r1.118 index.html --- bugs/index.html 21 Nov 2015 15:41:17 -0000 1.118 +++ bugs/index.html 19 Mar 2017 07:49:15 -0000 @@ -697,78 +697,7 @@ However, some non-conforming constructs are allowed when the command-line option <code>-fpermissive</code> is used.</p> -<h4><a name="new34">New in GCC 3.4.0</a></h4> - -<p>The new parser brings a lot of improvements, especially concerning -name-lookup.</p> - -<ul> - -<li>The "implicit typename" extension got removed (it was already deprecated -since GCC 3.1), so that the following code is now rejected, see [14.6]: -<blockquote><pre> -template <typename> struct A -{ - typedef int X; -}; - -template <typename T> struct B -{ - A<T>::X x; // error - typename A<T>::X y; // OK -}; - -B<void> b; -</pre></blockquote></li> - -<li>For similar reasons, the following code now requires the -<code>template</code> keyword, see [14.2]: -<blockquote><pre> -template <typename> struct A -{ - template <int> struct X {}; -}; - -template <typename T> struct B -{ - typename A<T>::X<0> x; // error - typename A<T>::template X<0> y; // OK -}; - -B<void> b; -</pre></blockquote></li> - -<li>We now have two-stage name-lookup, so that the following code is -rejected, see [14.6]/9: -<blockquote><pre> -template <typename T> int foo() -{ - return i; // error -} -</pre></blockquote></li> - -<li>This also affects members of base classes, see [14.6.2]: -<blockquote><pre> -template <typename> struct A -{ - int i, j; -}; - -template <typename T> struct B : A<T> -{ - int foo1() { return i; } // error - int foo2() { return this->i; } // OK - int foo3() { return B<T>::i; } // OK - int foo4() { return A<T>::i; } // OK - - using A<T>::j; - int foo5() { return j; } // OK -}; -</pre></blockquote></li> - -</ul> - -<p>In addition to the problems listed above, the manual contains a section on +<p>The manual contains a section on <a href="https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Misunderstandings.html"> Common Misunderstandings with GNU C++</a>.</p>