Lines Matching +full:docs +full:- +full:libcxx +full:- +full:html
8 please also read `this document <https://www.llvm.org/docs/Contributing.html>`__ on general rules for
11 If you plan on contributing to libc++, it can be useful to join the ``#libcxx`` channel
14 Looking for pre-existing pull requests
19 filtering pull requests `tagged with libc++ <https://github.com/llvm/llvm-project/pulls?q=is%3Apr+is%3Aopen+label%3Alibc%2B%2B>`__.
23 RFCs for significant user-affecting changes
27 please consider creating a RFC on the `libc++ forum <https://discourse.llvm.org/c/runtimes/libcxx>`_.
49 ---------------
51 - ``libcxx/include/__config`` -- this file contains the commonly used
58 - ``libcxx/test/support/test_macros.h`` -- similar to the above, but for the
63 ----------------
69 - The `LaTeX sources <https://github.com/cplusplus/draft>`_ used to
73 - An `HTML rendered version of the draft <https://eel.is/c++draft/>`_ is
77 - An `alternative <https://github.com/timsong-cpp/cppwp>`_ is available.
80 - When implementing features, there are
86 - The `WG21 redirect service <https://wg21.link/>`_ is a tool to quickly locate
89 - The `paper trail <https://github.com/cplusplus/papers/issues>`_ of
94 - `Feature-Test Macros and Policies
95 <https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations>`_
96 contains information about feature-test macros in C++.
97 It contains a list with all feature-test macros, their versions, and the paper
100 - `cppreference <https://en.cppreference.com/w/>`_ is a good resource
106 Pre-commit check list
109 Before committing or creating a review, please go through this check-list to make
112 - Do you have :ref:`tests <testing>` for every public class and/or function you're adding or modifying?
113 - Did you update the synopsis of the relevant headers?
114 - Did you update the relevant files to track implementation status (in ``docs/Status/``)?
115 - Did you mark all functions and type declarations with the :ref:`proper visibility macro <visibility-macros>`?
116 - Did you add all new named declarations to the ``std`` module?
117 - If you added a header:
119 - Did you add it to ``include/module.modulemap``?
120 - Did you add it to ``include/CMakeLists.txt``?
121 - If it's a public header, did you update ``utils/libcxx/header_information.py``?
123 - Did you add the relevant feature test macro(s) for your feature? Did you update the ``generate_feature_test_macro_components.py`` script with it?
124 - Did you run the ``libcxx-generate-files`` target and verify its output?
125 - If needed, did you add ``_LIBCPP_PUSH_MACROS`` and ``_LIBCPP_POP_MACROS`` to the relevant headers?
139 rule -- for very simple patches, use your judgement. The `"libc++" review group <https://reviews.llvm.org/project/members/64/>`__
141 guidelines -- if you would like to be added to it, please reach out on Discord.
145 - Keep the number of formatting changes in patches minimal.
146 - Provide separate patches for style fixes and for bug fixes or features. Keep in
149 - Keep patches self-contained. Large and/or complicated patches are harder to
152 self-contained sub-tasks.
158 To test whether the lists are up-to-date, please run the target ``check-cxx-abilist``.
159 To regenerate the lists, use the target ``generate-cxx-abilist``.
163 `Buildkite <https://buildkite.com/llvm-project/libcxx-ci>`__.
171 Pre-commit CI
175 ------------
177 Unlike most parts of the LLVM project, libc++ uses a pre-commit CI [#]_. This
178 CI is hosted on `Buildkite <https://buildkite.com/llvm-project/libcxx-ci>`__ and
203 ``#libcxx`` channel on `LLVM's Discord server
207 explaining the benefits of libc++'s pre-commit CI.
210 ------
214 * ``Format`` runs ``clang-format`` and uploads its output as an artifact. At the
216 * ``Generated output`` runs the ``libcxx-generate-files`` build target and
217 tests for non-ASCII characters in libcxx. Some files are excluded since they
238 * ``Windows`` tests libc++ using MinGW and clang-cl.
247 --------------
249 All files of the CI infrastructure are in the directory ``libcxx/utils/ci``.
257 used for the ``main`` and ``release`` branch, it should contain no hard-coded
258 versions. It contains the used versions of Clang, various clang-tools,
264 run-buildbot-container
271 run-buildbot
275 locally or inside ``run-buildbot-container``. The script must be called with
276 the target to test. For example, ``run-buildbot generic-cxx20`` will build
279 .. warning:: This script will overwrite the directory ``<llvm-root>/build/XX``
280 where ``XX`` is the target of ``run-buildbot``.
285 job to the CI. For example, testing the C++17 build with Clang-14 can be done
288 .. code-block:: bash
290 CC=clang-14 CXX=clang++-14 run-buildbot generic-cxx17
292 buildkite-pipeline.yml