Skip to content

[libc][docgen] simplify posix links #119595

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Dec 12, 2024

Conversation

nickdesaulniers
Copy link
Member

@nickdesaulniers nickdesaulniers commented Dec 11, 2024

Usually posix functions have individual doc pages, and each header has its own
list of required macro definitions. Use a simpler key of "in-latest-posix" to
signal that the URL convention can be followed.

Add support for a "removed-in-posix-2008" key which will link to the 2004 docs
for functions like bcmp, bcopy, bzero, index, and rindex from strings.h.

I don't want to add all of these links for pthreads.h, so automating this will
make documenting these go much faster.

@llvmbot llvmbot added the libc label Dec 11, 2024
@llvmbot
Copy link
Member

llvmbot commented Dec 11, 2024

@llvm/pr-subscribers-libc

Author: Nick Desaulniers (nickdesaulniers)

Changes

[libc][docgen] simplify posix links

Usually posix functions have individual doc pages, and each header has its own
list of required macro definitions. Use a simpler key of "in-latest-posix" to
signal that the URL convention can be followed.

Add support for a "removed-in-posix-2008" key which will link to the 2004 docs
for functions like bcmp, bcopy, bzero, index, and rindex from strings.h.

I don't want to add all of these links for pthreads.h, so automating this will
make documenting these go much faster.


Patch is 94.48 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/119595.diff

30 Files Affected:

  • (modified) libc/docs/headers/assert.rst (+2-2)
  • (modified) libc/docs/headers/ctype.rst (+57-1)
  • (modified) libc/docs/headers/errno.rst (+5-5)
  • (modified) libc/docs/headers/fenv.rst (+26-26)
  • (modified) libc/docs/headers/float.rst (+38-38)
  • (modified) libc/docs/headers/inttypes.rst (+7-7)
  • (modified) libc/docs/headers/locale.rst (+28-8)
  • (modified) libc/docs/headers/signal.rst (+46-46)
  • (modified) libc/docs/headers/stdlib.rst (+45-45)
  • (modified) libc/docs/headers/string.rst (+36-28)
  • (modified) libc/docs/headers/strings.rst (+13-13)
  • (modified) libc/docs/headers/threads.rst (+33-29)
  • (modified) libc/docs/headers/uchar.rst (+6-6)
  • (modified) libc/docs/headers/wchar.rst (+2-2)
  • (modified) libc/docs/headers/wctype.rst (+1-1)
  • (modified) libc/utils/docgen/assert.json (+2-1)
  • (modified) libc/utils/docgen/ctype.json (+70-15)
  • (modified) libc/utils/docgen/docgen.py (+18-12)
  • (modified) libc/utils/docgen/errno.json (+8-4)
  • (modified) libc/utils/docgen/fenv.json (+45-23)
  • (modified) libc/utils/docgen/float.json (+76-38)
  • (modified) libc/utils/docgen/inttypes.json (+12-6)
  • (modified) libc/utils/docgen/locale.json (+31-8)
  • (modified) libc/utils/docgen/setjmp.json (+10-2)
  • (modified) libc/utils/docgen/signal.json (+45-45)
  • (modified) libc/utils/docgen/stdlib.json (+86-43)
  • (modified) libc/utils/docgen/string.json (+59-28)
  • (modified) libc/utils/docgen/strings.json (+12-12)
  • (modified) libc/utils/docgen/threads.json (+57-27)
  • (modified) libc/utils/docgen/uchar.json (+8-4)
diff --git a/libc/docs/headers/assert.rst b/libc/docs/headers/assert.rst
index 06ea27966de1ae..682170755ba43f 100644
--- a/libc/docs/headers/assert.rst
+++ b/libc/docs/headers/assert.rst
@@ -15,7 +15,7 @@ Macros
   * - Macro
     - Implemented
     - C23 Standard Section
-    - POSIX.1-2024 Standard Section
+    - POSIX Docs
   * - __STDC_VERSION_ASSERT_H__
     - |check|
     - 7.2.1
