[libc-commits] [libc] 58946ee - [libc][docs] start documenting c23 support (#81933)

via libc-commits libc-commits at lists.llvm.org
Fri Feb 16 08:56:28 PST 2024


Author: Nick Desaulniers
Date: 2024-02-16T08:56:24-08:00
New Revision: 58946ee435dca2071ce8eec1961de29e7378ec03

URL: https://github.com/llvm/llvm-project/commit/58946ee435dca2071ce8eec1961de29e7378ec03
DIFF: https://github.com/llvm/llvm-project/commit/58946ee435dca2071ce8eec1961de29e7378ec03.diff

LOG: [libc][docs] start documenting c23 support (#81933)

I've been diffing the c17 vs c23 latest publicly available drafts and think I
have most of the library related differences. I haven't yet annotated what we
actually support or not.

Link: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2310.pdf (C17)
Link: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3096.pdf (C23)

Added: 
    libc/docs/c23.rst

Modified: 
    libc/docs/index.rst

Removed: 
    


################################################################################
diff  --git a/libc/docs/c23.rst b/libc/docs/c23.rst
new file mode 100644
index 00000000000000..6d5edbfbf5e718
--- /dev/null
+++ b/libc/docs/c23.rst
@@ -0,0 +1,114 @@
+.. _c23_support:
+
+===========
+C23 Support
+===========
+
+.. contents:: Table of Contents
+  :depth: 4
+  :local:
+
+---------------------
+Implementation Status
+---------------------
+
+(It's helpful to review 'Annex B (Informative) Library Summary' for these.)
+
+New headers:
+
+* stdbit.h
+* stdckdint.h
+
+Additions:
+
+* uchar.h
+
+  * mbrtoc8
+  * c8rtomb
+  * char*_t
+
+* string.h
+
+  * memset_explicit
+  * memccpy
+  * strdup
+  * strndup
+
+* time.h
+
+  * gmtime_r
+  * localtime_r
+  * timegm
+  * timespec_getres
+  * strftime conversion specifiers
+
+    * 0b
+    * 0B
+* math.h
+
+  * acospi*
+  * asinpi*
+  * atanpi*
+  * atan2pi*
+  * cospi*
+  * sinpi*
+  * tanpi*
+  * exp10*
+  * exp10m1*
+  * exp2m1*
+  * log10p1*
+  * logp1
+  * log2p1*
+  * rsqrt*
+  * __STDC_IEC_60559_DFP__ functions (_Decimal32, _Decimal64, _Decimal128)
+  * compoundn*
+  * totalorder*
+  * totalordermag*
+  * getpayload*
+  * setpayload*
+  * iscannonical
+  * issignaling
+  * issubnormal
+  * iszero
+  * llogb*
+  * pown*
+  * powr*
+  * rootn*
+  * roundeven*
+  * fromfp*
+  * ufromfp*
+  * fromfpx*
+  * nextup*
+  * nextdown*
+  * canonicalize*
+  * fmaximum*
+  * fminimum*
+  * fmaximum_mag*
+  * fminimum_mag*
+  * fmaximum_mag_num*
+  * fminimum_mag_num*
+  * fadd*
+  * fsub*
+  * fmul*
+  * fdiv*
+  * ffma*
+  * dfmal
+  * fsqrt*
+  * dsqrtl
+* fenv.h
+
+  * fesetexcept
+  * fetestexceptflag
+  * fegetmode
+  * fesetmode
+* stddef.h
+
+  * unreachable
+* stdlib.h
+
+  * free_sized
+  * free_aligned_sized
+  * memalignment
+* tgmath.h
+
+  * <TODO>

diff  --git a/libc/docs/index.rst b/libc/docs/index.rst
index 7655cb9ccd7116..a50eb080c9ee49 100644
--- a/libc/docs/index.rst
+++ b/libc/docs/index.rst
@@ -67,6 +67,7 @@ stages there is no ABI stability in any form.
    stdio
    stdbit
    libc_search
+   c23
 
 .. toctree::
    :hidden:


        


More information about the libc-commits mailing list