[libcxx-commits] [PATCH] D92300: [libc++] [docs] Update and move NOTES.txt to docs/Contributing.rst.

Marek Kurdej via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Nov 30 01:02:04 PST 2020


curdeius created this revision.
curdeius added a reviewer: ldionne.
Herald added subscribers: libcxx-commits, arphaman.
Herald added a project: libc++.
Herald added a reviewer: libc++.
curdeius requested review of this revision.

Also, add notes about exporting ABI symbols.
Later, we can add notes about using git-clang-format before sending a patch for review.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D92300

Files:
  libcxx/NOTES.TXT
  libcxx/docs/Contributing.rst
  libcxx/docs/index.rst


Index: libcxx/docs/index.rst
===================================================================
--- libcxx/docs/index.rst
+++ libcxx/docs/index.rst
@@ -38,6 +38,7 @@
    UsingLibcxx
    BuildingLibcxx
    TestingLibcxx
+   Contributing
    Cxx1yStatus
    Cxx1zStatus
    Cxx2aStatus
Index: libcxx/docs/Contributing.rst
===================================================================
--- /dev/null
+++ libcxx/docs/Contributing.rst
@@ -0,0 +1,46 @@
+.. _ContributingToLibcxx:
+
+======================
+Contributing to libc++
+======================
+
+.. contents::
+  :local:
+
+Please read `this document <https://www.llvm.org/docs/Contributing.html>`__ on general rules to contribute to LLVM projects.
+
+Tasks and processes
+===================
+
+This file contains notes about various tasks and processes specific to libc++.
+
+Post-Release TODO
+=================
+
+After branching for an LLVM release:
+
+1. Update ``_LIBCPP_VERSION`` in ``include/__config``
+2. Update the ``include/__libcpp_version`` file
+3. Update the version number in ``docs/conf.py``
+
+Adding a new header TODO
+========================
+
+When adding a new header to libc++:
+
+1. Add a test under ``test/libcxx`` that the new header defines ``_LIBCPP_VERSION``. See ``test/libcxx/algorithms/version.pass.cpp`` for an example.
+2. Update the following test files to include the new header:
+
+  * ``test/libcxx/double_include.sh.cpp``
+  * ``test/libcxx/min_max_macros.compile.pass.cpp``
+  * ``test/libcxx/no_assert_include.compile.pass.cpp``
+
+3. Create a submodule in ``include/module.modulemap`` for the new header.
+4. Update the ``include/CMakeLists.txt`` file to include the new header.
+
+Exporting new symbols from the library
+======================================
+
+When exporting new symbols from libc++, one must update the ABI lists located in ``lib/abi``.
+To test whether the lists are up-to-date, please run the target ``check-cxx-abilist``.
+To regenerate the lists, use the target ``generate-cxx-abilist``.
Index: libcxx/NOTES.TXT
===================================================================
--- libcxx/NOTES.TXT
+++ libcxx/NOTES.TXT
@@ -1,28 +1 @@
-//===---------------------------------------------------------------------===//
-// Notes relating to various libc++ tasks
-//===---------------------------------------------------------------------===//
-
-This file contains notes about various libc++ tasks and processes.
-
-//===---------------------------------------------------------------------===//
-// Post-Release TODO
-//===---------------------------------------------------------------------===//
-
-These notes contain a list of things that must be done after branching for
-an LLVM release.
-
-1. Update _LIBCPP_VERSION in `__config`
-2. Update the __libcpp_version file.
-3. Update the version number in `docs/conf.py`
-
-//===---------------------------------------------------------------------===//
-// Adding a new header TODO
-//===---------------------------------------------------------------------===//
-
-These notes contain a list of things that must be done upon adding a new header
-to libc++.
-
-1. Add a test under `test/libcxx` that the header defines `_LIBCPP_VERSION`.
-2. Update `test/libcxx/double_include.sh.cpp` to include the new header.
-3. Create a submodule in `include/module.modulemap` for the new header.
-4. Update the include/CMakeLists.txt file to include the new header.
+Please see docs/Contributing.rst.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D92300.308280.patch
Type: text/x-patch
Size: 3474 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20201130/c959953a/attachment.bin>


More information about the libcxx-commits mailing list