[libc-commits] [libc] [libc] added yaml_combined files (PR #96833)

via libc-commits libc-commits at lists.llvm.org
Wed Jun 26 16:46:04 PDT 2024


https://github.com/aaryanshukla created https://github.com/llvm/llvm-project/pull/96833

 frontend hdrgen,these are the yaml files that have combined functions from different
libraries
Rose will be adding the rest of the yaml in the next pr
Missing assert.yaml -- work in progress

>From cc744f2cfce21aa8634cbc6ada306d0398795f50 Mon Sep 17 00:00:00 2001
From: Aaryan Shukla <aaryanshukla at google.com>
Date: Wed, 26 Jun 2024 23:43:37 +0000
Subject: [PATCH] [libc] added yaml_combined files, frontend hdrgen

these are the yaml files that have combined functions from different
libraries
Rose will be adding the rest of the yaml in the next pr
Missing assert.yaml -- work in progress
---
 libc/newhdrgen/yaml_combined/ctype.yaml    |  137 ++
 libc/newhdrgen/yaml_combined/fenv.yaml     |  135 ++
 libc/newhdrgen/yaml_combined/math.yaml     | 2331 ++++++++++++++++++++
 libc/newhdrgen/yaml_combined/pthread.yaml  |  467 ++++
 libc/newhdrgen/yaml_combined/sched.yaml    |  109 +
 libc/newhdrgen/yaml_combined/signal.yaml   |  108 +
 libc/newhdrgen/yaml_combined/stdfix.yaml   |  250 +++
 libc/newhdrgen/yaml_combined/stdio.yaml    |  470 ++++
 libc/newhdrgen/yaml_combined/stdlib.yaml   |  347 +++
 libc/newhdrgen/yaml_combined/string.yaml   |  386 ++++
 libc/newhdrgen/yaml_combined/strings.yaml  |   72 +
 libc/newhdrgen/yaml_combined/sys_mman.yaml |  145 ++
 libc/newhdrgen/yaml_combined/sys_wait.yaml |   39 +
 libc/newhdrgen/yaml_combined/time.yaml     |  106 +
 14 files changed, 5102 insertions(+)
 create mode 100644 libc/newhdrgen/yaml_combined/ctype.yaml
 create mode 100644 libc/newhdrgen/yaml_combined/fenv.yaml
 create mode 100644 libc/newhdrgen/yaml_combined/math.yaml
 create mode 100644 libc/newhdrgen/yaml_combined/pthread.yaml
 create mode 100644 libc/newhdrgen/yaml_combined/sched.yaml
 create mode 100644 libc/newhdrgen/yaml_combined/signal.yaml
 create mode 100644 libc/newhdrgen/yaml_combined/stdfix.yaml
 create mode 100644 libc/newhdrgen/yaml_combined/stdio.yaml
 create mode 100644 libc/newhdrgen/yaml_combined/stdlib.yaml
 create mode 100644 libc/newhdrgen/yaml_combined/string.yaml
 create mode 100644 libc/newhdrgen/yaml_combined/strings.yaml
 create mode 100644 libc/newhdrgen/yaml_combined/sys_mman.yaml
 create mode 100644 libc/newhdrgen/yaml_combined/sys_wait.yaml
 create mode 100644 libc/newhdrgen/yaml_combined/time.yaml

diff --git a/libc/newhdrgen/yaml_combined/ctype.yaml b/libc/newhdrgen/yaml_combined/ctype.yaml
new file mode 100644
index 0000000000000..74d2b6071c6d0
--- /dev/null
+++ b/libc/newhdrgen/yaml_combined/ctype.yaml
@@ -0,0 +1,137 @@
+header: ctype.h
+macros: []
+types: []
+enums: []
+objects: []
+functions:
+  - name: isalnum
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: isalpha
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: isblank
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: iscntrl
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: isdigit
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: isgraph
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: islower
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: isprint
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: ispunct
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: isspace
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: isupper
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: isxdigit
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: tolower
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: toupper
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+    functions:
+  - name: isascii
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: toascii
+    standards: 
+      - GNUExtensions
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+
+
diff --git a/libc/newhdrgen/yaml_combined/fenv.yaml b/libc/newhdrgen/yaml_combined/fenv.yaml
new file mode 100644
index 0000000000000..a191723e8a003
--- /dev/null
+++ b/libc/newhdrgen/yaml_combined/fenv.yaml
@@ -0,0 +1,135 @@
+header: fenv.h
+macros: []
+types:
+  - type_name: fenv_t
+  - type_name: fexcept_t
+enums: []
+objects: []
+functions:
+  - name: feclearexcept
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: fetestexcept
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: fetestexceptflag
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: const fexcept_t *
+      - type: int
+    guard: null
+    attributes: []
+  - name: feraiseexcept
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: fesetround
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: fegetround
+    standards: 
+      - stdc
+    return_type: int
+    arguments: []
+    guard: null
+    attributes: []
+  - name: fegetenv
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: fenv_t *
+    guard: null
+    attributes: []
+  - name: fesetenv
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: const fenv_t *
+    guard: null
+    attributes: []
+  - name: fegetexceptflag
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: fexcept_t *
+      - type: int
+    guard: null
+    attributes: []
+  - name: fesetexcept
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: fesetexceptflag
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: const fexcept_t *
+      - type: int
+    guard: null
+    attributes: []
+  - name: feholdexcept
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: fenv_t *
+    guard: null
+    attributes: []
+  - name: feupdateenv
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: const fenv_t *
+    guard: null
+    attributes: []
+  - name: fedisableexcept
+    standards: 
+      - GNUExtensions
+    return_type: int 
+    arguments: 
+      - type: int 
+    guard: null
+  - name: feenableexcept
+    standards: 
+      - GNUExtensions
+    return_type: int 
+    arguments:
+      - type: int
+    attributes: []
+  - name: fegetexcept
+    standards: 
+      - GNUExtensions
+    return_type: int
+    arguments: []
+    guard: null
+    attributes: []
diff --git a/libc/newhdrgen/yaml_combined/math.yaml b/libc/newhdrgen/yaml_combined/math.yaml
new file mode 100644
index 0000000000000..cbd66ab9c02d3
--- /dev/null
+++ b/libc/newhdrgen/yaml_combined/math.yaml
@@ -0,0 +1,2331 @@
+header: math.h
+macros: []
+types:
+  - type_name: float_t
+  - type_name: double_t
+  - type_name: float128
+enums: []
+objects: []
+functions:
+  - name: copysign
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: copysignf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: copysignl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: long double
+    guard: null
+    attributes: []
+  - name: copysignf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: copysignf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: ceil
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: ceilf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: ceill
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+    guard: null
+    attributes: []
+  - name: ceilf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: ceilf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: fabs
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    attributes:
+      - __LIBC_CONST_ATTR
+    guard: null
+  - name: fabsf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: fabsl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+    guard: null
+    attributes: []
+  - name: fabsf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: fabsf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: fdim
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: fdimf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: fdiml
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: long double
+    guard: null
+    attributes: []
+  - name: fdimf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: fdimf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: floor
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: floorf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: floorl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+    guard: null
+    attributes: []
+  - name: floorf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: floorf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: fmin
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: fminf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: fminl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: long double
+    guard: null
+    attributes: []
+  - name: fminf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: fminf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: float128
+    guard: null
+    attributes: []
+  - name: fmax
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: fmaxf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: fmaxl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: long double
+    guard: null
+    attributes: []
+  - name: fmaxf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: fmaxf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: float128
+    guard: null
+    attributes: []
+  - name: fmaximum
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: fmaximumf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: fmaximuml
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: long double
+    guard: null
+    attributes: []
+  - name: fmaximumf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: fmaximumf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: fmaximum_num
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: fmaximum_numf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: fmaximum_numl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: long double
+    guard: null
+    attributes: []
+  - name: fmaximum_numf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: fmaximum_numf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: fmaximum_mag
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: fmaximum_magf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: fmaximum_magl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: long double
+    guard: null
+    attributes: []
+  - name: fmaximum_magf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: fmaximum_magf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: fmaximum_mag_num
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: fmaximum_mag_numf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: fmaximum_mag_numl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: long double
+    guard: null
+    attributes: []
+  - name: fmaximum_mag_numf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: fmaximum_mag_numf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: fminimum
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: fminimumf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: fminimuml
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: long double
+    guard: null
+    attributes: []
+  - name: fminimumf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: fminimumf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: fminimum_num
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: fminimum_numf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: fminimum_numl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: long double
+    guard: null
+    attributes: []
+  - name: fminimum_numf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: fminimum_numf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: fminimum_mag
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: fminimum_magf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: fminimum_magl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: long double
+    guard: null
+    attributes: []
+  - name: fminimum_magf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: fminimum_magf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: fminimum_mag_num
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: fminimum_mag_numf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: fminimum_mag_numl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: long double
+    guard: null
+    attributes: []
+  - name: fminimum_mag_numf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: fminimum_mag_numf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: fma
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: fmaf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: f16fmaf
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: float
+      - type: float
+      - type: float
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: fmod
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: fmodf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: fmodl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: long double
+    guard: null
+    attributes: []
+  - name: fmodf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: fmodf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: frexp
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: int *
+    guard: null
+    attributes: []
+  - name: frexpf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: int *
+    guard: null
+    attributes: []
+  - name: frexpl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: int *
+    guard: null
+    attributes: []
+  - name: frexpf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: int *
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: frexpf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: int *
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: fromfp
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: int
+      - type: unsigned int
+    guard: null
+    attributes: []
+  - name: fromfpf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: int
+      - type: unsigned int
+    guard: null
+    attributes: []
+  - name: fromfpl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: int
+      - type: unsigned int
+    guard: null
+    attributes: []
+  - name: fromfpf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: int
+      - type: unsigned int
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: fromfpf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: int
+      - type: unsigned int
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: fromfpx
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: int
+      - type: unsigned int
+    guard: null
+    attributes: []
+  - name: fromfpxf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: int
+      - type: unsigned int
+    guard: null
+    attributes: []
+  - name: fromfpxl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: int
+      - type: unsigned int
+    guard: null
+    attributes: []
+  - name: fromfpxf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: int
+      - type: unsigned int
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: fromfpxf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: int
+      - type: unsigned int
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: ufromfp
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: int
+      - type: unsigned int
+    guard: null
+    attributes: []
+  - name: ufromfpf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: int
+      - type: unsigned int
+    guard: null
+    attributes: []
+  - name: ufromfpl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: int
+      - type: unsigned int
+    guard: null
+    attributes: []
+  - name: ufromfpf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: int
+      - type: unsigned int
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: ufromfpf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: int
+      - type: unsigned int
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: ufromfpx
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: int
+      - type: unsigned int
+    guard: null
+    attributes: []
+  - name: ufromfpxf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: int
+      - type: unsigned int
+    guard: null
+    attributes: []
+  - name: ufromfpxl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: int
+      - type: unsigned int
+    guard: null
+    attributes: []
+  - name: ufromfpxf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: int
+      - type: unsigned int
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: ufromfpxf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: int
+      - type: unsigned int
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: hypot
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: hypotf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: ilogb
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: ilogbf
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: ilogbl
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: long double
+    guard: null
+    attributes: []
+  - name: ilogbf16
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: ilogbf128
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: llogb
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: llogbf
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: llogbl
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: long double
+    guard: null
+    attributes: []
+  - name: llogbf16
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: llogbf128
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: ldexp
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: int
+    guard: null
+    attributes: []
+  - name: ldexpf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: int
+    guard: null
+    attributes: []
+  - name: ldexpl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: int
+    guard: null
+    attributes: []
+  - name: ldexpf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: int
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: log10
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: log10f
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: log1p
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: log1pf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: log2
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: log2f
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: log
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: logf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: log1p
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: log1pf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: log2
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: log2f
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: logb
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: logbf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: logbl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+    guard: null
+    attributes: []
+  - name: logbf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: logbf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: modf
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double *
+    guard: null
+    attributes: []
+  - name: modff
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float *
+    guard: null
+    attributes: []
+  - name: modfl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: long double *
+    guard: null
+    attributes: []
+  - name: modff16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16 *
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: modff128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: float128 *
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: cos
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: cosf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: sin
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: sincosf
+    standards: 
+      - gnu
+    return_type: void
+    arguments:
+      - type: float
+      - type: float *
+      - type: float *
+    guard: null
+    attributes: []
+  - name: sinf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: tan
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: tanf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: erff
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: exp
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: expf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: exp2
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: exp2f
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: exp2m1f
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: expm1
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: expm1f
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: exp10
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: exp10f
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: remainder
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: remainderf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: remainderl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: long double
+    guard: null
+    attributes: []
+  - name: remainderf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: remquo
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+      - type: int *
+    guard: null
+    attributes: []
+  - name: remquof
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+      - type: int *
+    guard: null
+    attributes: []
+  - name: remquol
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: long double
+      - type: int *
+    guard: null
+    attributes: []
+  - name: remquof16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+      - type: int *
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: remquof128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: float128
+      - type: int *
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: round
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: roundf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: roundl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+    guard: null
+    attributes: []
+  - name: roundf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: roundf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: roundeven
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: roundevenf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: roundevenl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+    guard: null
+    attributes: []
+  - name: roundevenf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: roundevenf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: lround
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: lroundf
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: lroundl
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: long double
+    guard: null
+    attributes: []
+  - name: lroundf16
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: lroundf128
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: llround
+    standards: 
+      - stdc
+    return_type: Longlong
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: llroundf
+    standards: 
+      - stdc
+    return_type: Longlong
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: llroundl
+    standards: 
+      - stdc
+    return_type: Longlong
+    arguments:
+      - type: long double
+    guard: null
+    attributes: []
+  - name: llroundf16
+    standards: 
+      - stdc
+    return_type: Longlong
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: llroundf128
+    standards: 
+      - stdc
+    return_type: Longlong
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: rint
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: rintf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: rintl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+    guard: null
+    attributes: []
+  - name: rintf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: rintf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: lrint
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: lrintf
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: lrintl
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: long double
+    guard: null
+    attributes: []
+  - name: lrintf16
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: lrintf128
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: llrint
+    standards: 
+      - stdc
+    return_type: Longlong
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: llrintf
+    standards: 
+      - stdc
+    return_type: Longlong
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: llrintl
+    standards: 
+      - stdc
+    return_type: Longlong
+    arguments:
+      - type: long double
+    guard: null
+    attributes: []
+  - name: llrintf16
+    standards: 
+      - stdc
+    return_type: Longlong
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: llrintf128
+    standards: 
+      - stdc
+    return_type: Longlong
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: sqrt
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: sqrtf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: sqrtl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+    guard: null
+    attributes: []
+  - name: sqrtf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: trunc
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: truncf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: truncl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+    guard: null
+    attributes: []
+  - name: truncf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: truncf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: nearbyint
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: nearbyintf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: nearbyintl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+    guard: null
+    attributes: []
+  - name: nearbyintf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: nearbyintf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: nextafterf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: nextafter
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: nextafterl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: long double
+    guard: null
+    attributes: []
+  - name: nextafterf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: nextafterf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: nexttowardf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: long double
+    guard: null
+    attributes: []
+  - name: nexttoward
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: long double
+    guard: null
+    attributes: []
+  - name: nexttowardl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: long double
+    guard: null
+    attributes: []
+  - name: nexttowardf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: nextdown
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: nextdownf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: nextdownl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+    guard: null
+    attributes: []
+  - name: nextdownf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: nextdownf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: nextup
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: nextupf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: nextupl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+    guard: null
+    attributes: []
+  - name: nextupf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: nextupf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: powf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: pow
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: coshf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: sinhf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: tanhf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: acosf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: asinf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: asin
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+    guard: null
+    attributes: []
+  - name: atanf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: atan2f
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: acoshf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: asinhf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: atanhf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+    guard: null
+    attributes: []
+  - name: scalbn
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: int
+    guard: null
+    attributes: []
+  - name: scalbnf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: float
+      - type: int
+    guard: null
+    attributes: []
+  - name: scalbnl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: int
+    guard: null
+    attributes: []
+  - name: scalbnf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: int
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: nanf
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: nan
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: nanl
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: nanf16
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: const char *
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: nanf128
+    standards: 
+      - stdc
+    return_type: float128
+    arguments:
+      - type: const char *
+    guard: LIBC_TYPES_HAS_FLOAT128
+    attributes: []
+  - name: canonicalize
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: double
+      - type: double
+    guard: null
+    attributes: []
+  - name: canonicalizef
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: float
+      - type: float
+    guard: null
+    attributes: []
+  - name: canonicalizel
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: long double
+      - type: long double
+    guard: null
+    attributes: []
+  - name: canonicalizef16
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: canonicalizef128
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: totalorderf16
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: _Float16 *
+      - type: _Float16 *
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: totalordermagf16
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: _Float16 *
+      - type: _Float16 *
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
+  - name: f16sqrtf
+    standards: 
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: float
+    guard: LIBC_TYPES_HAS_FLOAT16
+    attributes: []
\ No newline at end of file
diff --git a/libc/newhdrgen/yaml_combined/pthread.yaml b/libc/newhdrgen/yaml_combined/pthread.yaml
new file mode 100644
index 0000000000000..751c6a88fae2f
--- /dev/null
+++ b/libc/newhdrgen/yaml_combined/pthread.yaml
@@ -0,0 +1,467 @@
+header: pthread.h
+macros: []
+types:
+  - type_name: pthread_t
+  - type_name: pthread_once_t
+  - type_name: pthread_mutex_t
+  - type_name: pthread_mutexattr_t
+  - type_name: pthread_key_t
+  - type_name: pthread_condattr_t
+  - type_name: __pthread_tss_dtor_t
+  - type_name: pthread_rwlockattr_t
+  - type_name: pthread_attr_t
+  - type_name: __pthread_start_t
+  - type_name: __pthread_once_func_t
+  - type_name: __atfork_callback_t
+enums:
+  - name: PTHREAD_CREATE_JOINABLE
+    value: 0x0
+  - name: PTHREAD_CREATE_DETACHED
+    value: 0x1
+  - name: PTHREAD_MUTEX_NORMAL
+    value: 0x0
+  - name: PTHREAD_MUTEX_ERRORCHECK
+    value: 0x1
+  - name: PTHREAD_MUTEX_RECURSIVE
+    value: 0x2
+  - name: PTHREAD_MUTEX_DEFAULT
+    value: 0x0
+  - name: PTHREAD_PROCESS_PRIVATE
+    value: 0x0
+  - name: PTHREAD_PROCESS_SHARED
+    value: 0x1
+  - name: PTHREAD_MUTEX_STALLED
+    value: 0x0
+  - name: PTHREAD_MUTEX_ROBUST
+    value: 0x1
+  - name: PTHREAD_RWLOCK_PREFER_READER_NP
+    value: 0
+  - name: PTHREAD_RWLOCK_PREFER_WRITER_NP
+    value: 1
+  - name: PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
+    value: 2
+functions:
+  - name: pthread_atfork
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: __atfork_callback_t
+      - type: __atfork_callback_t
+      - type: __atfork_callback_t
+    guard: null
+    attributes: []
+  - name: pthread_attr_destroy
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_attr_t *
+    guard: null
+    attributes: []
+  - name: pthread_attr_init
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_attr_t *
+    guard: null
+    attributes: []
+  - name: pthread_attr_getdetachstate
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: const pthread_attr_t *
+      - type: int *
+    guard: null
+    attributes: []
+  - name: pthread_attr_getguardsize
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: const pthread_attr_t * __restrict
+      - type: size_t * __restrict
+    guard: null
+    attributes: []
+  - name: pthread_attr_getstack
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: const pthread_attr_t * __restrict
+      - type: void * * __restrict
+      - type: size_t * __restrict
+    guard: null
+    attributes: []
+  - name: pthread_attr_getstacksize
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: const pthread_attr_t * __restrict
+      - type: size_t * __restrict
+    guard: null
+    attributes: []
+  - name: pthread_attr_setdetachstate
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_attr_t *
+      - type: int
+    guard: null
+    attributes: []
+  - name: pthread_attr_setguardsize
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_attr_t *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: pthread_attr_setstack
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_attr_t *
+      - type: void *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: pthread_attr_setstacksize
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_attr_t *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: pthread_condattr_destroy
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_condattr_t *
+    guard: null
+    attributes: []
+  - name: pthread_condattr_getclock
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: const pthread_condattr_t * __restrict
+      - type: clockid_t * __restrict
+    guard: null
+    attributes: []
+  - name: pthread_condattr_getpshared
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: const pthread_condattr_t * __restrict
+      - type: int * __restrict
+    guard: null
+    attributes: []
+  - name: pthread_condattr_init
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_condattr_t *
+    guard: null
+    attributes: []
+  - name: pthread_condattr_setclock
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_condattr_t *
+      - type: clockid_t
+    guard: null
+    attributes: []
+  - name: pthread_condattr_setpshared
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_condattr_t *
+      - type: int
+    guard: null
+    attributes: []
+  - name: pthread_create
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_t * __restrict
+      - type: const pthread_attr_t * __restrict
+      - type: __pthread_start_t
+      - type: void *
+    guard: null
+    attributes: []
+  - name: pthread_detach
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_t
+    guard: null
+    attributes: []
+  - name: pthread_equal
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_t
+      - type: pthread_t
+    guard: null
+    attributes: []
+  - name: pthread_exit
+    standards: 
+      - POSIX
+    return_type: void
+    arguments:
+      - type: void *
+    guard: null
+    attributes:
+      - noreturn
+  - name: pthread_getname_np
+    standards:
+      - GNUExtensions
+    return_type: int
+    arguments:
+      - type: pthread_t
+      - type: char *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: pthread_getspecific
+    standards: 
+      - POSIX
+    return_type: void *
+    arguments:
+      - type: pthread_key_t
+    guard: null
+    attributes: []
+  - name: pthread_join
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_t
+      - type: void * *
+    guard: null
+    attributes: []
+  - name: pthread_key_create
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_key_t *
+      - type: __pthread_tss_dtor_t
+    guard: null
+    attributes: []
+  - name: pthread_key_delete
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_key_t
+    guard: null
+    attributes: []
+  - name: pthread_self
+    standards: 
+      - POSIX
+    return_type: pthread_t
+    arguments: []
+    guard: null
+    attributes: []
+  - name: pthread_setname_np
+    standards:
+      - GNUExtensions
+    return_type: int
+    arguments:
+      - type: pthread_t
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: pthread_mutex_destroy
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_mutex_t *
+    guard: null
+    attributes: []
+  - name: pthread_mutex_init
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_mutex_t * __restrict
+      - type: const pthread_mutexattr_t * __restrict
+    guard: null
+    attributes: []
+  - name: pthread_mutex_lock
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_mutex_t *
+    guard: null
+    attributes: []
+  - name: pthread_mutex_unlock
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_mutex_t *
+    guard: null
+    attributes: []
+  - name: pthread_mutexattr_destroy
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_mutexattr_t *
+    guard: null
+    attributes: []
+  - name: pthread_mutexattr_init
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_mutexattr_t *
+    guard: null
+    attributes: []
+  - name: pthread_mutexattr_getpshared
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: const pthread_mutexattr_t * __restrict
+      - type: int * __restrict
+    guard: null
+    attributes: []
+  - name: pthread_mutexattr_getrobust
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: const pthread_mutexattr_t * __restrict
+      - type: int * __restrict
+    guard: null
+    attributes: []
+  - name: pthread_mutexattr_gettype
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: const pthread_mutexattr_t * __restrict
+      - type: int * __restrict
+    guard: null
+    attributes: []
+  - name: pthread_mutexattr_setpshared
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_mutexattr_t * __restrict
+      - type: int
+    guard: null
+    attributes: []
+  - name: pthread_mutexattr_setrobust
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_mutexattr_t * __restrict
+      - type: int
+    guard: null
+    attributes: []
+  - name: pthread_mutexattr_settype
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_mutexattr_t * __restrict
+      - type: int
+    guard: null
+    attributes: []
+  - name: pthread_once
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_once_t *
+      - type: __pthread_once_func_t
+    guard: null
+    attributes: []
+  - name: pthread_rwlockattr_destroy
+    standards: 
+      - POSIX 
+    return_type: int
+    arguments:
+      - type: pthread_rwlockattr_t *
+    guard: null
+    attributes: []
+  - name: pthread_rwlockattr_getkind_np
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_rwlockattr_t *
+      - type: int *
+    guard: null
+    attributes: []
+  - name: pthread_rwlockattr_getpshared
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: const pthread_rwlockattr_t *
+      - type: int *
+    guard: null
+    attributes: []
+  - name: pthread_rwlockattr_init
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_rwlockattr_t *
+    guard: null
+    attributes: []
+  - name: pthread_rwlockattr_setkind_np
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_rwlockattr_t *
+      - type: int
+    guard: null
+    attributes: []
+  - name: pthread_rwlockattr_setpshared
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_rwlockattr_t *
+      - type: int
+    guard: null
+    attributes: []
+  - name: pthread_setspecific
+    standards: 
+      - POSIX
+    return_type: void *
+    arguments:
+      - type: pthread_key_t
+      - type: const void *
+    guard: null
+    attributes: []
+
+   
diff --git a/libc/newhdrgen/yaml_combined/sched.yaml b/libc/newhdrgen/yaml_combined/sched.yaml
new file mode 100644
index 0000000000000..6a0da42e42eb9
--- /dev/null
+++ b/libc/newhdrgen/yaml_combined/sched.yaml
@@ -0,0 +1,109 @@
+header: sched.h
+macros: []
+types:
+  - type_name: struct_timespec
+  - type_name: time_t
+  - type_name: struct_sched_param
+  - type_name: size_t
+  - type_name: cpu_set_t
+  - type_name: pid_t
+enums: []
+objects: []
+functions:
+  - name: sched_get_priority_max
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: sched_get_priority_min
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: sched_getaffinity
+    standards: 
+      - GNUExtensions
+    return_type: int
+    arguments:
+      - type: pid_t
+      - type: size_t
+      - type: cpu_set_t *
+    guard: null
+    attributes: []
+  - name: sched_getparam
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pid_t
+      - type: struct sched_param *
+    guard: null
+    attributes: []
+  - name: sched_getscheduler
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pid_t
+      - type: int
+      - type: const struct sched_param *
+    guard: null
+    attributes: []
+  - name: sched_rr_get_interval
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pid_t
+      - type: struct timespec *
+    guard: null
+    attributes: []
+  - name: sched_setaffinity
+    standards: 
+      - GNUExtensions
+    return_type: int
+    arguments:
+      - type: pid_t
+      - type: size_t
+      - type: const cpu_set_t *
+    guard: null
+    attributes: []
+  - name: sched_setparam
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pid_t
+      - type: const struct sched_param *
+    guard: null
+    attributes: []
+  - name: sched_setscheduler
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pid_t
+    guard: null
+    attributes: []
+  - name: sched_yield
+    standards: 
+      - POSIX 
+    return_type: int
+    arguments: []
+    guard: null
+    attributes: []
+  - name: __sched_getcpucount
+    standards: 
+      - llvm_libc_ext
+    return_type: int
+    arguments:
+      - type: size_t
+      - type: const cpu_set_t *
+    guard: null
+    attributes: []
diff --git a/libc/newhdrgen/yaml_combined/signal.yaml b/libc/newhdrgen/yaml_combined/signal.yaml
new file mode 100644
index 0000000000000..8bc81a2e06763
--- /dev/null
+++ b/libc/newhdrgen/yaml_combined/signal.yaml
@@ -0,0 +1,108 @@
+header: signal.h
+macros:
+  - macro_name: __need_size_t
+    macro_value: null
+types:
+  - type_name: pid_t
+  - type_name: stack_t
+  - type_name: siginfo_t
+  - type_name: struct_sigaction
+  - type_name: sigset_t
+  - type_name: union_sigval
+  - type_name: sig_atomic_t
+enums: []
+objects: []
+functions:
+  - name: raise
+    standards: 
+      - stdc 
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: kill
+    standards: 
+      - POSIX 
+    return_type: int
+    arguments:
+      - type: pid_t
+      - type: int
+    guard: null
+    attributes: []
+  - name: sigaction
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: int
+      - type: const struct sigaction * __restrict
+      - type: struct sigaction * __restrict
+    guard: null
+    attributes: []
+  - name: sigaltstack
+    standards: 
+      - POSIX 
+    return_type: int
+    arguments:
+      - type: const stack_t * __restrict
+      - type: stack_t * __restrict
+    guard: null
+    attributes: []
+  - name: sigdelset
+    standards: 
+      - POSIX 
+    return_type: int
+    arguments:
+      - type: sigset_t *
+      - type: int
+    guard: null
+    attributes: []
+  - name: sigaddset
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: sigset_t *
+      - type: int
+    guard: null
+    attributes: []
+  - name: sigemptyset
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: sigset_t *
+    guard: null
+    attributes: []
+  - name: sigprocmask
+    standards: 
+      - POSIX 
+    return_type: int
+    arguments:
+      - type: int
+      - type: const sigset_t * __restrict
+      - type: sigset_t * __restrict
+    guard: null
+    attributes: []
+  - name: sigfillset
+    standards: 
+      - POSIX 
+    return_type: int
+    arguments:
+      - type: sigset_t *
+    guard: null
+    attributes: []
+  - name: signal
+    standards: 
+      - stdc
+    return_type: __sighandler_t
+    arguments:
+      - type: int
+      - type: __sighandler_t
+    guard: null
+    attributes: []
+
+
+
+ 
\ No newline at end of file
diff --git a/libc/newhdrgen/yaml_combined/stdfix.yaml b/libc/newhdrgen/yaml_combined/stdfix.yaml
new file mode 100644
index 0000000000000..79334a6f196ef
--- /dev/null
+++ b/libc/newhdrgen/yaml_combined/stdfix.yaml
@@ -0,0 +1,250 @@
+header: stdfix.h
+macros: []
+types: []
+enums: []
+objects: []
+functions:
+  - name: abshk
+    standards: 
+      - stdc_ext
+    return_type: short accum
+    arguments:
+      - type: short accum
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: abshr
+    standards: 
+      - stdc_ext
+    return_type: short fract
+    arguments:
+      - type: short fract
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: absk
+    standards: 
+      - stdc_ext
+    return_type: accum
+    arguments:
+      - type: accum
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: absr
+    standards: 
+      - stdc_ext
+    return_type: fract
+    arguments:
+      - type: fract
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: abslk
+    standards: 
+      - stdc_ext
+    return_type: long accum
+    arguments:
+      - type: long accum
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: abslr
+    standards: 
+      - stdc_ext
+    return_type: long fract
+    arguments:
+      - type: long fract
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: exphk
+    standards: 
+      - stdc_ext
+      - llvm_libc_stdfix_ext
+    return_type: short accum
+    arguments:
+      - type: short accum
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: expk
+    standards: 
+      - stdc_ext
+      - llvm_libc_stdfix_ext
+    return_type: accum
+    arguments:
+      - type: accum
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: roundhk
+    standards: 
+      - stdc_ext
+    return_type: short accum
+    arguments:
+      - type: short accum
+      - type: int
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: roundhr
+    standards: 
+      - stdc_ext
+    return_type: short fract
+    arguments:
+      - type: short fract
+      - type: int
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: roundk
+    standards: 
+      - stdc_ext
+    return_type: accum
+    arguments:
+      - type: accum
+      - type: int
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: roundr
+    standards: 
+      - stdc_ext
+    return_type: fract
+    arguments:
+      - type: fract
+      - type: int
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: roundlk
+    standards: 
+      - stdc_ext
+    return_type: long accum
+    arguments:
+      - type: long accum
+      - type: int
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: roundlr
+    standards: 
+      - stdc_ext
+    return_type: long fract
+    arguments:
+      - type: long fract
+      - type: int
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: rounduhk
+    standards: 
+      - stdc_ext
+    return_type: unsigned short accum
+    arguments:
+      - type: unsigned short accum
+      - type: int
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: rounduhr
+    standards: 
+      - stdc_ext
+    return_type: unsigned short fract
+    arguments:
+      - type: unsigned short fract
+      - type: int
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: rounduk
+    standards: 
+      - stdc_ext
+    return_type: unsigned accum
+    arguments:
+      - type: unsigned accum
+      - type: int
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: roundur
+    standards: 
+      - stdc_ext
+    return_type: unsigned fract
+    arguments:
+      - type: unsigned fract
+      - type: int
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: roundulk
+    standards: 
+      - stdc_ext
+    return_type: unsigned long accum
+    arguments:
+      - type: unsigned long accum
+      - type: int
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: roundulr
+    standards: 
+      - stdc_ext
+    return_type: unsigned long fract
+    arguments:
+      - type: unsigned long fract
+      - type: int
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: sqrtuhk
+    standards: 
+      - stdc_ext
+      - llvm_libc_stdfix_ext
+    return_type: unsigned short accum
+    arguments:
+      - type: unsigned short accum
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: sqrtuhr
+    standards: 
+      - stdc_ext
+      - llvm_libc_stdfix_ext
+    return_type: unsigned short fract
+    arguments:
+      - type: unsigned short fract
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: sqrtuk
+    standards: 
+      - stdc_ext 
+      - llvm_libc_stdfix_ext
+    return_type: unsigned accum
+    arguments:
+      - type: unsigned accum
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: sqrtur
+    standards: 
+      - stdc_ext
+      - llvm_libc_stdfix_ext
+    return_type: unsigned fract
+    arguments:
+      - type: unsigned fract
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: sqrtulr
+    standards: 
+      - stdc_ext  
+      - llvm_libc_stdfix_ext
+    return_type: unsigned long fract
+    arguments:
+      - type: unsigned long fract
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: sqrtulk
+    standards: llvm_libc_stdfix_ext
+    return_type: unsigned long accum
+    arguments:
+      - type: unsigned long accum
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: uhksqrtus 
+    standards: 
+      - stdc_ext
+      - llvm_libc_stdfix_ext
+    return_type: unsigned short accum
+    arguments:
+      - type: unsigned short
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
+  - name: uksqrtui
+    standards: 
+      - stdc_ext 
+      - llvm_libc_stdfix_ext
+    return_type: unsigned accum
+    arguments:
+      - type: unsigned int
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
+    attributes: []
diff --git a/libc/newhdrgen/yaml_combined/stdio.yaml b/libc/newhdrgen/yaml_combined/stdio.yaml
new file mode 100644
index 0000000000000..4e2bc7342a90b
--- /dev/null
+++ b/libc/newhdrgen/yaml_combined/stdio.yaml
@@ -0,0 +1,470 @@
+header: stdio.h
+macros:
+  - macro_name: _IONBF
+    macro_value: 2
+  - macro_name: _IOLBF
+    macro_value: 1
+  - macro_name: _IOFBF
+    macro_value: 0
+  - macro_name: stdout
+    macro_value: stdout
+  - macro_name: stdin
+    macro_value: stdin
+types:
+  - type_name: size_t
+  - type_name: off_t
+  - type_name: cookie_io_functions_t
+  - type_name: FILE
+enums: []
+objects:
+  - object_name: stdin
+    object_type: FILE *
+  - object_name: stdout
+    object_type: FILE *
+  - object_name: stderr
+    object_type: FILE *
+functions:
+  - name: remove
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: rename
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char *
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: sprintf
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: char * __restrict
+      - type: const char * __restrict
+      - type: ...
+    guard: null
+    attributes: []
+  - name: snprintf
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: char * __restrict
+      - type: size_t
+      - type: const char * __restrict
+      - type: ...
+    guard: null
+    attributes: []
+  - name: fprintf
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: FILE * __restrict
+      - type: const char * __restrict
+      - type: ...
+    guard: null
+    attributes: []
+  - name: printf
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char * __restrict
+      - type: ...
+    guard: null
+    attributes: []
+  - name: vsprintf
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: char * __restrict
+      - type: const char * __restrict
+      - type: va_list
+    guard: null
+    attributes: []
+  - name: vsnprintf
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: char * __restrict
+      - type: size_t
+      - type: const char * __restrict
+      - type: va_list
+    guard: null
+    attributes: []
+  - name: vfprintf
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: FILE * __restrict
+      - type: const char * __restrict
+      - type: va_list
+    guard: null
+    attributes: []
+  - name: vprintf
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char * __restrict
+      - type: va_list
+    guard: null
+    attributes: []
+  - name: sscanf
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char * __restrict
+      - type: const char * __restrict
+      - type: ...
+    guard: null
+    attributes: []
+  - name: scanf
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char * __restrict
+      - type: ...
+    guard: null
+    attributes: []
+  - name: fscanf
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: FILE * __restrict
+      - type: const char * __restrict
+      - type: ...
+    guard: null
+    attributes: [] 
+  - name: fileno
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: clearerr
+    standards: 
+      - stdc
+    return_type: void
+    arguments:
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: clearerr_unlocked
+    standards: 
+      - GNUExtensions
+    return_type: void
+    arguments:
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: fclose
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: flockfile
+    standards: 
+      - POSIX 
+    return_type: void
+    arguments:
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: feof
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: feof_unlocked
+    standards: 
+      - GNUExtensions
+    return_type: int
+    arguments:
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: ferror
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: ferror_unlocked
+    standards: 
+      - GNUExtensions
+    return_type: int
+    arguments:
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: fgetc
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: fgetc_unlocked
+    standards: 
+      - GNUExtensions
+    return_type: int
+    arguments:
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: fgets
+    standards: 
+      - stdc 
+    return_type: char *
+    arguments:
+      - type: char * __restrict
+      - type: int
+      - type: FILE * __restrict
+    guard: null
+    attributes: []
+  - name: fflush
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: fopen
+    standards: 
+      - stdc 
+    return_type: FILE *
+    arguments:
+      - type: const char *
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: fputc
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: fputs
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char * __restrict
+      - type: FILE * __restrict
+    guard: null
+    attributes: []
+  - name: fopencookie
+    standards: 
+      - GNUExtensions
+    return_type: FILE *
+    arguments:
+      - type: void *
+      - type: const char *
+      - type: cookie_io_functions_t
+    guard: null
+    attributes: []
+  - name: fread
+    standards: 
+      - stdc
+    return_type: size_t
+    arguments:
+      - type: void * __restrict
+      - type: size_t
+      - type: size_t
+      - type: FILE * __restrict
+    guard: null
+    attributes: []
+  - name: fread_unlocked
+    standards: 
+      - GNUExtensions
+    return_type: size_t
+    arguments:
+      - type: void * __restrict
+      - type: size_t
+      - type: size_t
+      - type: FILE * __restrict
+    guard: null
+    attributes: []
+  - name: fseek
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: FILE *
+      - type: long
+      - type: int
+    guard: null
+    attributes: []
+  - name: ftell 
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: funlockfile
+    standards: 
+      - POSIX
+    return_type: void
+    arguments:
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: fwrite
+    standards: 
+      - stdc
+    return_type: size_t
+    arguments:
+      - type: const void * __restrict
+      - type: size_t
+      - type: size_t
+      - type: FILE * __restrict
+    guard: null
+    attributes: []
+  - name: fwrite_unlocked
+    standards: 
+      - GNUExtensions
+    return_type: size_t
+    arguments:
+      - type: const void * __restrict
+      - type: size_t
+      - type: size_t
+      - type: FILE * __restrict
+    guard: null
+    attributes: []
+  - name: getc
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: getc_unlocked
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: getchar
+    standards: 
+      - stdc
+    return_type: int
+    arguments: []
+    guard: null
+    attributes: []
+  - name: getchar_unlocked
+    standards: 
+      - POSIX
+    return_type: int
+    arguments: []
+    guard: null
+    attributes: []
+  - name: putc
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: putchar
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: puts
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: setbuf
+    standards: 
+      - stdc
+    return_type: void
+    arguments:
+      - type: FILE * __restrict
+      - type: char * __restrict
+    guard: null
+    attributes: []
+  - name: setvbuf
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: FILE * __restrict
+      - type: char * __restrict
+      - type: int
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: ungetc
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+      - type: FILE *
+    guard: null
+    attributes: []
+  - name: stderr
+    standards: 
+      - stdc
+    return_type: extern FILE *
+    arguments: []
+    guard: null
+    attributes: []
+  - name: stdin
+    standards: 
+      - stdc
+    return_type: extern FILE *
+    arguments: []
+    guard: null
+    attributes: []
+  - name: stdout
+    standards: 
+      - stdc 
+    return_type: extern FILE *
+    arguments: []
+    guard: null
+    attributes: []
diff --git a/libc/newhdrgen/yaml_combined/stdlib.yaml b/libc/newhdrgen/yaml_combined/stdlib.yaml
new file mode 100644
index 0000000000000..89651faecaea5
--- /dev/null
+++ b/libc/newhdrgen/yaml_combined/stdlib.yaml
@@ -0,0 +1,347 @@
+header: stdlib.h
+standards: 
+      - stdc
+macros: []
+types:
+  - type_name: __atexithandler_t
+  - type_name: __qsortrcompare_t
+  - type_name: __qsortcompare_t
+  - type_name: __bsearchcompare_t
+  - type_name: size_t
+  - type_name: lldiv_t
+  - type_name: ldiv_t
+  - type_name: div_t
+enums: []
+objects: []
+functions:
+  - name: abs
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: atoi
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: atof
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: const char * __restrict
+    guard: null
+    attributes: []
+  - name: atol
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: atoll
+    standards: 
+      - stdc
+    return_type: long long
+    arguments:
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: bsearch
+    standards: 
+      - stdc
+    return_type: void *
+    arguments:
+      - type: const void *
+      - type: const void *
+      - type: size_t
+      - type: size_t
+      - type: __bsearchcompare_t
+    guard: null
+    attributes: []
+  - name: div
+    standards: 
+      - stdc
+    return_type: div_t
+    arguments:
+      - type: int
+      - type: int
+    guard: null
+    attributes: []
+  - name: labs
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: long
+    guard: null
+    attributes: []
+  - name: ldiv
+    standards: 
+      - stdc
+    return_type: ldiv_t
+    arguments:
+      - type: long
+      - type: long
+    guard: null
+    attributes: []
+  - name: llabs
+    standards: 
+      - stdc
+    return_type: long long
+    arguments:
+      - type: long long
+    guard: null
+    attributes: []
+  - name: lldiv
+    standards: 
+      - stdc
+    return_type: lldiv_t
+    arguments:
+      - type: long long
+      - type: long long
+    guard: null
+    attributes: []
+  - name: qsort
+    standards: 
+      - stdc
+    return_type: void
+    arguments:
+      - type: void *
+      - type: size_t
+      - type: size_t
+      - type: __qsortcompare_t
+    guard: null
+    attributes: []
+  - name: qsort_r
+    standards: 
+      - GNUExtensions 
+    return_type: void
+    arguments:
+      - type: void *
+      - type: size_t
+      - type: size_t
+      - type: __qsortrcompare_t
+      - type: void *
+    guard: null
+    attributes: []
+  - name: rand
+    standards: 
+      - stdc
+    return_type: int
+    arguments: []
+    guard: null
+    attributes: []
+  - name: srand
+    standards: 
+      - stdc
+    return_type: void
+    arguments:
+      - type: unsigned int
+    guard: null
+    attributes: []
+  - name: strfromd
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: char * __restrict
+      - type: size_t
+      - type: const char * __restrict
+      - type: double
+    guard: null
+    attributes: []
+  - name: strfromf
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: char * __restrict
+      - type: size_t
+      - type: const char * __restrict
+      - type: float
+    guard: null
+    attributes: []
+  - name: strfroml
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: char * __restrict
+      - type: size_t
+      - type: const char * __restrict
+      - type: long double
+    guard: null
+    attributes: []
+  - name: strtod
+    standards: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: const char * __restrict
+      - type: char * * __restrict
+    guard: null
+    attributes: []
+  - name: strtof
+    standards: 
+      - stdc
+    return_type: float
+    arguments:
+      - type: const char * __restrict
+      - type: char * * __restrict
+    guard: null
+    attributes: []
+  - name: strtol
+    standards: 
+      - stdc
+    return_type: long
+    arguments:
+      - type: const char * __restrict
+      - type: char * * __restrict
+      - type: int
+    guard: null
+    attributes: []
+  - name: strtold
+    standards: 
+      - stdc
+    return_type: long double
+    arguments:
+      - type: const char * __restrict
+      - type: char * * __restrict
+    guard: null
+    attributes: []
+  - name: strtoll
+    standards: 
+      - stdc
+    return_type: long long
+    arguments:
+      - type: const char * __restrict
+      - type: char * * __restrict
+      - type: int
+    guard: null
+    attributes: []
+  - name: strtoul
+    standards: 
+      - stdc
+    return_type: unsigned long
+    arguments:
+      - type: const char * __restrict
+      - type: char * * __restrict
+      - type: int
+    guard: null
+    attributes: []
+  - name: strtoull
+    standards: 
+      - stdc
+    return_type: unsigned long long
+    arguments:
+      - type: const char * __restrict
+      - type: char * * __restrict
+      - type: int
+    guard: null
+    attributes: []
+  - name: malloc
+    standards: 
+      - stdc
+    return_type: void *
+    arguments:
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: calloc
+    standards: 
+      - stdc
+    return_type: void *
+    arguments:
+      - type: size_t
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: realloc
+    standards: 
+      - stdc
+    return_type: void *
+    arguments:
+      - type: void *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: aligned_alloc
+    standards: 
+      - stdc
+    return_type: void *
+    arguments:
+      - type: size_t
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: free
+    standards: 
+      - stdc
+    return_type: void
+    arguments:
+      - type: void *
+    guard: null
+    attributes: []
+  - name: _Exit
+    standards: 
+      - stdc
+    return_type: _Noreturn void
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: abort
+    standards: 
+      - stdc
+    return_type: _Noreturn void
+    arguments: []
+    guard: null
+    attributes: []
+  - name: at_quick_exit
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: __atexithandler_t
+    guard: null
+    attributes: []
+  - name: atexit
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: __atexithandler_t
+    guard: null
+    attributes: []
+  - name: exit
+    standards: 
+      - stdc
+    return_type: _Noreturn void
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: getenv
+    standards: 
+      - stdc
+    return_type: char *
+    arguments:
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: quick_exit
+    standards: 
+      - stdc
+    return_type: _Noreturn void
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
diff --git a/libc/newhdrgen/yaml_combined/string.yaml b/libc/newhdrgen/yaml_combined/string.yaml
new file mode 100644
index 0000000000000..668d354dbdaa0
--- /dev/null
+++ b/libc/newhdrgen/yaml_combined/string.yaml
@@ -0,0 +1,386 @@
+header: string.h
+macros: []
+types:
+  - type_name: size_t
+enums: []
+objects: []
+functions:
+  - name: memcpy
+    standards: 
+      - stdc
+    return_type: void *
+    arguments:
+      - type: void *__restrict
+      - type: const void *__restrict
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: memmove
+    standards: 
+      - stdc
+    return_type: void *
+    arguments:
+      - type: void *
+      - type: const void *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: memcmp
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: const void *
+      - type: const void *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: memchr
+    standards: 
+      - stdc
+    return_type: void *
+    arguments:
+      - type: const void *
+      - type: int
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: memset
+    standards: 
+      - stdc
+    return_type: void *
+    arguments:
+      - type: void *
+      - type: int
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: memset_explicit
+    standards: 
+      - stdc
+    return_type: void *
+    arguments:
+      - type: void *
+      - type: int
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: strcpy
+    standards: 
+      - stdc
+    return_type: char
+    arguments:
+      - type: char *__restrict
+      - type: const char *__restrict
+    guard: null
+    attributes: []
+  - name: strncpy
+    standards: 
+      - stdc
+    return_type: char *
+    arguments:
+      - type: char *__restrict
+      - type: const char *__restrict
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: strcat
+    standards: 
+      - stdc
+    return_type: char *
+    arguments:
+      - type: char *__restrict
+      - type: const char *__restrict
+    guard: null
+    attributes: []
+  - name: strncat
+    standards: 
+      - stdc
+    return_type: char *
+    arguments:
+      - type: char *
+      - type: const char *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: strcmp
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char *
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: strcoll
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char *
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: strncmp
+    standards: 
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char *
+      - type: const char *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: strxfrm
+    standards: 
+      - stdc
+    return_type: size_t
+    arguments:
+      - type: char *__restrict
+      - type: const char *__restrict
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: strchr
+    standards: 
+      - stdc
+    return_type: char *
+    arguments:
+      - type: const char *
+      - type: int
+    guard: null
+    attributes: []
+  - name: strcspn
+    standards: 
+      - stdc
+    return_type: size_t
+    arguments:
+      - type: const char *
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: strdup
+    return_type: char *
+    arguments:
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: strndup
+    standards: 
+      - stdc
+    return_type: char *
+    arguments:
+      - type: const char *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: strpbrk
+    standards: 
+      - stdc
+    return_type: char *
+    arguments:
+      - type: const char *
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: strrchr
+    standards: 
+      - stdc
+    return_type: char *
+    arguments:
+      - type: const char *
+      - type: int
+    guard: null
+    attributes: []
+  - name: strspn
+    standards: 
+      - stdc
+    return_type: size_t
+    arguments:
+      - type: const char *
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: strstr
+    standards: 
+      - stdc
+    return_type: char *
+    arguments:
+      - type: const char *
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: strtok
+    standards: 
+      - stdc
+    return_type: char *
+    arguments:
+      - type: char *__restrict
+      - type: const char *__restrict
+    guard: null
+    attributes: []
+  - name: strerror
+    standards: 
+      - stdc
+    return_type: char *
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: strlen
+    standards: 
+      - stdc
+    return_type: size_t
+    arguments:
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: memccpy
+    standards: 
+      - POSIX
+    return_type: void *
+    arguments:
+      - type: void *__restrict
+      - type: const void *__restrict
+      - type: int
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: mempcpy
+    standards: 
+      - POSIX
+    return_type: void *
+    arguments:
+      - type: void *__restrict
+      - type: const void *__restrict
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: stpcpy
+    standards: 
+      - POSIX
+    return_type: char *
+    arguments:
+      - type: char *__restrict
+      - type: const char *__restrict
+    guard: null
+    attributes: []
+  - name: stpncpy
+    standards: 
+      - POSIX
+    return_type: char *
+    arguments:
+      - type: char *__restrict
+      - type: const char *__restrict
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: strnlen
+    standards: 
+      - POSIX
+    return_type: size_t
+    arguments:
+      - type: const char *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: strtok_r
+    standards: 
+      - POSIX
+    return_type: char *
+    arguments:
+      - type: char *__restrict
+      - type: const char *__restrict
+      - type: char ** __restrict
+    guard: null
+    attributes: []
+  - name: strsignal
+    standards: 
+      - POSIX
+    return_type: char *
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: memmem
+    standards: 
+      - GNUExtensions
+    return_type: void *
+    arguments:
+      - type: const void *
+      - type: size_t
+      - type: const void *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: memrchr
+    standards: 
+      - GNUExtensions
+    return_type: void *
+    arguments:
+      - type: const void *
+      - type: int
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: strerror_r
+    standards: 
+      - GNUExtensions
+    return_type: char *
+    arguments:
+      - type: int
+      - type: char *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: strcasestr
+    standards: 
+      - GNUExtensions
+    return_type: char *
+    arguments:
+      - type: const char *
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: strchrnul
+    standards: 
+      - GNUExtensions
+    return_type: char *
+    arguments:
+      - type: const char *
+      - type: int
+    guard: null
+    attributes: []
+  - name: strlcat
+    standards: 
+      - BSDExtensions
+    return_type: size_t
+    arguments:
+      - type: char *__restrict
+      - type: char *__restrict
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: strlcpy
+    standards: 
+      - BSDExtensions
+    return_type: size_t
+    arguments:
+      - type: char *__restrict
+      - type: char *__restrict
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: strsep
+    standards: 
+      - BSDExtensions
+    return_type: char *
+    arguments:
+      - type: char **__restrict
+      - type: char *__restrict
+    guard: null
+    attributes: []
+
+
+
+
diff --git a/libc/newhdrgen/yaml_combined/strings.yaml b/libc/newhdrgen/yaml_combined/strings.yaml
new file mode 100644
index 0000000000000..e43c5bd4f570d
--- /dev/null
+++ b/libc/newhdrgen/yaml_combined/strings.yaml
@@ -0,0 +1,72 @@
+header: strings.h
+macros: []
+types: []
+enums: []
+objects: []
+functions:
+  - name: bcopy
+    standards: 
+      - llvm_libc_ext
+    return_type: void
+    arguments:
+      - type: const void *
+      - type: void *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: bzero
+    standards: 
+      - llvm_libc_ext
+    return_type: void
+    arguments:
+      - type: void *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: bcmp
+    standards: 
+      - llvm_libc_ext
+    return_type: int
+    arguments:
+      - type: const void *
+      - type: const void *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: strcasecmp
+    standards: 
+      - BSDExtensions
+    return_type: int
+    arguments:
+      - type: const char *
+      - type: const char *
+    guard: null
+    attributes: []
+  - name: strncasecmp
+    standards: 
+      - BSDExtensions
+    return_type: int
+    arguments:
+      - type: const char *
+      - type: const char *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: index
+    standards: 
+      - BSDExtensions
+    return_type: char *
+    arguments:
+      - type: const char *
+      - type: int
+    guard: null
+    attributes: []
+  - name: rindex
+    standards: 
+      - BSDExtensions
+    return_type: char *
+    arguments:
+      - type: const char *
+      - type: int
+    guard: null
+    attributes: []
\ No newline at end of file
diff --git a/libc/newhdrgen/yaml_combined/sys_mman.yaml b/libc/newhdrgen/yaml_combined/sys_mman.yaml
new file mode 100644
index 0000000000000..df33c9a7e5311
--- /dev/null
+++ b/libc/newhdrgen/yaml_combined/sys_mman.yaml
@@ -0,0 +1,145 @@
+#known as sys/mman in POSIX 
+header: sys-mman.h
+standards: POSIX
+macros: []
+macros: []
+types:
+  - type_name: mode_t
+  - type_name: size_t
+  - type_name: off_t
+enums: []
+objects: []
+functions:
+  - name: madvise
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: void *
+      - type: size_t
+      - type: int
+    guard: null
+    attributes: []
+  - name: mmap
+    standards: 
+      - POSIX
+    return_type: void *
+    arguments:
+      - type: void *
+      - type: size_t
+      - type: int
+      - type: int
+      - type: int
+      - type: off_t
+    guard: null
+    attributes: []
+  - name: mprotect
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: void *
+      - type: size_t
+      - type: int
+    guard: null
+    attributes: []
+  - name: munmap
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: void *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: POSIX_madvise
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: void *
+      - type: size_t
+      - type: int
+    guard: null
+    attributes: []
+  # this is a linux function
+  - name: mincore
+    standards: 
+      - Linux
+    return_type: int
+    arguments:
+      - type: void *
+      - type: size_t
+      - type: unsigned char *
+    guard: null
+    attributes: []
+  - name: mlock
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: void *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: mlock2
+    standards: 
+      - Linux
+    return_type: int
+    arguments:
+      - type: void *
+      - type: size_t
+      - type: unsigned int
+    guard: null
+    attributes: []
+  - name: munlock
+    standards: POSIX
+    return_type: int
+    arguments:
+      - type: void *
+      - type: size_t
+    guard: null
+    attributes: []
+  - name: mlockall
+    standards: 
+      -POSIX
+    return_type: int
+    arguments:
+      - type: int
+    guard: null
+    attributes: []
+  - name: munlockall
+    standards: 
+      - POSIX
+    return_type: int
+    arguments: []
+    guard: null
+    attributes: []
+  - name: msync
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: void *
+      - type: size_t
+      - type: int
+    guard: null
+    attributes: []
+  - name: shm_open
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: const char *
+      - type: int
+      - type: mode_t
+    guard: null
+    attributes: []
+  - name: shm_unlink
+    standards: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: const char *
+    guard: null
+    attributes: []
diff --git a/libc/newhdrgen/yaml_combined/sys_wait.yaml b/libc/newhdrgen/yaml_combined/sys_wait.yaml
new file mode 100644
index 0000000000000..3d1a2f2921e6d
--- /dev/null
+++ b/libc/newhdrgen/yaml_combined/sys_wait.yaml
@@ -0,0 +1,39 @@
+header: sys-wait.h #sys/wait.h
+macros: []
+types:
+  - type_name: siginfo_t
+  - type_name: struct_rusage
+  - type_name: pid_t
+enums: []
+objects: []
+functions:
+  - name: wait
+    standards: 
+      - POSIX
+    return_type: pid_t
+    arguments:
+      - type: int *
+    guard: null
+    attributes: []
+  - name: wait4
+    standards: 
+      - BSDExtensions
+      - POSIX 
+    return_type: pid_t
+    arguments:
+      - type: pid_t
+      - type: int *
+      - type: int
+      - type: struct rusage *
+    guard: null
+    attributes: []
+  - name: waitpid
+    standards: 
+      - POSIX
+    return_type: pid_t
+    arguments:
+      - type: pid_t
+      - type: int *
+      - type: int
+    guard: null
+    attributes: []
diff --git a/libc/newhdrgen/yaml_combined/time.yaml b/libc/newhdrgen/yaml_combined/time.yaml
new file mode 100644
index 0000000000000..8dddfe35dc9eb
--- /dev/null
+++ b/libc/newhdrgen/yaml_combined/time.yaml
@@ -0,0 +1,106 @@
+header: time.h
+macros: []
+types:
+  - type_name: struct_timeval
+  - type_name: clockid_t
+  - type_name: struct_timespec
+  - type_name: struct_tm
+  - type_name: time_t
+  - type_name: clock_t
+enums: []
+objects: []
+functions:
+  - name: asctime
+    standard:
+      - stdc
+    return_type: char *
+    arguments:
+      - type: struct tm *
+    guard: null
+    attributes: []
+  - name: asctime_r
+    standard: 
+      - stdc
+    return_type: char *
+    arguments:
+      - type: struct tm *
+      - type: char *
+    guard: null
+    attributes: []
+  - name: clock_gettime
+    standard: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: clockid_t
+      - type: struct timespec *
+    guard: null
+    attributes: []
+  - name: clock
+    standard: 
+      - stdc
+    return_type: clock_t
+    arguments: []
+    guard: null
+    attributes: []
+  - name: difftime
+    standard: 
+      - stdc
+    return_type: double
+    arguments:
+      - type: time_t
+      - type: time_t
+    guard: null
+    attributes: []
+  - name: gettimeofday
+    standard: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: struct timeval *
+      - type: void *
+    guard: null
+    attributes: []
+  - name: gmtime
+    standard: 
+      - stdc
+    return_type: struct tm *
+    arguments:
+      - type: time_t *
+    guard: null
+    attributes: []
+  - name: gmtime_r
+    standard: 
+      - stdc
+    return_type: struct tm *
+    arguments:
+      - type: time_t *
+      - type: struct tm *
+    guard: null
+    attributes: []
+  - name: mktime
+    standard: 
+      - stdc
+    return_type: time_t
+    arguments:
+      - type: struct tm *
+    guard: null
+    attributes: []
+  - name: nanosleep
+    standard: 
+      - POSIX
+    return_type: int
+    arguments:
+      - type: const struct timespec *
+      - type: struct timespec *
+    guard: null
+    attributes: []
+  - name: time
+    standard: 
+      - stdc
+    return_type: time_t
+    arguments:
+      - type: time_t *
+    guard: null
+    attributes: []
+



More information about the libc-commits mailing list