[libc++] Use proper template terminology. NFC

It's supposed to be "class template" and "function template" instead of
"template class" and "template function".

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@307954 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Shoaib Meenai
2017-07-13 20:47:24 +00:00
parent de79ab6e4f
commit a3c3d5f6c1

View File

@@ -90,13 +90,13 @@ Visibility Macros
The macro has an empty definition with GCC. The macro has an empty definition with GCC.
**Windows Behavior**: `extern template` and `dllexport` are fundamentally **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 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++ inside headers. This macro therefore expands to `dllimport` outside of libc++
but nothing inside of it (rather than expanding to `dllexport`); instead, the but nothing inside of it (rather than expanding to `dllexport`); instead, the
explicit instantiations themselves are marked as exported. Note that this 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 regular import/export semantics, and applying `dllexport` directly to the
extern template declaration is the correct thing to do for them. extern template declaration is the correct thing to do for them.