Consider: template <typename> void f() {} extern template void f<int>();
When compiled with: g++ -pedantic -std=c++0x -c t.cpp the following warning is emitted: warning: ISO C++ forbids the use of extern on explicit instantiations Since extern template has already been integrated into the C++0x working paper, I think this warning should not be emitted when using -std=c++0x, not even with -pedantic. -- Summary: unjustified warning for "extern template" when using - pedantic -std=c++0x Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc-bugzilla at contacts dot eelis dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36655