http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55685
--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> 2012-12-14 10:48:40 UTC --- Reduced. Hope I haven't turned it into something invalid. typedef unsigned int size_t; namespace base { template < size_t Size, size_t ByteAlignment > struct AlignedMemory; template < typename Type > struct StaticMemorySingletonTraits { }; template < typename Type > base::AlignedMemory < sizeof (Type), 0 > StaticMemorySingletonTraits < Type >::dead_; }