[libc++] Use proper template terminology. NFC

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

llvm-svn: 307954
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 982060b0a484ee7ad6628c0273b78f951e486baa
diff --git a/docs/DesignDocs/VisibilityMacros.rst b/docs/DesignDocs/VisibilityMacros.rst
index 694882d..20665cd 100644
--- a/docs/DesignDocs/VisibilityMacros.rst
+++ b/docs/DesignDocs/VisibilityMacros.rst
@@ -90,13 +90,13 @@
   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.