[libcxx-commits] [PATCH] D103960: [libc++] Towards a simpler extern template story in libc++
Louis Dionne via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Jun 9 06:01:28 PDT 2021
ldionne created this revision.
Herald added subscribers: arichardson, mgorny.
ldionne requested review of this revision.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.
The flexibility around extern template instantiation declarations in
libc++ result in a very complicated model, especially when support for
slightly different configurations (like the debug mode or assertions
in the dylib) are taken into account. That results in unexpected bugs
like http://llvm.org/PR50534 (and there have been multiple similar
bugs in the past, notably around the debug mode).
This patch gets rid of the _LIBCPP_DISABLE_EXTERN_TEMPLATE knob, which
I don't think is fundamental. Indeed, the motivation for that knob is to
avoid taking a dependency on the library, however that can be done better
by linking against the static library instead.
Should fix http://llvm.org/PR50534.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D103960
Files:
libcxx/cmake/caches/Generic-assertions.cmake
libcxx/docs/DesignDocs/VisibilityMacros.rst
libcxx/docs/ReleaseNotes.rst
libcxx/docs/UsingLibcxx.rst
libcxx/include/__config
libcxx/include/__locale
libcxx/include/algorithm
libcxx/include/fstream
libcxx/include/istream
libcxx/include/locale
libcxx/include/ostream
libcxx/include/sstream
libcxx/include/streambuf
libcxx/include/string
libcxx/include/valarray
libcxx/include/vector
libcxx/src/string.cpp
libcxx/utils/ci/buildkite-pipeline.yml
libcxx/utils/ci/run-buildbot
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D103960.350871.patch
Type: text/x-patch
Size: 33220 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210609/7d9968b7/attachment-0001.bin>
More information about the libcxx-commits
mailing list