https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110000
--- Comment #4 from Nikolas Klauser <nikolasklauser at berlin dot de> --- (In reply to Andrew Pinski from comment #3) > I am getting a feeling this attribute is well defined enough. > > Is it really just supposed to block explicit instantiation of templates? > Is there a decent set of testcases that can be used to match up the > implementations here? Because I suspect without those it will be implemented > slightly different. The attribute was originally implemented in https://reviews.llvm.org/D51789. There are also a few test cases, but I don't know if they are enough. If there are any cases which aren't clear I'm happy to work them out (and maybe update the implementation in clang if necessary). Yes, it is only to block explicit instantiation of member functions (and to tell the compiler that they have to be instantiated implicitly, obviously).