[libc-commits] [libc] 223025a - [libc][docs] add page for stdbit.h (#79908)

via libc-commits libc-commits at lists.llvm.org
Tue Jan 30 08:24:33 PST 2024


Author: Nick Desaulniers
Date: 2024-01-30T08:24:28-08:00
New Revision: 223025a6142d14b772e9dc73e5faf507a08098da

URL: https://github.com/llvm/llvm-project/commit/223025a6142d14b772e9dc73e5faf507a08098da
DIFF: https://github.com/llvm/llvm-project/commit/223025a6142d14b772e9dc73e5faf507a08098da.diff

LOG: [libc][docs] add page for stdbit.h (#79908)

To build libc docs:
- Configure with `-DLLVM_ENABLE_SPHINX=ON -DLIBC_INCLUDE_DOCS=ON`
- Build with `ninja docs-libc-html`

Added: 
    libc/docs/stdbit.rst

Modified: 
    libc/docs/index.rst

Removed: 
    


################################################################################
diff  --git a/libc/docs/index.rst b/libc/docs/index.rst
index 6d36351b7ce1f..2740e9152703b 100644
--- a/libc/docs/index.rst
+++ b/libc/docs/index.rst
@@ -65,6 +65,7 @@ stages there is no ABI stability in any form.
    math/index.rst
    strings
    stdio
+   stdbit
 
 .. toctree::
    :hidden:

diff  --git a/libc/docs/stdbit.rst b/libc/docs/stdbit.rst
new file mode 100644
index 0000000000000..c37f809601988
--- /dev/null
+++ b/libc/docs/stdbit.rst
@@ -0,0 +1,134 @@
+=========================
+Bitwise Utility Functions
+=========================
+
+.. include:: check.rst
+
+---------------
+Source location
+---------------
+
+-   The main source for bitwise utility functions is located at:
+    ``libc/src/stdbit``.
+
+-   The source for internal helpers used to implement these is located at:
+    ``libc/src/__support/CPP/bit.h``.
+
+-   The tests are located at:
+    ``libc/test/src/stdbit/``, ``libc/test/include/stdbit_test.cpp``, and
+    ``src/__support/CPP/bit_test.cpp``.
+
+---------------------
+Implementation Status
+---------------------
+
+Functions
+=========
+
+; Do not order these, they are as they appear in the standard.
+
+============================ =========
+Function Name                Available
+============================ =========
+stdc_leading_zeros_uc
+stdc_leading_zeros_us
+stdc_leading_zeros_ui
+stdc_leading_zeros_ul
+stdc_leading_zeros_ull
+stdc_leading_ones_uc
+stdc_leading_ones_us
+stdc_leading_ones_ui
+stdc_leading_ones_ul
+stdc_leading_ones_ull
+stdc_trailing_zeros_uc
+stdc_trailing_zeros_us
+stdc_trailing_zeros_ui
+stdc_trailing_zeros_ul
+stdc_trailing_zeros_ull
+stdc_trailing_ones_uc
+stdc_trailing_ones_us
+stdc_trailing_ones_ui
+stdc_trailing_ones_ul
+stdc_trailing_ones_ull
+stdc_first_leading_zero_uc
+stdc_first_leading_zero_us
+stdc_first_leading_zero_ui
+stdc_first_leading_zero_ul
+stdc_first_leading_zero_ull
+stdc_first_leading_one_uc
+stdc_first_leading_one_us
+stdc_first_leading_one_ui
+stdc_first_leading_one_ul
+stdc_first_leading_one_ull
+stdc_first_trailing_zero_uc
+stdc_first_trailing_zero_us
+stdc_first_trailing_zero_ui
+stdc_first_trailing_zero_ul
+stdc_first_trailing_zero_ull
+stdc_first_trailing_one_uc
+stdc_first_trailing_one_us
+stdc_first_trailing_one_ui
+stdc_first_trailing_one_ul
+stdc_first_trailing_one_ull
+stdc_count_zeros_uc
+stdc_count_zeros_us
+stdc_count_zeros_ui
+stdc_count_zeros_ul
+stdc_count_zeros_ull
+stdc_count_ones_uc
+stdc_count_ones_us
+stdc_count_ones_ui
+stdc_count_ones_ul
+stdc_count_ones_ull
+stdc_has_single_bit_uc
+stdc_has_single_bit_us
+stdc_has_single_bit_ui
+stdc_has_single_bit_ul
+stdc_has_single_bit_ull
+stdc_bit_width_uc
+stdc_bit_width_us
+stdc_bit_width_ui
+stdc_bit_width_ul
+stdc_bit_width_ull
+stdc_bit_floor_uc
+stdc_bit_floor_us
+stdc_bit_floor_ui
+stdc_bit_floor_ul
+stdc_bit_floor_ull
+stdc_bit_ceil_uc
+stdc_bit_ceil_us
+stdc_bit_ceil_ui
+stdc_bit_ceil_ul
+stdc_bit_ceil_ull
+============================ =========
+
+
+Macros
+======
+
+=========================  =========
+Macro Name                 Available
+=========================  =========
+__STDC_VERSION_STDBIT_H__
+__STDC_ENDIAN_LITTLE__
+__STDC_ENDIAN_BIG__
+__STDC_ENDIAN_NATIVE__
+stdc_leading_zeros
+stdc_leading_ones
+stdc_trailing_zeros
+stdc_trailing_ones
+stdc_first_leading_zero
+stdc_first_leading_one
+stdc_first_trailing_zero
+stdc_first_trailing_one
+stdc_count_zeros
+stdc_count_ones
+stdc_has_single_bit
+stdc_bit_width
+stdc_bit_floor
+stdc_bit_ceil
+=========================  =========
+
+Standards
+=========
+stdbit.h was specified as part of C23 in section 7.18 "Bit and byte utilities."


        


More information about the libc-commits mailing list