[libc-commits] [PATCH] D136961: [libc] Add a contributing guide to the docs.
Siva Chandra via Phabricator via libc-commits
libc-commits at lists.llvm.org
Wed Nov 2 08:02:35 PDT 2022
This revision was automatically updated to reflect the committed changes.
Closed by commit rGa2a87ee7e9cd: [libc] Add a contributing guide to the docs. (authored by sivachandra).
Changed prior to commit:
https://reviews.llvm.org/D136961?vs=471577&id=472615#toc
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D136961/new/
https://reviews.llvm.org/D136961
Files:
libc/docs/clang_tidy_checks.rst
libc/docs/contributing.rst
libc/docs/index.rst
libc/docs/math.rst
Index: libc/docs/math.rst
===================================================================
--- libc/docs/math.rst
+++ libc/docs/math.rst
@@ -1,3 +1,5 @@
+.. _math:
+
==============
Math Functions
==============
Index: libc/docs/index.rst
===================================================================
--- libc/docs/index.rst
+++ libc/docs/index.rst
@@ -79,6 +79,7 @@
mechanics_of_public_api
source_layout
porting
+ contributing
.. toctree::
:hidden:
Index: libc/docs/contributing.rst
===================================================================
--- /dev/null
+++ libc/docs/contributing.rst
@@ -0,0 +1,56 @@
+.. _contributing:
+
+================================
+Contributing to the libc Project
+================================
+
+LLVM's libc is being developed as part of the LLVM project so contributions
+to the libc project should also follow the general LLVM
+`contribution guidelines <https://llvm.org/docs/Contributing.html>`_. Below is
+a list of open projects that one can start with:
+
+#. **Cleanup code-style** - The libc project follows the general
+ `LLVM style <https://llvm.org/docs/CodingStandards.html>`_ but differs in a
+ few aspects: We use ``snake_case`` for non-constant variable and function
+ names,``CamelCase`` for internal type names (those which are not defined in a
+ public header), and ``CAPITILIZED_SNAKE_CASE`` for constants. When we started
+ working on the project, we started using the general LLVM style for
+ everything. However, for a short period, we switched to the style that is
+ currently followed by the `LLD project <https://github.com/llvm/llvm-project/tree/main/lld>`_.
+ But, considering that we implement a lot of functions and types whose names
+ are prescribed by the standards, we have settled on the style described above.
+ However, we have not switched over to this style in all parts of the ``libc``
+ directory. So, a simple but mechanical project would be to move the parts
+ following the old styles to the new style.
+
+#. **Integrating with the rest of the LLVM project** - There are two parts to
+ this project:
+
+ #. One is about adding CMake facilities to optionally link the libc's overlay
+ static archive (see :ref:`overlay_mode`) with other LLVM tools/executables.
+ #. The other is about putting plumbing in place to release the overlay static
+ archive (see :ref:`overlay_mode`) as part of the LLVM binary releases.
+
+#. **Implement Linux syscall wrappers** - A large portion of the POSIX API can
+ be implemented as syscall wrappers on Linux. A good number have already been
+ implemented but many more are yet to be implemented. So, a project of medium
+ complexity would be to implement syscall wrappers which have not yet been
+ implemented.
+
+#. **Add a better random number generator** - The current random number
+ generator has a very small range. This has to be improved or switched over
+ to a fast random number generator with a large range.
+
+#. **Update the clang-tidy lint rules and use them in the build and/or CI** -
+ Currently, the :ref:`clangtidy_rules` have gone stale and are mostly unused
+ by the developers and on the CI builders. This project is about updating
+ them and reintegrating them back with the build and running them on the
+ CI builders.
+
+#. **double and higher precision math functions** - These are under active
+ developement but you can take a shot at those not yet implemented. See
+ :ref:`math` for more information.
+
+#. **Contribute a new OS/Architecture port** - You can contribute a new
+ operating system or target architecture port. See :ref:`porting` for more
+ informaton.
Index: libc/docs/clang_tidy_checks.rst
===================================================================
--- libc/docs/clang_tidy_checks.rst
+++ libc/docs/clang_tidy_checks.rst
@@ -1,3 +1,5 @@
+.. _clangtidy_rules:
+
LLVM libc clang-tidy checks
===========================
These are the clang-tidy checks designed to help enforce implementation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D136961.472615.patch
Type: text/x-patch
Size: 4063 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20221102/5dc742fc/attachment.bin>
More information about the libc-commits
mailing list