@@ -23,5 +23,5 @@ Macros
   * - assert
     -
     - 7.2.1
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/assert.h.html>`__
 
diff --git a/libc/docs/headers/ctype.rst b/libc/docs/headers/ctype.rst
index e506830809f795..9b5b1574fd274d 100644
--- a/libc/docs/headers/ctype.rst
+++ b/libc/docs/headers/ctype.rst
@@ -15,60 +15,116 @@ Functions
   * - Function
     - Implemented
     - C23 Standard Section
-    - POSIX.1-2024 Standard Section
+    - POSIX Docs
   * - isalnum
     - |check|
     - 7.4.1.1
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/isalnum.html>`__
+  * - isalnum_l
+    - |check|
     -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/isalnum_l.html>`__
   * - isalpha
     - |check|
     - 7.4.1.2
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/isalpha.html>`__
+  * - isalpha_l
+    - |check|
     -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/isalpha_l.html>`__
   * - isblank
     - |check|
     - 7.4.1.3
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/isblank.html>`__
+  * - isblank_l
+    - |check|
     -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/isblank_l.html>`__
   * - iscntrl
     - |check|
     - 7.4.1.4
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/iscntrl.html>`__
+  * - iscntrl_l
+    - |check|
     -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/iscntrl_l.html>`__
   * - isdigit
     - |check|
     - 7.4.1.5
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/isdigit.html>`__
+  * - isdigit_l
+    - |check|
     -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/isdigit_l.html>`__
   * - isgraph
     - |check|
     - 7.4.1.6
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/isgraph.html>`__
+  * - isgraph_l
+    - |check|
     -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/isgraph_l.html>`__
   * - islower
     - |check|
     - 7.4.1.7
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/islower.html>`__
+  * - islower_l
+    - |check|
     -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/islower_l.html>`__
   * - isprint
     - |check|
     - 7.4.1.8
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/isprint.html>`__
+  * - isprint_l
+    - |check|
     -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/isprint_l.html>`__
   * - ispunct
     - |check|
     - 7.4.1.9
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/ispunct.html>`__
+  * - ispunct_l
+    - |check|
     -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/ispunct_l.html>`__
   * - isspace
     - |check|
     - 7.4.1.10
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/isspace.html>`__
+  * - isspace_l
+    - |check|
     -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/isspace_l.html>`__
   * - isupper
     - |check|
     - 7.4.1.11
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/isupper.html>`__
+  * - isupper_l
+    - |check|
     -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/isupper_l.html>`__
   * - isxdigit
     - |check|
     - 7.4.1.12
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/isxdigit.html>`__
+  * - isxdigit_l
+    - |check|
     -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/isxdigit_l.html>`__
   * - tolower
     - |check|
     - 7.4.2.1
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/tolower.html>`__
+  * - tolower_l
+    - |check|
     -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/tolower_l.html>`__
   * - toupper
     - |check|
     - 7.4.2.2
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/toupper.html>`__
+  * - toupper_l
+    - |check|
     -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/toupper_l.html>`__
diff --git a/libc/docs/headers/errno.rst b/libc/docs/headers/errno.rst
index f25aae4f23b2c7..b2b2e62728e1a4 100644
--- a/libc/docs/headers/errno.rst
+++ b/libc/docs/headers/errno.rst
@@ -15,21 +15,21 @@ Macros
   * - Macro
     - Implemented
     - C23 Standard Section
-    - POSIX.1-2024 Standard Section
+    - POSIX Docs
   * - EDOM
     -
     - 7.5
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/errno.h.html>`__
   * - EILSEQ
     -
     - 7.5
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/errno.h.html>`__
   * - ERANGE
     -
     - 7.5
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/errno.h.html>`__
   * - errno
     -
     - 7.5
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/errno.h.html>`__
 
diff --git a/libc/docs/headers/fenv.rst b/libc/docs/headers/fenv.rst
index 374b46ef57be0a..d0e3c5dda6d006 100644
--- a/libc/docs/headers/fenv.rst
+++ b/libc/docs/headers/fenv.rst
@@ -15,11 +15,11 @@ Macros
   * - Macro
     - Implemented
     - C23 Standard Section
-    - POSIX.1-2024 Standard Section
+    - POSIX Docs
   * - FE_ALL_EXCEPT
     - |check|
     - 7.6.12
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/fenv.h.html>`__
   * - FE_DEC_DOWNWARD
     -
     - 7.6.14
@@ -43,7 +43,7 @@ Macros
   * - FE_DFL_ENV
     - |check|
     - 7.6.17
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/fenv.h.html>`__
   * - FE_DFL_MODE
     -
     - 7.6.11
@@ -51,27 +51,27 @@ Macros
   * - FE_DIVBYZERO
     - |check|
     - 7.6.9
-    -
-  * - FE_DOWNARD
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/fenv.h.html>`__
+  * - FE_DOWNWARD
+    - |check|
     - 7.6.13
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/fenv.h.html>`__
   * - FE_INEXACT
     - |check|
     - 7.6.9
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/fenv.h.html>`__
   * - FE_INVALID
     - |check|
     - 7.6.9
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/fenv.h.html>`__
   * - FE_OVERFLOW
     - |check|
     - 7.6.9
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/fenv.h.html>`__
   * - FE_TONEAREST
     - |check|
     - 7.6.13
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/fenv.h.html>`__
   * - FE_TONEARESTFROMZERO
     -
     - 7.6.13
@@ -79,15 +79,15 @@ Macros
   * - FE_TOWARDZERO
     - |check|
     - 7.6.13
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/fenv.h.html>`__
   * - FE_UNDERFLOW
     - |check|
     - 7.6.9
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/fenv.h.html>`__
   * - FE_UPWARD
     - |check|
     - 7.6.13
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/fenv.h.html>`__
   * - __STDC_VERSION_FENV_H__
     -
     - 7.6.5
