Author: smeenai Date: Thu Jul 13 13:47:24 2017 New Revision: 307954 URL: http://llvm.org/viewvc/llvm-project?rev=307954&view=rev Log: [libc++] Use proper template terminology. NFC
It's supposed to be "class template" and "function template" instead of "template class" and "template function". Modified: libcxx/trunk/docs/DesignDocs/VisibilityMacros.rst Modified: libcxx/trunk/docs/DesignDocs/VisibilityMacros.rst URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/docs/DesignDocs/VisibilityMacros.rst?rev=307954&r1=307953&r2=307954&view=diff ============================================================================== --- libcxx/trunk/docs/DesignDocs/VisibilityMacros.rst (original) +++ libcxx/trunk/docs/DesignDocs/VisibilityMacros.rst Thu Jul 13 13:47:24 2017 @@ -90,13 +90,13 @@ Visibility Macros The macro has an empty definition with GCC. **Windows Behavior**: `extern template` and `dllexport` are fundamentally - incompatible *on a template class* on Windows; the former suppresses + incompatible *on a class template* on Windows; the former suppresses instantiation, while the latter forces it. Specifying both on the same - declaration makes the template class be instantiated, which is not desirable + declaration makes the class template be instantiated, which is not desirable inside headers. This macro therefore expands to `dllimport` outside of libc++ but nothing inside of it (rather than expanding to `dllexport`); instead, the explicit instantiations themselves are marked as exported. Note that this - applies *only* to extern template *classes*. Extern template *functions* obey + applies *only* to extern *class* templates. Extern *function* templates obey regular import/export semantics, and applying `dllexport` directly to the extern template declaration is the correct thing to do for them. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits