[libc] Add a contributing guide to the docs.
Reviewed By: jeffbailey Differential Revision: https://reviews.llvm.org/D136961
This commit is contained in:
parent
9dd7388668
commit
a2a87ee7e9
|
@ -1,3 +1,5 @@
|
|||
.. _clangtidy_rules:
|
||||
|
||||
LLVM libc clang-tidy checks
|
||||
===========================
|
||||
These are the clang-tidy checks designed to help enforce implementation
|
||||
|
|
|
@ -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.
|
|
@ -79,6 +79,7 @@ stages there is no ABI stability in any form.
|
|||
mechanics_of_public_api
|
||||
source_layout
|
||||
porting
|
||||
contributing
|
||||
|
||||
.. toctree::
|
||||
:hidden:
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
.. _math:
|
||||
|
||||
==============
|
||||
Math Functions
|
||||
==============
|
||||
|
|
Loading…
Reference in New Issue