@@ -104,7 +104,7 @@ Functions
   * - Function
     - Implemented
     - C23 Standard Section
-    - POSIX.1-2024 Standard Section
+    - POSIX Docs
   * - fe_dec_getround
     -
     - 7.6.5.3
@@ -116,15 +116,15 @@ Functions
   * - feclearexcept
     - |check|
     - 7.6.4.1
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/feclearexcept.html>`__
   * - fegetenv
     - |check|
     - 7.6.6.1
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/fegetenv.html>`__
   * - fegetexceptflag
     - |check|
     - 7.6.4.2
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/fegetexceptflag.html>`__
   * - fegetmode
     -
     - 7.6.5.1
@@ -132,19 +132,19 @@ Functions
   * - fegetround
     - |check|
     - 7.6.5.2
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/fegetround.html>`__
   * - feholdexcept
     - |check|
     - 7.6.6.2
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/feholdexcept.html>`__
   * - feraiseexcept
     - |check|
     - 7.6.4.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/feraiseexcept.html>`__
   * - fesetenv
     - |check|
     - 7.6.6.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/fesetenv.html>`__
   * - fesetexcept
     - |check|
     - 7.6.4.4
@@ -152,7 +152,7 @@ Functions
   * - fesetexceptflag
     - |check|
     - 7.6.4.5
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/fesetexceptflag.html>`__
   * - fesetmode
     -
     - 7.6.5.4
@@ -160,11 +160,11 @@ Functions
   * - fesetround
     - |check|
     - 7.6.5.5
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/fesetround.html>`__
   * - fetestexcept
     - |check|
     - 7.6.4.7
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/fetestexcept.html>`__
   * - fetestexceptflag
     - |check|
     - 7.6.4.6
@@ -172,4 +172,4 @@ Functions
   * - feupdateenv
     - |check|
     - 7.6.6.4
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/feupdateenv.html>`__
diff --git a/libc/docs/headers/float.rst b/libc/docs/headers/float.rst
index b603867fcef9ca..8ef0f3a05020ce 100644
--- a/libc/docs/headers/float.rst
+++ b/libc/docs/headers/float.rst
@@ -15,23 +15,23 @@ Macros
   * - Macro
     - Implemented
     - C23 Standard Section
-    - POSIX.1-2024 Standard Section
+    - POSIX Docs
   * - DBL_DECIMAL_DIG
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - DBL_DIG
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - DBL_EPSILON
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - DBL_HAS_SUBNORM
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - DBL_IS_IEC_60559
     -
     - 5.3.5.3.3
@@ -43,27 +43,27 @@ Macros
   * - DBL_MAX
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - DBL_MAX_10_EXP
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - DBL_MAX_EXP
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - DBL_MIN
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - DBL_MIN_10_EXP
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - DBL_MIN_EXP
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - DBL_NORM_MAX
     -
     - 5.3.5.3.3
@@ -75,31 +75,31 @@ Macros
   * - DBL_TRUE_MIN
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - DECIMAL_DIG
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - FLT_DECIMAL_DIG
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - FLT_DIG
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - FLT_EPSILON
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - FLT_EVAL_METHOD
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - FLT_HAS_SUBNORM
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - FLT_IS_IEC_60559
     -
     - 5.3.5.3.3
@@ -111,27 +111,27 @@ Macros
   * - FLT_MAX
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - FLT_MAX_10_EXP
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - FLT_MAX_EXP
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - FLT_MIN
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - FLT_MIN_10_EXP
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - FLT_MIN_EXP
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - FLT_NORM_MAX
     -
     - 5.3.5.3.3
@@ -139,11 +139,11 @@ Macros
   * - FLT_RADIX
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - FLT_ROUNDS
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - FLT_SNAN
     -
     - 5.3.5.3.3
@@ -151,7 +151,7 @@ Macros
   * - FLT_TRUE_MIN
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - INFINITY
     -
     - 5.3.5.3.3
@@ -159,19 +159,19 @@ Macros
   * - LDBL_DECIMAL_DIG
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - LDBL_DIG
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - LDBL_EPSILON
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - LDBL_HAS_SUBNORM
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - LDBL_IS_IEC_60559
     -
     - 5.3.5.3.3
@@ -183,27 +183,27 @@ Macros
   * - LDBL_MAX
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - LDBL_MAX_10_EXP
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - LDBL_MAX_EXP
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - LDBL_MIN
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - LDBL_MIN_10_EXP
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - LDBL_MIN_EXP
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - LDBL_NORM_MAX
     -
     - 5.3.5.3.3
@@ -215,7 +215,7 @@ Macros
   * - LDBL_TRUE_MIN
     - |check|
     - 5.3.5.3.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/float.h.html>`__
   * - NAN
     -
     - 5.3.5.3.3
