Lines Matching +full:libcxx +full:- +full:build

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
71 unofficial build of the standard.
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``.
162 updated list from the failed build at
163 `Buildkite <https://buildkite.com/llvm-project/libcxx-ci>`__.
164 Look for the failed build and select the ``artifacts`` tab. There, download the
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
179 the build results are visible in the review on GitHub. Please make sure
183 The build is started for every commit added to a Pull Request. A complete CI
186 * The build is cancelled when a new commit is pushed to a PR that is already running CI.
187 * The build is done in several stages and cancelled when a stage fails.
192 are used to build libc++ and execute its tests.
196 * use a nightly build of the ``main`` branch of Clang,
202 have the latest nightly build to test recent Clang changes, ask in the
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
215 moment this build is a soft error and doesn't fail the build.
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
220 * ``Documentation`` builds the documentation. (This is done early in the build
222 * ``C++<version>`` these build steps test the various C++ versions, making sure all
224 * ``Clang <version>`` these build steps test whether the changes work with all
226 * ``Booststrapping build`` builds Clang using the revision of the patch and
227 uses that Clang version to build and test libc++. This validates the current
230 When a crash occurs in this build, the crash reproducer is available as an
233 * ``Modular build`` tests libc++ using Clang modules [#]_.
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
274 Contains the build script executed on Buildkite. This script can be executed
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