mirror of
https://github.com/llvm-mirror/libcxx.git
synced 2025-10-21 23:30:38 +08:00
[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:
@@ -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.
|
||||
|
||||
|
Reference in New Issue
Block a user