llvm-project/libcxx/docs
Louis Dionne 2ae52326da [libc++] Towards a simpler extern template story in 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 was to
avoid taking a dependency on the library, however that can be done better
by linking against the static library instead. And in fact, some parts of
the headers will always depend on things defined in the library, which
defeats the original goal of _LIBCPP_DISABLE_EXTERN_TEMPLATE.

Differential Revision: https://reviews.llvm.org/D103960
2022-06-08 22:05:07 -04:00
..
DesignDocs [libc++] Towards a simpler extern template story in libc++ 2022-06-08 22:05:07 -04:00
Helpers [libc++][doc] Use issue labels. 2021-10-15 17:30:33 +02:00
Status [libc++] Implement ranges::find_first_of 2022-06-06 22:29:02 +02:00
AddingNewCIJobs.rst [libc++] Add timeout to BuildKite jobs 2021-08-09 15:31:04 -04:00
BuildingLibcxx.rst [libc++] Overhaul how we select the ABI library 2022-05-13 08:32:09 -04:00
CMakeLists.txt
Contributing.rst [libc++] Fix modules builds when features are removed 2022-06-08 18:48:25 -04:00
FeatureTestMacroTable.rst [libc++] Removes __cpp_lib_monadic_optional. 2022-05-31 19:18:34 +02:00
README.txt [libc++] NFC: Add note about how the libcxx website gets updated 2021-07-05 10:25:33 -04:00
ReleaseNotes.rst [libc++] Towards a simpler extern template story in libc++ 2022-06-08 22:05:07 -04:00
TestingLibcxx.rst [libc++] Make the Debug mode a configuration-time only option 2022-06-07 16:33:53 -04:00
UsingLibcxx.rst [libc++] Towards a simpler extern template story in libc++ 2022-06-08 22:05:07 -04:00
conf.py Bump the trunk major version to 15 2022-02-01 23:54:52 -08:00
index.rst [libcxx] [ci] Add a i386 Windows configuration to CI 2022-05-06 10:12:04 +03:00

README.txt

libc++ Documentation
====================

The libc++ documentation is written using the Sphinx documentation generator. It is
currently tested with Sphinx 1.1.3.

To build the documents into html configure libc++ with the following cmake options:

  * -DLLVM_ENABLE_SPHINX=ON
  * -DLIBCXX_INCLUDE_DOCS=ON

After configuring libc++ with these options the make rule `docs-libcxx-html`
should be available.

The documentation in this directory is published at https://libcxx.llvm.org. It is kept up-to-date
by a build bot: https://lab.llvm.org/buildbot/#/builders/publish-sphinx-docs. If you notice that the
documentation is not updating anymore, please contact one of the maintainers.