diff --git a/libc/docs/headers/inttypes.rst b/libc/docs/headers/inttypes.rst
index f43c80f095c6a8..9269b40f242a6c 100644
--- a/libc/docs/headers/inttypes.rst
+++ b/libc/docs/headers/inttypes.rst
@@ -15,28 +15,28 @@ Functions
   * - Function
     - Implemented
     - C23 Standard Section
-    - POSIX.1-2024 Standard Section
+    - POSIX Docs
   * - imaxabs
     - |check|
     - 7.8.2.1
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/imaxabs.html>`__
   * - imaxdiv
     - |check|
     - 7.8.2.2
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/imaxdiv.html>`__
   * - strtoimax
     - |check|
     - 7.8.2.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/strtoimax.html>`__
   * - strtoumax
     - |check|
     - 7.8.2.3
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/strtoumax.html>`__
   * - wcstoimax
     -
     - 7.8.2.4
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcstoimax.html>`__
   * - wcstoumax
     -
     - 7.8.2.4
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcstoumax.html>`__
diff --git a/libc/docs/headers/locale.rst b/libc/docs/headers/locale.rst
index 2d5525bd3f2f9a..c97d1f63b1f0ce 100644
--- a/libc/docs/headers/locale.rst
+++ b/libc/docs/headers/locale.rst
@@ -15,31 +15,31 @@ Macros
   * - Macro
     - Implemented
     - C23 Standard Section
-    - POSIX.1-2024 Standard Section
+    - POSIX Docs
   * - LC_ALL
     - |check|
     - 7.11
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/locale.h.html>`__
   * - LC_COLLATE
     - |check|
     - 7.11
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/locale.h.html>`__
   * - LC_CTYPE
     - |check|
     - 7.11
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/locale.h.html>`__
   * - LC_MONETARY
     - |check|
     - 7.11
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/locale.h.html>`__
   * - LC_NUMERIC
     - |check|
     - 7.11
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/locale.h.html>`__
   * - LC_TIME
     - |check|
     - 7.11
-    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/locale.h.html>`__
 
 Functions
 =========
@@ -52,12 +52,32 @@ Functions
   * - Function
     - Implemented
     - C23 Standard Section
-    - POSIX.1-2024 Standard Section
+    - POSIX Docs
+  * - duplocale
+    - |check|
+    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/duplocale.html>`__
+  * - freelocale
+    - |check|
+    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/freelocale.html>`__
+  * - getlocalename_l
+    -
+    -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/getlocalename_l.html>`__
   * - localeconv
     - |check|
     - 7.11.2.1
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/localeconv.html>`__
+  * - newlocale
+    - |check|
     -
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/newlocale.html>`__
   * - setlocale
     - |check|
     - 7.11.1.1
+    - `POSIX.1-2024 <https://pubs.opengroup.org/onlinepubs/9799919799/functions/setlocale.html>`__
+  * - uselocale
+    - |check...
[truncated]

Copy link

github-actions bot commented Dec 11, 2024

✅ With the latest revision this PR passed the Python code formatter.

@nickdesaulniers
Copy link
Member Author

The third commit isn't exhaustive. I'll file some good beginner bugs to flush out the documentation at some point in the future.

Usually posix functions have individual doc pages, and each header has its own
list of required macro definitions. Use a simpler key of "in-latest-posix" to
signal that the URL convention can be followed.

Add support for a "removed-in-posix-2008" key which will link to the 2004 docs
for functions like bcmp, bcopy, bzero, index, and rindex from strings.h.
@nickdesaulniers nickdesaulniers merged commit c047a5b into llvm:main Dec 12, 2024
9 of 10 checks passed
@nickdesaulniers nickdesaulniers deleted the posix_links branch December 12, 2024 18:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants