http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10618
--- Comment #10 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-09-21 15:38:49 UTC --- (In reply to comment #9) > > The second diagnostic from G++ does not make sense. Clang gives the correct > diagnostics in that case. Ah, that's because you're using 4.5.2 -- stop it! ;) If you use 4.6 the diagnostics are almost exactly the same as clang's, with and without 'typename' If you use 4.7 and instantiate the template the diagnostic is better than clang's