aboutsummaryrefslogtreecommitdiff
path: root/libc
diff options
context:
space:
mode:
authorNick Desaulniers <nickdesaulniers@users.noreply.github.com>2024-02-16 08:56:24 -0800
committerGitHub <noreply@github.com>2024-02-16 08:56:24 -0800
commit58946ee435dca2071ce8eec1961de29e7378ec03 (patch)
tree33952d08f7f538e8c7dd0ef398b0496167ede826 /libc
parentcb891127974ddba9d2e31fe16220591ff9296bdb (diff)
downloadllvm-58946ee435dca2071ce8eec1961de29e7378ec03.zip
llvm-58946ee435dca2071ce8eec1961de29e7378ec03.tar.gz
llvm-58946ee435dca2071ce8eec1961de29e7378ec03.tar.bz2
[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)
Diffstat (limited to 'libc')
-rw-r--r--libc/docs/c23.rst114
-rw-r--r--libc/docs/index.rst1
2 files changed, 115 insertions, 0 deletions
diff --git a/libc/docs/c23.rst b/libc/docs/c23.rst
new file mode 100644
index 0000000..6d5edbf
--- /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 7655cb9..a50eb08 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: