[PATCH] D31725: [libc++] Add _LIBCPP_DISABLE_EXTERN_TEMPLATE config option
Shoaib Meenai via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Apr 13 13:26:18 PDT 2017
This revision was automatically updated to reflect the committed changes.
Closed by commit rL300246: [libc++] Add _LIBCPP_DISABLE_EXTERN_TEMPLATE config option (authored by smeenai).
Changed prior to commit:
https://reviews.llvm.org/D31725?vs=95189&id=95190#toc
Repository:
rL LLVM
https://reviews.llvm.org/D31725
Files:
libcxx/trunk/docs/UsingLibcxx.rst
libcxx/trunk/include/__config
Index: libcxx/trunk/docs/UsingLibcxx.rst
===================================================================
--- libcxx/trunk/docs/UsingLibcxx.rst
+++ libcxx/trunk/docs/UsingLibcxx.rst
@@ -146,6 +146,11 @@
build of libc++ which does not export any symbols, which can be useful when
building statically for inclusion into another library.
+**_LIBCPP_DISABLE_EXTERN_TEMPLATE**:
+ This macro is used to disable extern template declarations in the libc++
+ headers. The intended use case is for clients who wish to use the libc++
+ headers without taking a dependency on the libc++ library itself.
+
**_LIBCPP_ENABLE_TUPLE_IMPLICIT_REDUCED_ARITY_EXTENSION**:
This macro is used to re-enable an extension in `std::tuple` which allowed
it to be implicitly constructed from fewer initializers than contained
Index: libcxx/trunk/include/__config
===================================================================
--- libcxx/trunk/include/__config
+++ libcxx/trunk/include/__config
@@ -856,6 +856,11 @@
# endif
#endif
+#ifdef _LIBCPP_DISABLE_EXTERN_TEMPLATE
+#define _LIBCPP_EXTERN_TEMPLATE(...)
+#define _LIBCPP_EXTERN_TEMPLATE2(...)
+#endif
+
#ifndef _LIBCPP_EXTERN_TEMPLATE
#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
#endif
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31725.95190.patch
Type: text/x-patch
Size: 1267 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170413/1849befa/attachment.bin>
More information about the cfe-commits
mailing list