http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10112
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|SUSPENDED |RESOLVED Resolution|--- |INVALID --- Comment #19 from Jonathan Wakely <redi at gcc dot gnu.org> --- http://open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#993 clarifies that the compiler can instantiate templates at the end of the file, so you need to use explicit instantiations to control order of initialization.