[libc-commits] [libc] [libc] added yaml_combined files, frontend for new headergen (PR #96833)

via libc-commits libc-commits at lists.llvm.org
Thu Jun 27 14:04:16 PDT 2024


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

>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 1/3] [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: []
+

>From 6916612b39ee03880042e27f9af8a047df341df8 Mon Sep 17 00:00:00 2001
From: Aaryan Shukla <aaryanshukla at google.com>
Date: Thu, 27 Jun 2024 17:42:15 +0000
Subject: [PATCH 2/3] addressed comments regarding linespacing

---
 libc/newhdrgen/yaml_combined/ctype.yaml   | 2 --
 libc/newhdrgen/yaml_combined/math.yaml    | 3 ++-
 libc/newhdrgen/yaml_combined/pthread.yaml | 2 --
 libc/newhdrgen/yaml_combined/signal.yaml  | 5 +----
 libc/newhdrgen/yaml_combined/string.yaml  | 4 ----
 libc/newhdrgen/yaml_combined/strings.yaml | 3 ++-
 libc/newhdrgen/yaml_combined/time.yaml    | 1 -
 7 files changed, 5 insertions(+), 15 deletions(-)

diff --git a/libc/newhdrgen/yaml_combined/ctype.yaml b/libc/newhdrgen/yaml_combined/ctype.yaml
index 74d2b6071c6d0..78f695915d0fa 100644
--- a/libc/newhdrgen/yaml_combined/ctype.yaml
+++ b/libc/newhdrgen/yaml_combined/ctype.yaml
@@ -133,5 +133,3 @@ functions:
       - type: int
     guard: null
     attributes: []
-
-
diff --git a/libc/newhdrgen/yaml_combined/math.yaml b/libc/newhdrgen/yaml_combined/math.yaml
index cbd66ab9c02d3..da27434bbdc10 100644
--- a/libc/newhdrgen/yaml_combined/math.yaml
+++ b/libc/newhdrgen/yaml_combined/math.yaml
@@ -2328,4 +2328,5 @@ functions:
     arguments:
       - type: float
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
\ No newline at end of file
+    attributes: []
+    
\ No newline at end of file
diff --git a/libc/newhdrgen/yaml_combined/pthread.yaml b/libc/newhdrgen/yaml_combined/pthread.yaml
index 751c6a88fae2f..b60110c3b3bda 100644
--- a/libc/newhdrgen/yaml_combined/pthread.yaml
+++ b/libc/newhdrgen/yaml_combined/pthread.yaml
@@ -463,5 +463,3 @@ functions:
       - type: const void *
     guard: null
     attributes: []
-
-   
diff --git a/libc/newhdrgen/yaml_combined/signal.yaml b/libc/newhdrgen/yaml_combined/signal.yaml
index 8bc81a2e06763..05428536977a3 100644
--- a/libc/newhdrgen/yaml_combined/signal.yaml
+++ b/libc/newhdrgen/yaml_combined/signal.yaml
@@ -102,7 +102,4 @@ functions:
       - type: __sighandler_t
     guard: null
     attributes: []
-
-
-
- 
\ No newline at end of file
+    
\ No newline at end of file
diff --git a/libc/newhdrgen/yaml_combined/string.yaml b/libc/newhdrgen/yaml_combined/string.yaml
index 668d354dbdaa0..9c817d2074da7 100644
--- a/libc/newhdrgen/yaml_combined/string.yaml
+++ b/libc/newhdrgen/yaml_combined/string.yaml
@@ -380,7 +380,3 @@ functions:
       - type: char *__restrict
     guard: null
     attributes: []
-
-
-
-
diff --git a/libc/newhdrgen/yaml_combined/strings.yaml b/libc/newhdrgen/yaml_combined/strings.yaml
index e43c5bd4f570d..8feaf6d96c937 100644
--- a/libc/newhdrgen/yaml_combined/strings.yaml
+++ b/libc/newhdrgen/yaml_combined/strings.yaml
@@ -69,4 +69,5 @@ functions:
       - type: const char *
       - type: int
     guard: null
-    attributes: []
\ No newline at end of file
+    attributes: []
+    
\ No newline at end of file
diff --git a/libc/newhdrgen/yaml_combined/time.yaml b/libc/newhdrgen/yaml_combined/time.yaml
index 8dddfe35dc9eb..23b93dda99271 100644
--- a/libc/newhdrgen/yaml_combined/time.yaml
+++ b/libc/newhdrgen/yaml_combined/time.yaml
@@ -103,4 +103,3 @@ functions:
       - type: time_t *
     guard: null
     attributes: []
-

>From 688394c59dbd4cf000e92dca5ff49c5b5dc812e8 Mon Sep 17 00:00:00 2001
From: Aaryan Shukla <aaryanshukla at google.com>
Date: Thu, 27 Jun 2024 21:02:23 +0000
Subject: [PATCH 3/3] addressed comments regarding guard/attributes

- reduced boilerplate and changed script to update
- updated function.py to handle guard/attributes as none
---
 .../class_implementation/classes/function.py  |   6 +-
 libc/newhdrgen/yaml_combined/ctype.yaml       |  32 --
 libc/newhdrgen/yaml_combined/fenv.yaml        |  28 --
 libc/newhdrgen/yaml_combined/math.yaml        | 448 ------------------
 libc/newhdrgen/yaml_combined/pthread.yaml     |  94 ----
 libc/newhdrgen/yaml_combined/sched.yaml       |  22 -
 libc/newhdrgen/yaml_combined/signal.yaml      |  21 -
 libc/newhdrgen/yaml_combined/stdfix.yaml      |  28 --
 libc/newhdrgen/yaml_combined/stdio.yaml       | 102 +---
 libc/newhdrgen/yaml_combined/stdlib.yaml      |  74 ---
 libc/newhdrgen/yaml_combined/string.yaml      |  80 ----
 libc/newhdrgen/yaml_combined/strings.yaml     |  15 -
 libc/newhdrgen/yaml_combined/sys_mman.yaml    |  29 +-
 libc/newhdrgen/yaml_combined/sys_wait.yaml    |   6 -
 libc/newhdrgen/yaml_combined/time.yaml        |  22 -
 libc/newhdrgen/yaml_to_classes.py             |  18 +-
 16 files changed, 16 insertions(+), 1009 deletions(-)

diff --git a/libc/newhdrgen/class_implementation/classes/function.py b/libc/newhdrgen/class_implementation/classes/function.py
index dc73e0e1ea5a9..7d77a0b632e64 100644
--- a/libc/newhdrgen/class_implementation/classes/function.py
+++ b/libc/newhdrgen/class_implementation/classes/function.py
@@ -16,14 +16,14 @@ def __init__(
         self.standards = standards
         self.return_type = return_type
         self.name = name
-        self.arguments = [arg["type"] for arg in arguments]
+        self.arguments = [arg if isinstance(arg, str) else arg['type'] for arg in arguments]
         self.guard = guard
         self.attributes = attributes
 
     def __str__(self):
-        args_str = ", ".join(self.arguments)
         attributes_str = " ".join(self.attributes)
-        result = f"{self.return_type} {self.name}({args_str}){attributes_str};"
+        arguments_str = ", ".join(self.arguments)
+        result = f"{self.return_type} {self.name}({arguments_str}){attributes_str};"
         if self.guard:
             result = f"#ifdef {self.guard}\n{result}\n#endif // {self.guard}"
         return result
diff --git a/libc/newhdrgen/yaml_combined/ctype.yaml b/libc/newhdrgen/yaml_combined/ctype.yaml
index 78f695915d0fa..a4a3048ede872 100644
--- a/libc/newhdrgen/yaml_combined/ctype.yaml
+++ b/libc/newhdrgen/yaml_combined/ctype.yaml
@@ -10,112 +10,84 @@ functions:
     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: 
@@ -123,13 +95,9 @@ functions:
     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
index a191723e8a003..e7ff8cdf4e3b0 100644
--- a/libc/newhdrgen/yaml_combined/fenv.yaml
+++ b/libc/newhdrgen/yaml_combined/fenv.yaml
@@ -12,16 +12,12 @@ functions:
     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
@@ -29,47 +25,35 @@ functions:
     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
@@ -77,16 +61,12 @@ functions:
     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
@@ -94,24 +74,18 @@ functions:
     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
@@ -131,5 +105,3 @@ functions:
       - GNUExtensions
     return_type: int
     arguments: []
-    guard: null
-    attributes: []
diff --git a/libc/newhdrgen/yaml_combined/math.yaml b/libc/newhdrgen/yaml_combined/math.yaml
index da27434bbdc10..dbb1e6ec63030 100644
--- a/libc/newhdrgen/yaml_combined/math.yaml
+++ b/libc/newhdrgen/yaml_combined/math.yaml
@@ -14,8 +14,6 @@ functions:
     arguments:
       - type: double
       - type: double
-    guard: null
-    attributes: []
   - name: copysignf
     standards: 
       - stdc
@@ -23,8 +21,6 @@ functions:
     arguments:
       - type: float
       - type: float
-    guard: null
-    attributes: []
   - name: copysignl
     standards: 
       - stdc
@@ -32,8 +28,6 @@ functions:
     arguments:
       - type: long double
       - type: long double
-    guard: null
-    attributes: []
   - name: copysignf16
     standards: 
       - stdc
@@ -42,7 +36,6 @@ functions:
       - type: _Float16
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: copysignf128
     standards: 
       - stdc
@@ -51,31 +44,24 @@ functions:
       - 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
@@ -83,7 +69,6 @@ functions:
     arguments:
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: ceilf128
     standards: 
       - stdc
@@ -91,7 +76,6 @@ functions:
     arguments:
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: fabs
     standards: 
       - stdc
@@ -100,23 +84,18 @@ functions:
       - 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
@@ -124,7 +103,6 @@ functions:
     arguments:
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: fabsf128
     standards: 
       - stdc
@@ -132,7 +110,6 @@ functions:
     arguments:
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: fdim
     standards: 
       - stdc
@@ -140,8 +117,6 @@ functions:
     arguments:
       - type: double
       - type: double
-    guard: null
-    attributes: []
   - name: fdimf
     standards: 
       - stdc
@@ -149,8 +124,6 @@ functions:
     arguments:
       - type: float
       - type: float
-    guard: null
-    attributes: []
   - name: fdiml
     standards: 
       - stdc
@@ -158,8 +131,6 @@ functions:
     arguments:
       - type: long double
       - type: long double
-    guard: null
-    attributes: []
   - name: fdimf16
     standards: 
       - stdc
@@ -168,7 +139,6 @@ functions:
       - type: _Float16
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: fdimf128
     standards: 
       - stdc
@@ -177,31 +147,24 @@ functions:
       - 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
@@ -209,7 +172,6 @@ functions:
     arguments:
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: floorf128
     standards: 
       - stdc
@@ -217,7 +179,6 @@ functions:
     arguments:
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: fmin
     standards: 
       - stdc
@@ -225,8 +186,6 @@ functions:
     arguments:
       - type: double
       - type: double
-    guard: null
-    attributes: []
   - name: fminf
     standards: 
       - stdc
@@ -234,8 +193,6 @@ functions:
     arguments:
       - type: float
       - type: float
-    guard: null
-    attributes: []
   - name: fminl
     standards: 
       - stdc
@@ -243,8 +200,6 @@ functions:
     arguments:
       - type: long double
       - type: long double
-    guard: null
-    attributes: []
   - name: fminf16
     standards: 
       - stdc
@@ -253,7 +208,6 @@ functions:
       - type: _Float16
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: fminf128
     standards: 
       - stdc
@@ -261,8 +215,6 @@ functions:
     arguments:
       - type: float128
       - type: float128
-    guard: null
-    attributes: []
   - name: fmax
     standards: 
       - stdc
@@ -270,8 +222,6 @@ functions:
     arguments:
       - type: double
       - type: double
-    guard: null
-    attributes: []
   - name: fmaxf
     standards: 
       - stdc
@@ -279,8 +229,6 @@ functions:
     arguments:
       - type: float
       - type: float
-    guard: null
-    attributes: []
   - name: fmaxl
     standards: 
       - stdc
@@ -288,8 +236,6 @@ functions:
     arguments:
       - type: long double
       - type: long double
-    guard: null
-    attributes: []
   - name: fmaxf16
     standards: 
       - stdc
@@ -298,7 +244,6 @@ functions:
       - type: _Float16
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: fmaxf128
     standards: 
       - stdc
@@ -306,8 +251,6 @@ functions:
     arguments:
       - type: float128
       - type: float128
-    guard: null
-    attributes: []
   - name: fmaximum
     standards: 
       - stdc
@@ -315,8 +258,6 @@ functions:
     arguments:
       - type: double
       - type: double
-    guard: null
-    attributes: []
   - name: fmaximumf
     standards: 
       - stdc
@@ -324,8 +265,6 @@ functions:
     arguments:
       - type: float
       - type: float
-    guard: null
-    attributes: []
   - name: fmaximuml
     standards: 
       - stdc
@@ -333,8 +272,6 @@ functions:
     arguments:
       - type: long double
       - type: long double
-    guard: null
-    attributes: []
   - name: fmaximumf16
     standards: 
       - stdc
@@ -343,7 +280,6 @@ functions:
       - type: _Float16
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: fmaximumf128
     standards: 
       - stdc
@@ -352,7 +288,6 @@ functions:
       - type: float128
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: fmaximum_num
     standards: 
       - stdc
@@ -360,8 +295,6 @@ functions:
     arguments:
       - type: double
       - type: double
-    guard: null
-    attributes: []
   - name: fmaximum_numf
     standards: 
       - stdc
@@ -369,8 +302,6 @@ functions:
     arguments:
       - type: float
       - type: float
-    guard: null
-    attributes: []
   - name: fmaximum_numl
     standards: 
       - stdc
@@ -378,8 +309,6 @@ functions:
     arguments:
       - type: long double
       - type: long double
-    guard: null
-    attributes: []
   - name: fmaximum_numf16
     standards: 
       - stdc
@@ -388,7 +317,6 @@ functions:
       - type: _Float16
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: fmaximum_numf128
     standards: 
       - stdc
@@ -397,7 +325,6 @@ functions:
       - type: float128
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: fmaximum_mag
     standards: 
       - stdc
@@ -405,8 +332,6 @@ functions:
     arguments:
       - type: double
       - type: double
-    guard: null
-    attributes: []
   - name: fmaximum_magf
     standards: 
       - stdc
@@ -414,8 +339,6 @@ functions:
     arguments:
       - type: float
       - type: float
-    guard: null
-    attributes: []
   - name: fmaximum_magl
     standards: 
       - stdc
@@ -423,8 +346,6 @@ functions:
     arguments:
       - type: long double
       - type: long double
-    guard: null
-    attributes: []
   - name: fmaximum_magf16
     standards: 
       - stdc
@@ -433,7 +354,6 @@ functions:
       - type: _Float16
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: fmaximum_magf128
     standards: 
       - stdc
@@ -442,7 +362,6 @@ functions:
       - type: float128
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: fmaximum_mag_num
     standards: 
       - stdc
@@ -450,8 +369,6 @@ functions:
     arguments:
       - type: double
       - type: double
-    guard: null
-    attributes: []
   - name: fmaximum_mag_numf
     standards: 
       - stdc
@@ -459,8 +376,6 @@ functions:
     arguments:
       - type: float
       - type: float
-    guard: null
-    attributes: []
   - name: fmaximum_mag_numl
     standards: 
       - stdc
@@ -468,8 +383,6 @@ functions:
     arguments:
       - type: long double
       - type: long double
-    guard: null
-    attributes: []
   - name: fmaximum_mag_numf16
     standards: 
       - stdc
@@ -478,7 +391,6 @@ functions:
       - type: _Float16
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: fmaximum_mag_numf128
     standards: 
       - stdc
@@ -487,7 +399,6 @@ functions:
       - type: float128
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: fminimum
     standards: 
       - stdc
@@ -495,8 +406,6 @@ functions:
     arguments:
       - type: double
       - type: double
-    guard: null
-    attributes: []
   - name: fminimumf
     standards: 
       - stdc
@@ -504,8 +413,6 @@ functions:
     arguments:
       - type: float
       - type: float
-    guard: null
-    attributes: []
   - name: fminimuml
     standards: 
       - stdc
@@ -513,8 +420,6 @@ functions:
     arguments:
       - type: long double
       - type: long double
-    guard: null
-    attributes: []
   - name: fminimumf16
     standards: 
       - stdc
@@ -523,7 +428,6 @@ functions:
       - type: _Float16
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: fminimumf128
     standards: 
       - stdc
@@ -532,7 +436,6 @@ functions:
       - type: float128
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: fminimum_num
     standards: 
       - stdc
@@ -540,8 +443,6 @@ functions:
     arguments:
       - type: double
       - type: double
-    guard: null
-    attributes: []
   - name: fminimum_numf
     standards: 
       - stdc
@@ -549,8 +450,6 @@ functions:
     arguments:
       - type: float
       - type: float
-    guard: null
-    attributes: []
   - name: fminimum_numl
     standards: 
       - stdc
@@ -558,8 +457,6 @@ functions:
     arguments:
       - type: long double
       - type: long double
-    guard: null
-    attributes: []
   - name: fminimum_numf16
     standards: 
       - stdc
@@ -568,7 +465,6 @@ functions:
       - type: _Float16
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: fminimum_numf128
     standards: 
       - stdc
@@ -577,7 +473,6 @@ functions:
       - type: float128
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: fminimum_mag
     standards: 
       - stdc
@@ -585,8 +480,6 @@ functions:
     arguments:
       - type: double
       - type: double
-    guard: null
-    attributes: []
   - name: fminimum_magf
     standards: 
       - stdc
@@ -594,8 +487,6 @@ functions:
     arguments:
       - type: float
       - type: float
-    guard: null
-    attributes: []
   - name: fminimum_magl
     standards: 
       - stdc
@@ -603,8 +494,6 @@ functions:
     arguments:
       - type: long double
       - type: long double
-    guard: null
-    attributes: []
   - name: fminimum_magf16
     standards: 
       - stdc
@@ -613,7 +502,6 @@ functions:
       - type: _Float16
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: fminimum_magf128
     standards: 
       - stdc
@@ -622,7 +510,6 @@ functions:
       - type: float128
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: fminimum_mag_num
     standards: 
       - stdc
@@ -630,8 +517,6 @@ functions:
     arguments:
       - type: double
       - type: double
-    guard: null
-    attributes: []
   - name: fminimum_mag_numf
     standards: 
       - stdc
@@ -639,8 +524,6 @@ functions:
     arguments:
       - type: float
       - type: float
-    guard: null
-    attributes: []
   - name: fminimum_mag_numl
     standards: 
       - stdc
@@ -648,8 +531,6 @@ functions:
     arguments:
       - type: long double
       - type: long double
-    guard: null
-    attributes: []
   - name: fminimum_mag_numf16
     standards: 
       - stdc
@@ -658,7 +539,6 @@ functions:
       - type: _Float16
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: fminimum_mag_numf128
     standards: 
       - stdc
@@ -667,7 +547,6 @@ functions:
       - type: float128
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: fma
     standards: 
       - stdc
@@ -676,8 +555,6 @@ functions:
       - type: double
       - type: double
       - type: double
-    guard: null
-    attributes: []
   - name: fmaf
     standards: 
       - stdc
@@ -686,8 +563,6 @@ functions:
       - type: float
       - type: float
       - type: float
-    guard: null
-    attributes: []
   - name: f16fmaf
     standards: 
       - stdc
@@ -697,7 +572,6 @@ functions:
       - type: float
       - type: float
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: fmod
     standards: 
       - stdc
@@ -705,8 +579,6 @@ functions:
     arguments:
       - type: double
       - type: double
-    guard: null
-    attributes: []
   - name: fmodf
     standards: 
       - stdc
@@ -714,8 +586,6 @@ functions:
     arguments:
       - type: float
       - type: float
-    guard: null
-    attributes: []
   - name: fmodl
     standards: 
       - stdc
@@ -723,8 +593,6 @@ functions:
     arguments:
       - type: long double
       - type: long double
-    guard: null
-    attributes: []
   - name: fmodf16
     standards: 
       - stdc
@@ -733,7 +601,6 @@ functions:
       - type: _Float16
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: fmodf128
     standards: 
       - stdc
@@ -742,7 +609,6 @@ functions:
       - type: float128
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: frexp
     standards: 
       - stdc
@@ -750,8 +616,6 @@ functions:
     arguments:
       - type: double
       - type: int *
-    guard: null
-    attributes: []
   - name: frexpf
     standards: 
       - stdc
@@ -759,8 +623,6 @@ functions:
     arguments:
       - type: float
       - type: int *
-    guard: null
-    attributes: []
   - name: frexpl
     standards: 
       - stdc
@@ -768,8 +630,6 @@ functions:
     arguments:
       - type: long double
       - type: int *
-    guard: null
-    attributes: []
   - name: frexpf16
     standards: 
       - stdc
@@ -778,7 +638,6 @@ functions:
       - type: _Float16
       - type: int *
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: frexpf128
     standards: 
       - stdc
@@ -787,7 +646,6 @@ functions:
       - type: float128
       - type: int *
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: fromfp
     standards: 
       - stdc
@@ -796,8 +654,6 @@ functions:
       - type: double
       - type: int
       - type: unsigned int
-    guard: null
-    attributes: []
   - name: fromfpf
     standards: 
       - stdc
@@ -806,8 +662,6 @@ functions:
       - type: float
       - type: int
       - type: unsigned int
-    guard: null
-    attributes: []
   - name: fromfpl
     standards: 
       - stdc
@@ -816,8 +670,6 @@ functions:
       - type: long double
       - type: int
       - type: unsigned int
-    guard: null
-    attributes: []
   - name: fromfpf16
     standards: 
       - stdc
@@ -827,7 +679,6 @@ functions:
       - type: int
       - type: unsigned int
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: fromfpf128
     standards: 
       - stdc
@@ -837,7 +688,6 @@ functions:
       - type: int
       - type: unsigned int
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: fromfpx
     standards: 
       - stdc
@@ -846,8 +696,6 @@ functions:
       - type: double
       - type: int
       - type: unsigned int
-    guard: null
-    attributes: []
   - name: fromfpxf
     standards: 
       - stdc
@@ -856,8 +704,6 @@ functions:
       - type: float
       - type: int
       - type: unsigned int
-    guard: null
-    attributes: []
   - name: fromfpxl
     standards: 
       - stdc
@@ -866,8 +712,6 @@ functions:
       - type: long double
       - type: int
       - type: unsigned int
-    guard: null
-    attributes: []
   - name: fromfpxf16
     standards: 
       - stdc
@@ -877,7 +721,6 @@ functions:
       - type: int
       - type: unsigned int
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: fromfpxf128
     standards: 
       - stdc
@@ -887,7 +730,6 @@ functions:
       - type: int
       - type: unsigned int
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: ufromfp
     standards: 
       - stdc
@@ -896,8 +738,6 @@ functions:
       - type: double
       - type: int
       - type: unsigned int
-    guard: null
-    attributes: []
   - name: ufromfpf
     standards: 
       - stdc
@@ -906,8 +746,6 @@ functions:
       - type: float
       - type: int
       - type: unsigned int
-    guard: null
-    attributes: []
   - name: ufromfpl
     standards: 
       - stdc
@@ -916,8 +754,6 @@ functions:
       - type: long double
       - type: int
       - type: unsigned int
-    guard: null
-    attributes: []
   - name: ufromfpf16
     standards: 
       - stdc
@@ -927,7 +763,6 @@ functions:
       - type: int
       - type: unsigned int
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: ufromfpf128
     standards: 
       - stdc
@@ -937,7 +772,6 @@ functions:
       - type: int
       - type: unsigned int
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: ufromfpx
     standards: 
       - stdc
@@ -946,8 +780,6 @@ functions:
       - type: double
       - type: int
       - type: unsigned int
-    guard: null
-    attributes: []
   - name: ufromfpxf
     standards: 
       - stdc
@@ -956,8 +788,6 @@ functions:
       - type: float
       - type: int
       - type: unsigned int
-    guard: null
-    attributes: []
   - name: ufromfpxl
     standards: 
       - stdc
@@ -966,8 +796,6 @@ functions:
       - type: long double
       - type: int
       - type: unsigned int
-    guard: null
-    attributes: []
   - name: ufromfpxf16
     standards: 
       - stdc
@@ -977,7 +805,6 @@ functions:
       - type: int
       - type: unsigned int
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: ufromfpxf128
     standards: 
       - stdc
@@ -987,7 +814,6 @@ functions:
       - type: int
       - type: unsigned int
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: hypot
     standards: 
       - stdc
@@ -995,8 +821,6 @@ functions:
     arguments:
       - type: double
       - type: double
-    guard: null
-    attributes: []
   - name: hypotf
     standards: 
       - stdc
@@ -1004,32 +828,24 @@ functions:
     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
@@ -1037,7 +853,6 @@ functions:
     arguments:
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: ilogbf128
     standards: 
       - stdc
@@ -1045,31 +860,24 @@ functions:
     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
@@ -1077,7 +885,6 @@ functions:
     arguments:
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: llogbf128
     standards: 
       - stdc
@@ -1085,7 +892,6 @@ functions:
     arguments:
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: ldexp
     standards: 
       - stdc
@@ -1093,8 +899,6 @@ functions:
     arguments:
       - type: double
       - type: int
-    guard: null
-    attributes: []
   - name: ldexpf
     standards: 
       - stdc
@@ -1102,8 +906,6 @@ functions:
     arguments:
       - type: float
       - type: int
-    guard: null
-    attributes: []
   - name: ldexpl
     standards: 
       - stdc
@@ -1111,8 +913,6 @@ functions:
     arguments:
       - type: long double
       - type: int
-    guard: null
-    attributes: []
   - name: ldexpf128
     standards: 
       - stdc
@@ -1121,127 +921,96 @@ functions:
       - 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
@@ -1249,7 +1018,6 @@ functions:
     arguments:
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: logbf128
     standards: 
       - stdc
@@ -1257,7 +1025,6 @@ functions:
     arguments:
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: modf
     standards: 
       - stdc
@@ -1265,8 +1032,6 @@ functions:
     arguments:
       - type: double
       - type: double *
-    guard: null
-    attributes: []
   - name: modff
     standards: 
       - stdc
@@ -1274,8 +1039,6 @@ functions:
     arguments:
       - type: float
       - type: float *
-    guard: null
-    attributes: []
   - name: modfl
     standards: 
       - stdc
@@ -1283,8 +1046,6 @@ functions:
     arguments:
       - type: long double
       - type: long double *
-    guard: null
-    attributes: []
   - name: modff16
     standards: 
       - stdc
@@ -1293,7 +1054,6 @@ functions:
       - type: _Float16
       - type: _Float16 *
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: modff128
     standards: 
       - stdc
@@ -1302,31 +1062,24 @@ functions:
       - 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
@@ -1335,112 +1088,84 @@ functions:
       - 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
@@ -1448,8 +1173,6 @@ functions:
     arguments:
       - type: double
       - type: double
-    guard: null
-    attributes: []
   - name: remainderf
     standards: 
       - stdc
@@ -1457,8 +1180,6 @@ functions:
     arguments:
       - type: float
       - type: float
-    guard: null
-    attributes: []
   - name: remainderl
     standards: 
       - stdc
@@ -1466,8 +1187,6 @@ functions:
     arguments:
       - type: long double
       - type: long double
-    guard: null
-    attributes: []
   - name: remainderf16
     standards: 
       - stdc
@@ -1476,7 +1195,6 @@ functions:
       - type: _Float16
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: remquo
     standards: 
       - stdc
@@ -1485,8 +1203,6 @@ functions:
       - type: double
       - type: double
       - type: int *
-    guard: null
-    attributes: []
   - name: remquof
     standards: 
       - stdc
@@ -1495,8 +1211,6 @@ functions:
       - type: float
       - type: float
       - type: int *
-    guard: null
-    attributes: []
   - name: remquol
     standards: 
       - stdc
@@ -1505,8 +1219,6 @@ functions:
       - type: long double
       - type: long double
       - type: int *
-    guard: null
-    attributes: []
   - name: remquof16
     standards: 
       - stdc
@@ -1516,7 +1228,6 @@ functions:
       - type: _Float16
       - type: int *
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: remquof128
     standards: 
       - stdc
@@ -1526,31 +1237,24 @@ functions:
       - 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
@@ -1558,7 +1262,6 @@ functions:
     arguments:
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: roundf128
     standards: 
       - stdc
@@ -1566,31 +1269,24 @@ functions:
     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
@@ -1611,24 +1307,18 @@ functions:
     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
@@ -1636,7 +1326,6 @@ functions:
     arguments:
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: lroundf128
     standards: 
       - stdc
@@ -1644,31 +1333,24 @@ functions:
     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
@@ -1676,7 +1358,6 @@ functions:
     arguments:
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: llroundf128
     standards: 
       - stdc
@@ -1684,31 +1365,24 @@ functions:
     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
@@ -1716,7 +1390,6 @@ functions:
     arguments:
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: rintf128
     standards: 
       - stdc
@@ -1724,31 +1397,24 @@ functions:
     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
@@ -1756,7 +1422,6 @@ functions:
     arguments:
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: lrintf128
     standards: 
       - stdc
@@ -1764,31 +1429,24 @@ functions:
     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
@@ -1796,7 +1454,6 @@ functions:
     arguments:
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: llrintf128
     standards: 
       - stdc
@@ -1804,31 +1461,24 @@ functions:
     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
@@ -1836,31 +1486,24 @@ functions:
     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
@@ -1868,7 +1511,6 @@ functions:
     arguments:
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: truncf128
     standards: 
       - stdc
@@ -1876,31 +1518,24 @@ functions:
     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
@@ -1908,7 +1543,6 @@ functions:
     arguments:
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: nearbyintf128
     standards: 
       - stdc
@@ -1916,7 +1550,6 @@ functions:
     arguments:
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: nextafterf
     standards: 
       - stdc
@@ -1924,8 +1557,6 @@ functions:
     arguments:
       - type: float
       - type: float
-    guard: null
-    attributes: []
   - name: nextafter
     standards: 
       - stdc
@@ -1933,8 +1564,6 @@ functions:
     arguments:
       - type: double
       - type: double
-    guard: null
-    attributes: []
   - name: nextafterl
     standards: 
       - stdc
@@ -1942,8 +1571,6 @@ functions:
     arguments:
       - type: long double
       - type: long double
-    guard: null
-    attributes: []
   - name: nextafterf16
     standards: 
       - stdc
@@ -1952,7 +1579,6 @@ functions:
       - type: _Float16
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: nextafterf128
     standards: 
       - stdc
@@ -1968,8 +1594,6 @@ functions:
     arguments:
       - type: float
       - type: long double
-    guard: null
-    attributes: []
   - name: nexttoward
     standards: 
       - stdc
@@ -1977,8 +1601,6 @@ functions:
     arguments:
       - type: double
       - type: long double
-    guard: null
-    attributes: []
   - name: nexttowardl
     standards: 
       - stdc
@@ -1986,8 +1608,6 @@ functions:
     arguments:
       - type: long double
       - type: long double
-    guard: null
-    attributes: []
   - name: nexttowardf16
     standards: 
       - stdc
@@ -2002,24 +1622,18 @@ functions:
     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
@@ -2027,7 +1641,6 @@ functions:
     arguments:
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: nextdownf128
     standards: 
       - stdc
@@ -2035,31 +1648,24 @@ functions:
     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
@@ -2067,7 +1673,6 @@ functions:
     arguments:
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: nextupf128
     standards: 
       - stdc
@@ -2075,7 +1680,6 @@ functions:
     arguments:
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: powf
     standards: 
       - stdc
@@ -2083,8 +1687,6 @@ functions:
     arguments:
       - type: float
       - type: float
-    guard: null
-    attributes: []
   - name: pow
     standards: 
       - stdc
@@ -2092,64 +1694,48 @@ functions:
     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
@@ -2157,32 +1743,24 @@ functions:
     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
@@ -2190,8 +1768,6 @@ functions:
     arguments:
       - type: double
       - type: int
-    guard: null
-    attributes: []
   - name: scalbnf
     standards: 
       - stdc
@@ -2199,8 +1775,6 @@ functions:
     arguments:
       - type: float
       - type: int
-    guard: null
-    attributes: []
   - name: scalbnl
     standards: 
       - stdc
@@ -2208,8 +1782,6 @@ functions:
     arguments:
       - type: long double
       - type: int
-    guard: null
-    attributes: []
   - name: scalbnf128
     standards: 
       - stdc
@@ -2218,31 +1790,24 @@ functions:
       - 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
@@ -2250,7 +1815,6 @@ functions:
     arguments:
       - type: const char *
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: nanf128
     standards: 
       - stdc
@@ -2258,7 +1822,6 @@ functions:
     arguments:
       - type: const char *
     guard: LIBC_TYPES_HAS_FLOAT128
-    attributes: []
   - name: canonicalize
     standards: 
       - stdc
@@ -2266,8 +1829,6 @@ functions:
     arguments:
       - type: double
       - type: double
-    guard: null
-    attributes: []
   - name: canonicalizef
     standards: 
       - stdc
@@ -2275,8 +1836,6 @@ functions:
     arguments:
       - type: float
       - type: float
-    guard: null
-    attributes: []
   - name: canonicalizel
     standards: 
       - stdc
@@ -2284,8 +1843,6 @@ functions:
     arguments:
       - type: long double
       - type: long double
-    guard: null
-    attributes: []
   - name: canonicalizef16
     standards: 
       - stdc
@@ -2294,7 +1851,6 @@ functions:
       - type: _Float16
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: canonicalizef128
     standards: 
       - stdc
@@ -2311,7 +1867,6 @@ functions:
       - type: _Float16 *
       - type: _Float16 *
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: totalordermagf16
     standards: 
       - stdc
@@ -2320,7 +1875,6 @@ functions:
       - type: _Float16 *
       - type: _Float16 *
     guard: LIBC_TYPES_HAS_FLOAT16
-    attributes: []
   - name: f16sqrtf
     standards: 
       - stdc
@@ -2328,5 +1882,3 @@ functions:
     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
index b60110c3b3bda..df2475ea17e61 100644
--- a/libc/newhdrgen/yaml_combined/pthread.yaml
+++ b/libc/newhdrgen/yaml_combined/pthread.yaml
@@ -49,24 +49,18 @@ functions:
       - 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
@@ -74,8 +68,6 @@ functions:
     arguments:
       - type: const pthread_attr_t *
       - type: int *
-    guard: null
-    attributes: []
   - name: pthread_attr_getguardsize
     standards: 
       - POSIX
@@ -83,8 +75,6 @@ functions:
     arguments:
       - type: const pthread_attr_t * __restrict
       - type: size_t * __restrict
-    guard: null
-    attributes: []
   - name: pthread_attr_getstack
     standards: 
       - POSIX
@@ -93,8 +83,6 @@ functions:
       - type: const pthread_attr_t * __restrict
       - type: void * * __restrict
       - type: size_t * __restrict
-    guard: null
-    attributes: []
   - name: pthread_attr_getstacksize
     standards: 
       - POSIX
@@ -102,8 +90,6 @@ functions:
     arguments:
       - type: const pthread_attr_t * __restrict
       - type: size_t * __restrict
-    guard: null
-    attributes: []
   - name: pthread_attr_setdetachstate
     standards: 
       - POSIX
@@ -111,8 +97,6 @@ functions:
     arguments:
       - type: pthread_attr_t *
       - type: int
-    guard: null
-    attributes: []
   - name: pthread_attr_setguardsize
     standards: 
       - POSIX
@@ -120,8 +104,6 @@ functions:
     arguments:
       - type: pthread_attr_t *
       - type: size_t
-    guard: null
-    attributes: []
   - name: pthread_attr_setstack
     standards: 
       - POSIX
@@ -130,8 +112,6 @@ functions:
       - type: pthread_attr_t *
       - type: void *
       - type: size_t
-    guard: null
-    attributes: []
   - name: pthread_attr_setstacksize
     standards: 
       - POSIX
@@ -139,16 +119,12 @@ functions:
     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
@@ -156,8 +132,6 @@ functions:
     arguments:
       - type: const pthread_condattr_t * __restrict
       - type: clockid_t * __restrict
-    guard: null
-    attributes: []
   - name: pthread_condattr_getpshared
     standards: 
       - POSIX
@@ -165,16 +139,12 @@ functions:
     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
@@ -182,8 +152,6 @@ functions:
     arguments:
       - type: pthread_condattr_t *
       - type: clockid_t
-    guard: null
-    attributes: []
   - name: pthread_condattr_setpshared
     standards: 
       - POSIX
@@ -191,8 +159,6 @@ functions:
     arguments:
       - type: pthread_condattr_t *
       - type: int
-    guard: null
-    attributes: []
   - name: pthread_create
     standards: 
       - POSIX
@@ -202,16 +168,12 @@ functions:
       - 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
@@ -219,8 +181,6 @@ functions:
     arguments:
       - type: pthread_t
       - type: pthread_t
-    guard: null
-    attributes: []
   - name: pthread_exit
     standards: 
       - POSIX
@@ -238,16 +198,12 @@ functions:
       - 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
@@ -255,8 +211,6 @@ functions:
     arguments:
       - type: pthread_t
       - type: void * *
-    guard: null
-    attributes: []
   - name: pthread_key_create
     standards: 
       - POSIX
@@ -264,23 +218,17 @@ functions:
     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
@@ -288,16 +236,12 @@ functions:
     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
@@ -305,40 +249,30 @@ functions:
     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
@@ -346,8 +280,6 @@ functions:
     arguments:
       - type: const pthread_mutexattr_t * __restrict
       - type: int * __restrict
-    guard: null
-    attributes: []
   - name: pthread_mutexattr_getrobust
     standards: 
       - POSIX
@@ -355,8 +287,6 @@ functions:
     arguments:
       - type: const pthread_mutexattr_t * __restrict
       - type: int * __restrict
-    guard: null
-    attributes: []
   - name: pthread_mutexattr_gettype
     standards: 
       - POSIX
@@ -364,8 +294,6 @@ functions:
     arguments:
       - type: const pthread_mutexattr_t * __restrict
       - type: int * __restrict
-    guard: null
-    attributes: []
   - name: pthread_mutexattr_setpshared
     standards: 
       - POSIX
@@ -373,8 +301,6 @@ functions:
     arguments:
       - type: pthread_mutexattr_t * __restrict
       - type: int
-    guard: null
-    attributes: []
   - name: pthread_mutexattr_setrobust
     standards: 
       - POSIX
@@ -382,8 +308,6 @@ functions:
     arguments:
       - type: pthread_mutexattr_t * __restrict
       - type: int
-    guard: null
-    attributes: []
   - name: pthread_mutexattr_settype
     standards: 
       - POSIX
@@ -391,8 +315,6 @@ functions:
     arguments:
       - type: pthread_mutexattr_t * __restrict
       - type: int
-    guard: null
-    attributes: []
   - name: pthread_once
     standards: 
       - POSIX
@@ -400,16 +322,12 @@ functions:
     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
@@ -417,8 +335,6 @@ functions:
     arguments:
       - type: pthread_rwlockattr_t *
       - type: int *
-    guard: null
-    attributes: []
   - name: pthread_rwlockattr_getpshared
     standards: 
       - POSIX
@@ -426,16 +342,12 @@ functions:
     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
@@ -443,8 +355,6 @@ functions:
     arguments:
       - type: pthread_rwlockattr_t *
       - type: int
-    guard: null
-    attributes: []
   - name: pthread_rwlockattr_setpshared
     standards: 
       - POSIX
@@ -452,8 +362,6 @@ functions:
     arguments:
       - type: pthread_rwlockattr_t *
       - type: int
-    guard: null
-    attributes: []
   - name: pthread_setspecific
     standards: 
       - POSIX
@@ -461,5 +369,3 @@ functions:
     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
index 6a0da42e42eb9..11a55b7d993b9 100644
--- a/libc/newhdrgen/yaml_combined/sched.yaml
+++ b/libc/newhdrgen/yaml_combined/sched.yaml
@@ -16,16 +16,12 @@ functions:
     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
@@ -34,8 +30,6 @@ functions:
       - type: pid_t
       - type: size_t
       - type: cpu_set_t *
-    guard: null
-    attributes: []
   - name: sched_getparam
     standards: 
       - POSIX
@@ -43,8 +37,6 @@ functions:
     arguments:
       - type: pid_t
       - type: struct sched_param *
-    guard: null
-    attributes: []
   - name: sched_getscheduler
     standards: 
       - POSIX
@@ -53,8 +45,6 @@ functions:
       - type: pid_t
       - type: int
       - type: const struct sched_param *
-    guard: null
-    attributes: []
   - name: sched_rr_get_interval
     standards: 
       - POSIX
@@ -62,8 +52,6 @@ functions:
     arguments:
       - type: pid_t
       - type: struct timespec *
-    guard: null
-    attributes: []
   - name: sched_setaffinity
     standards: 
       - GNUExtensions
@@ -72,8 +60,6 @@ functions:
       - type: pid_t
       - type: size_t
       - type: const cpu_set_t *
-    guard: null
-    attributes: []
   - name: sched_setparam
     standards: 
       - POSIX
@@ -81,23 +67,17 @@ functions:
     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
@@ -105,5 +85,3 @@ functions:
     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
index 05428536977a3..a95273419dbde 100644
--- a/libc/newhdrgen/yaml_combined/signal.yaml
+++ b/libc/newhdrgen/yaml_combined/signal.yaml
@@ -19,8 +19,6 @@ functions:
     return_type: int
     arguments:
       - type: int
-    guard: null
-    attributes: []
   - name: kill
     standards: 
       - POSIX 
@@ -28,8 +26,6 @@ functions:
     arguments:
       - type: pid_t
       - type: int
-    guard: null
-    attributes: []
   - name: sigaction
     standards: 
       - POSIX
@@ -38,8 +34,6 @@ functions:
       - type: int
       - type: const struct sigaction * __restrict
       - type: struct sigaction * __restrict
-    guard: null
-    attributes: []
   - name: sigaltstack
     standards: 
       - POSIX 
@@ -47,8 +41,6 @@ functions:
     arguments:
       - type: const stack_t * __restrict
       - type: stack_t * __restrict
-    guard: null
-    attributes: []
   - name: sigdelset
     standards: 
       - POSIX 
@@ -56,8 +48,6 @@ functions:
     arguments:
       - type: sigset_t *
       - type: int
-    guard: null
-    attributes: []
   - name: sigaddset
     standards: 
       - POSIX
@@ -65,16 +55,12 @@ functions:
     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 
@@ -83,16 +69,12 @@ functions:
       - 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
@@ -100,6 +82,3 @@ functions:
     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
index 79334a6f196ef..564826a333580 100644
--- a/libc/newhdrgen/yaml_combined/stdfix.yaml
+++ b/libc/newhdrgen/yaml_combined/stdfix.yaml
@@ -11,7 +11,6 @@ functions:
     arguments:
       - type: short accum
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: abshr
     standards: 
       - stdc_ext
@@ -19,7 +18,6 @@ functions:
     arguments:
       - type: short fract
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: absk
     standards: 
       - stdc_ext
@@ -27,7 +25,6 @@ functions:
     arguments:
       - type: accum
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: absr
     standards: 
       - stdc_ext
@@ -35,7 +32,6 @@ functions:
     arguments:
       - type: fract
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: abslk
     standards: 
       - stdc_ext
@@ -43,7 +39,6 @@ functions:
     arguments:
       - type: long accum
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: abslr
     standards: 
       - stdc_ext
@@ -51,7 +46,6 @@ functions:
     arguments:
       - type: long fract
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: exphk
     standards: 
       - stdc_ext
@@ -60,7 +54,6 @@ functions:
     arguments:
       - type: short accum
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: expk
     standards: 
       - stdc_ext
@@ -69,7 +62,6 @@ functions:
     arguments:
       - type: accum
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: roundhk
     standards: 
       - stdc_ext
@@ -78,7 +70,6 @@ functions:
       - type: short accum
       - type: int
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: roundhr
     standards: 
       - stdc_ext
@@ -87,7 +78,6 @@ functions:
       - type: short fract
       - type: int
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: roundk
     standards: 
       - stdc_ext
@@ -96,7 +86,6 @@ functions:
       - type: accum
       - type: int
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: roundr
     standards: 
       - stdc_ext
@@ -105,7 +94,6 @@ functions:
       - type: fract
       - type: int
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: roundlk
     standards: 
       - stdc_ext
@@ -114,7 +102,6 @@ functions:
       - type: long accum
       - type: int
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: roundlr
     standards: 
       - stdc_ext
@@ -123,7 +110,6 @@ functions:
       - type: long fract
       - type: int
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: rounduhk
     standards: 
       - stdc_ext
@@ -132,7 +118,6 @@ functions:
       - type: unsigned short accum
       - type: int
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: rounduhr
     standards: 
       - stdc_ext
@@ -141,7 +126,6 @@ functions:
       - type: unsigned short fract
       - type: int
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: rounduk
     standards: 
       - stdc_ext
@@ -150,7 +134,6 @@ functions:
       - type: unsigned accum
       - type: int
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: roundur
     standards: 
       - stdc_ext
@@ -159,7 +142,6 @@ functions:
       - type: unsigned fract
       - type: int
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: roundulk
     standards: 
       - stdc_ext
@@ -168,7 +150,6 @@ functions:
       - type: unsigned long accum
       - type: int
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: roundulr
     standards: 
       - stdc_ext
@@ -177,7 +158,6 @@ functions:
       - type: unsigned long fract
       - type: int
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: sqrtuhk
     standards: 
       - stdc_ext
@@ -186,7 +166,6 @@ functions:
     arguments:
       - type: unsigned short accum
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: sqrtuhr
     standards: 
       - stdc_ext
@@ -195,7 +174,6 @@ functions:
     arguments:
       - type: unsigned short fract
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: sqrtuk
     standards: 
       - stdc_ext 
@@ -204,7 +182,6 @@ functions:
     arguments:
       - type: unsigned accum
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: sqrtur
     standards: 
       - stdc_ext
@@ -213,7 +190,6 @@ functions:
     arguments:
       - type: unsigned fract
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: sqrtulr
     standards: 
       - stdc_ext  
@@ -222,14 +198,12 @@ functions:
     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
@@ -238,7 +212,6 @@ functions:
     arguments:
       - type: unsigned short
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-    attributes: []
   - name: uksqrtui
     standards: 
       - stdc_ext 
@@ -247,4 +220,3 @@ functions:
     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
index 4e2bc7342a90b..928a8d5228c21 100644
--- a/libc/newhdrgen/yaml_combined/stdio.yaml
+++ b/libc/newhdrgen/yaml_combined/stdio.yaml
@@ -30,8 +30,6 @@ functions:
     return_type: int
     arguments:
       - type: const char *
-    guard: null
-    attributes: []
   - name: rename
     standards: 
       - stdc
@@ -39,8 +37,6 @@ functions:
     arguments:
       - type: const char *
       - type: const char *
-    guard: null
-    attributes: []
   - name: sprintf
     standards: 
       - stdc
@@ -49,8 +45,6 @@ functions:
       - type: char * __restrict
       - type: const char * __restrict
       - type: ...
-    guard: null
-    attributes: []
   - name: snprintf
     standards: 
       - stdc
@@ -60,8 +54,6 @@ functions:
       - type: size_t
       - type: const char * __restrict
       - type: ...
-    guard: null
-    attributes: []
   - name: fprintf
     standards: 
       - stdc
@@ -70,8 +62,6 @@ functions:
       - type: FILE * __restrict
       - type: const char * __restrict
       - type: ...
-    guard: null
-    attributes: []
   - name: printf
     standards: 
       - stdc
@@ -79,8 +69,6 @@ functions:
     arguments:
       - type: const char * __restrict
       - type: ...
-    guard: null
-    attributes: []
   - name: vsprintf
     standards: 
       - stdc
@@ -89,8 +77,6 @@ functions:
       - type: char * __restrict
       - type: const char * __restrict
       - type: va_list
-    guard: null
-    attributes: []
   - name: vsnprintf
     standards: 
       - stdc
@@ -100,8 +86,6 @@ functions:
       - type: size_t
       - type: const char * __restrict
       - type: va_list
-    guard: null
-    attributes: []
   - name: vfprintf
     standards: 
       - stdc
@@ -110,8 +94,6 @@ functions:
       - type: FILE * __restrict
       - type: const char * __restrict
       - type: va_list
-    guard: null
-    attributes: []
   - name: vprintf
     standards: 
       - stdc
@@ -119,8 +101,6 @@ functions:
     arguments:
       - type: const char * __restrict
       - type: va_list
-    guard: null
-    attributes: []
   - name: sscanf
     standards: 
       - stdc
@@ -129,8 +109,6 @@ functions:
       - type: const char * __restrict
       - type: const char * __restrict
       - type: ...
-    guard: null
-    attributes: []
   - name: scanf
     standards: 
       - stdc
@@ -138,8 +116,6 @@ functions:
     arguments:
       - type: const char * __restrict
       - type: ...
-    guard: null
-    attributes: []
   - name: fscanf
     standards: 
       - stdc
@@ -147,97 +123,73 @@ functions:
     arguments:
       - type: FILE * __restrict
       - type: const char * __restrict
-      - type: ...
-    guard: null
-    attributes: [] 
+      - type: ... 
   - 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 
@@ -246,16 +198,12 @@ functions:
       - 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 
@@ -263,8 +211,6 @@ functions:
     arguments:
       - type: const char *
       - type: const char *
-    guard: null
-    attributes: []
   - name: fputc
     standards: 
       - stdc
@@ -272,8 +218,6 @@ functions:
     arguments:
       - type: int
       - type: FILE *
-    guard: null
-    attributes: []
   - name: fputs
     standards: 
       - stdc
@@ -281,8 +225,6 @@ functions:
     arguments:
       - type: const char * __restrict
       - type: FILE * __restrict
-    guard: null
-    attributes: []
   - name: fopencookie
     standards: 
       - GNUExtensions
@@ -291,8 +233,6 @@ functions:
       - type: void *
       - type: const char *
       - type: cookie_io_functions_t
-    guard: null
-    attributes: []
   - name: fread
     standards: 
       - stdc
@@ -302,8 +242,6 @@ functions:
       - type: size_t
       - type: size_t
       - type: FILE * __restrict
-    guard: null
-    attributes: []
   - name: fread_unlocked
     standards: 
       - GNUExtensions
@@ -313,8 +251,6 @@ functions:
       - type: size_t
       - type: size_t
       - type: FILE * __restrict
-    guard: null
-    attributes: []
   - name: fseek
     standards: 
       - stdc
@@ -323,24 +259,18 @@ functions:
       - 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
@@ -350,8 +280,6 @@ functions:
       - type: size_t
       - type: size_t
       - type: FILE * __restrict
-    guard: null
-    attributes: []
   - name: fwrite_unlocked
     standards: 
       - GNUExtensions
@@ -361,38 +289,28 @@ functions:
       - 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
@@ -400,24 +318,18 @@ functions:
     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
@@ -425,8 +337,6 @@ functions:
     arguments:
       - type: FILE * __restrict
       - type: char * __restrict
-    guard: null
-    attributes: []
   - name: setvbuf
     standards: 
       - stdc
@@ -436,8 +346,6 @@ functions:
       - type: char * __restrict
       - type: int
       - type: size_t
-    guard: null
-    attributes: []
   - name: ungetc
     standards: 
       - stdc
@@ -445,26 +353,18 @@ functions:
     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
index 89651faecaea5..032b47f8291e6 100644
--- a/libc/newhdrgen/yaml_combined/stdlib.yaml
+++ b/libc/newhdrgen/yaml_combined/stdlib.yaml
@@ -20,40 +20,30 @@ functions:
     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
@@ -64,8 +54,6 @@ functions:
       - type: size_t
       - type: size_t
       - type: __bsearchcompare_t
-    guard: null
-    attributes: []
   - name: div
     standards: 
       - stdc
@@ -73,16 +61,12 @@ functions:
     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
@@ -90,16 +74,12 @@ functions:
     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
@@ -107,8 +87,6 @@ functions:
     arguments:
       - type: long long
       - type: long long
-    guard: null
-    attributes: []
   - name: qsort
     standards: 
       - stdc
@@ -118,8 +96,6 @@ functions:
       - type: size_t
       - type: size_t
       - type: __qsortcompare_t
-    guard: null
-    attributes: []
   - name: qsort_r
     standards: 
       - GNUExtensions 
@@ -130,23 +106,17 @@ functions:
       - 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
@@ -156,8 +126,6 @@ functions:
       - type: size_t
       - type: const char * __restrict
       - type: double
-    guard: null
-    attributes: []
   - name: strfromf
     standards: 
       - stdc
@@ -167,8 +135,6 @@ functions:
       - type: size_t
       - type: const char * __restrict
       - type: float
-    guard: null
-    attributes: []
   - name: strfroml
     standards: 
       - stdc
@@ -178,8 +144,6 @@ functions:
       - type: size_t
       - type: const char * __restrict
       - type: long double
-    guard: null
-    attributes: []
   - name: strtod
     standards: 
       - stdc
@@ -187,8 +151,6 @@ functions:
     arguments:
       - type: const char * __restrict
       - type: char * * __restrict
-    guard: null
-    attributes: []
   - name: strtof
     standards: 
       - stdc
@@ -196,8 +158,6 @@ functions:
     arguments:
       - type: const char * __restrict
       - type: char * * __restrict
-    guard: null
-    attributes: []
   - name: strtol
     standards: 
       - stdc
@@ -206,8 +166,6 @@ functions:
       - type: const char * __restrict
       - type: char * * __restrict
       - type: int
-    guard: null
-    attributes: []
   - name: strtold
     standards: 
       - stdc
@@ -215,8 +173,6 @@ functions:
     arguments:
       - type: const char * __restrict
       - type: char * * __restrict
-    guard: null
-    attributes: []
   - name: strtoll
     standards: 
       - stdc
@@ -225,8 +181,6 @@ functions:
       - type: const char * __restrict
       - type: char * * __restrict
       - type: int
-    guard: null
-    attributes: []
   - name: strtoul
     standards: 
       - stdc
@@ -235,8 +189,6 @@ functions:
       - type: const char * __restrict
       - type: char * * __restrict
       - type: int
-    guard: null
-    attributes: []
   - name: strtoull
     standards: 
       - stdc
@@ -245,16 +197,12 @@ functions:
       - 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
@@ -262,8 +210,6 @@ functions:
     arguments:
       - type: size_t
       - type: size_t
-    guard: null
-    attributes: []
   - name: realloc
     standards: 
       - stdc
@@ -271,8 +217,6 @@ functions:
     arguments:
       - type: void *
       - type: size_t
-    guard: null
-    attributes: []
   - name: aligned_alloc
     standards: 
       - stdc
@@ -280,68 +224,50 @@ functions:
     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
index 9c817d2074da7..7080a9b7cb3a7 100644
--- a/libc/newhdrgen/yaml_combined/string.yaml
+++ b/libc/newhdrgen/yaml_combined/string.yaml
@@ -13,8 +13,6 @@ functions:
       - type: void *__restrict
       - type: const void *__restrict
       - type: size_t
-    guard: null
-    attributes: []
   - name: memmove
     standards: 
       - stdc
@@ -23,8 +21,6 @@ functions:
       - type: void *
       - type: const void *
       - type: size_t
-    guard: null
-    attributes: []
   - name: memcmp
     standards: 
       - stdc
@@ -33,8 +29,6 @@ functions:
       - type: const void *
       - type: const void *
       - type: size_t
-    guard: null
-    attributes: []
   - name: memchr
     standards: 
       - stdc
@@ -43,8 +37,6 @@ functions:
       - type: const void *
       - type: int
       - type: size_t
-    guard: null
-    attributes: []
   - name: memset
     standards: 
       - stdc
@@ -53,8 +45,6 @@ functions:
       - type: void *
       - type: int
       - type: size_t
-    guard: null
-    attributes: []
   - name: memset_explicit
     standards: 
       - stdc
@@ -63,8 +53,6 @@ functions:
       - type: void *
       - type: int
       - type: size_t
-    guard: null
-    attributes: []
   - name: strcpy
     standards: 
       - stdc
@@ -72,8 +60,6 @@ functions:
     arguments:
       - type: char *__restrict
       - type: const char *__restrict
-    guard: null
-    attributes: []
   - name: strncpy
     standards: 
       - stdc
@@ -82,8 +68,6 @@ functions:
       - type: char *__restrict
       - type: const char *__restrict
       - type: size_t
-    guard: null
-    attributes: []
   - name: strcat
     standards: 
       - stdc
@@ -91,8 +75,6 @@ functions:
     arguments:
       - type: char *__restrict
       - type: const char *__restrict
-    guard: null
-    attributes: []
   - name: strncat
     standards: 
       - stdc
@@ -101,8 +83,6 @@ functions:
       - type: char *
       - type: const char *
       - type: size_t
-    guard: null
-    attributes: []
   - name: strcmp
     standards: 
       - stdc
@@ -110,8 +90,6 @@ functions:
     arguments:
       - type: const char *
       - type: const char *
-    guard: null
-    attributes: []
   - name: strcoll
     standards: 
       - stdc
@@ -119,8 +97,6 @@ functions:
     arguments:
       - type: const char *
       - type: const char *
-    guard: null
-    attributes: []
   - name: strncmp
     standards: 
       - stdc
@@ -129,8 +105,6 @@ functions:
       - type: const char *
       - type: const char *
       - type: size_t
-    guard: null
-    attributes: []
   - name: strxfrm
     standards: 
       - stdc
@@ -139,8 +113,6 @@ functions:
       - type: char *__restrict
       - type: const char *__restrict
       - type: size_t
-    guard: null
-    attributes: []
   - name: strchr
     standards: 
       - stdc
@@ -148,8 +120,6 @@ functions:
     arguments:
       - type: const char *
       - type: int
-    guard: null
-    attributes: []
   - name: strcspn
     standards: 
       - stdc
@@ -157,14 +127,10 @@ functions:
     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
@@ -172,8 +138,6 @@ functions:
     arguments:
       - type: const char *
       - type: size_t
-    guard: null
-    attributes: []
   - name: strpbrk
     standards: 
       - stdc
@@ -181,8 +145,6 @@ functions:
     arguments:
       - type: const char *
       - type: const char *
-    guard: null
-    attributes: []
   - name: strrchr
     standards: 
       - stdc
@@ -190,8 +152,6 @@ functions:
     arguments:
       - type: const char *
       - type: int
-    guard: null
-    attributes: []
   - name: strspn
     standards: 
       - stdc
@@ -199,8 +159,6 @@ functions:
     arguments:
       - type: const char *
       - type: const char *
-    guard: null
-    attributes: []
   - name: strstr
     standards: 
       - stdc
@@ -208,8 +166,6 @@ functions:
     arguments:
       - type: const char *
       - type: const char *
-    guard: null
-    attributes: []
   - name: strtok
     standards: 
       - stdc
@@ -217,24 +173,18 @@ functions:
     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
@@ -244,8 +194,6 @@ functions:
       - type: const void *__restrict
       - type: int
       - type: size_t
-    guard: null
-    attributes: []
   - name: mempcpy
     standards: 
       - POSIX
@@ -254,8 +202,6 @@ functions:
       - type: void *__restrict
       - type: const void *__restrict
       - type: size_t
-    guard: null
-    attributes: []
   - name: stpcpy
     standards: 
       - POSIX
@@ -263,8 +209,6 @@ functions:
     arguments:
       - type: char *__restrict
       - type: const char *__restrict
-    guard: null
-    attributes: []
   - name: stpncpy
     standards: 
       - POSIX
@@ -273,8 +217,6 @@ functions:
       - type: char *__restrict
       - type: const char *__restrict
       - type: size_t
-    guard: null
-    attributes: []
   - name: strnlen
     standards: 
       - POSIX
@@ -282,8 +224,6 @@ functions:
     arguments:
       - type: const char *
       - type: size_t
-    guard: null
-    attributes: []
   - name: strtok_r
     standards: 
       - POSIX
@@ -292,16 +232,12 @@ functions:
       - 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
@@ -311,8 +247,6 @@ functions:
       - type: size_t
       - type: const void *
       - type: size_t
-    guard: null
-    attributes: []
   - name: memrchr
     standards: 
       - GNUExtensions
@@ -321,8 +255,6 @@ functions:
       - type: const void *
       - type: int
       - type: size_t
-    guard: null
-    attributes: []
   - name: strerror_r
     standards: 
       - GNUExtensions
@@ -331,8 +263,6 @@ functions:
       - type: int
       - type: char *
       - type: size_t
-    guard: null
-    attributes: []
   - name: strcasestr
     standards: 
       - GNUExtensions
@@ -340,8 +270,6 @@ functions:
     arguments:
       - type: const char *
       - type: const char *
-    guard: null
-    attributes: []
   - name: strchrnul
     standards: 
       - GNUExtensions
@@ -349,8 +277,6 @@ functions:
     arguments:
       - type: const char *
       - type: int
-    guard: null
-    attributes: []
   - name: strlcat
     standards: 
       - BSDExtensions
@@ -359,8 +285,6 @@ functions:
       - type: char *__restrict
       - type: char *__restrict
       - type: size_t
-    guard: null
-    attributes: []
   - name: strlcpy
     standards: 
       - BSDExtensions
@@ -369,8 +293,6 @@ functions:
       - type: char *__restrict
       - type: char *__restrict
       - type: size_t
-    guard: null
-    attributes: []
   - name: strsep
     standards: 
       - BSDExtensions
@@ -378,5 +300,3 @@ functions:
     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
index 8feaf6d96c937..3bc0c4a76dd1b 100644
--- a/libc/newhdrgen/yaml_combined/strings.yaml
+++ b/libc/newhdrgen/yaml_combined/strings.yaml
@@ -12,8 +12,6 @@ functions:
       - type: const void *
       - type: void *
       - type: size_t
-    guard: null
-    attributes: []
   - name: bzero
     standards: 
       - llvm_libc_ext
@@ -21,8 +19,6 @@ functions:
     arguments:
       - type: void *
       - type: size_t
-    guard: null
-    attributes: []
   - name: bcmp
     standards: 
       - llvm_libc_ext
@@ -31,8 +27,6 @@ functions:
       - type: const void *
       - type: const void *
       - type: size_t
-    guard: null
-    attributes: []
   - name: strcasecmp
     standards: 
       - BSDExtensions
@@ -40,8 +34,6 @@ functions:
     arguments:
       - type: const char *
       - type: const char *
-    guard: null
-    attributes: []
   - name: strncasecmp
     standards: 
       - BSDExtensions
@@ -50,8 +42,6 @@ functions:
       - type: const char *
       - type: const char *
       - type: size_t
-    guard: null
-    attributes: []
   - name: index
     standards: 
       - BSDExtensions
@@ -59,8 +49,6 @@ functions:
     arguments:
       - type: const char *
       - type: int
-    guard: null
-    attributes: []
   - name: rindex
     standards: 
       - BSDExtensions
@@ -68,6 +56,3 @@ functions:
     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
index df33c9a7e5311..7b858db2de11a 100644
--- a/libc/newhdrgen/yaml_combined/sys_mman.yaml
+++ b/libc/newhdrgen/yaml_combined/sys_mman.yaml
@@ -18,8 +18,6 @@ functions:
       - type: void *
       - type: size_t
       - type: int
-    guard: null
-    attributes: []
   - name: mmap
     standards: 
       - POSIX
@@ -31,8 +29,6 @@ functions:
       - type: int
       - type: int
       - type: off_t
-    guard: null
-    attributes: []
   - name: mprotect
     standards: 
       - POSIX
@@ -41,8 +37,6 @@ functions:
       - type: void *
       - type: size_t
       - type: int
-    guard: null
-    attributes: []
   - name: munmap
     standards: 
       - POSIX
@@ -50,8 +44,6 @@ functions:
     arguments:
       - type: void *
       - type: size_t
-    guard: null
-    attributes: []
   - name: POSIX_madvise
     standards: 
       - POSIX
@@ -60,8 +52,6 @@ functions:
       - type: void *
       - type: size_t
       - type: int
-    guard: null
-    attributes: []
   # this is a linux function
   - name: mincore
     standards: 
@@ -71,8 +61,6 @@ functions:
       - type: void *
       - type: size_t
       - type: unsigned char *
-    guard: null
-    attributes: []
   - name: mlock
     standards: 
       - POSIX
@@ -80,8 +68,6 @@ functions:
     arguments:
       - type: void *
       - type: size_t
-    guard: null
-    attributes: []
   - name: mlock2
     standards: 
       - Linux
@@ -90,31 +76,23 @@ functions:
       - 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
@@ -123,8 +101,6 @@ functions:
       - type: void *
       - type: size_t
       - type: int
-    guard: null
-    attributes: []
   - name: shm_open
     standards: 
       - POSIX
@@ -133,13 +109,10 @@ functions:
       - 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: []
+      
\ No newline at end of file
diff --git a/libc/newhdrgen/yaml_combined/sys_wait.yaml b/libc/newhdrgen/yaml_combined/sys_wait.yaml
index 3d1a2f2921e6d..56a6066e925d6 100644
--- a/libc/newhdrgen/yaml_combined/sys_wait.yaml
+++ b/libc/newhdrgen/yaml_combined/sys_wait.yaml
@@ -13,8 +13,6 @@ functions:
     return_type: pid_t
     arguments:
       - type: int *
-    guard: null
-    attributes: []
   - name: wait4
     standards: 
       - BSDExtensions
@@ -25,8 +23,6 @@ functions:
       - type: int *
       - type: int
       - type: struct rusage *
-    guard: null
-    attributes: []
   - name: waitpid
     standards: 
       - POSIX
@@ -35,5 +31,3 @@ functions:
       - 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
index 23b93dda99271..fbdf187792484 100644
--- a/libc/newhdrgen/yaml_combined/time.yaml
+++ b/libc/newhdrgen/yaml_combined/time.yaml
@@ -16,8 +16,6 @@ functions:
     return_type: char *
     arguments:
       - type: struct tm *
-    guard: null
-    attributes: []
   - name: asctime_r
     standard: 
       - stdc
@@ -25,8 +23,6 @@ functions:
     arguments:
       - type: struct tm *
       - type: char *
-    guard: null
-    attributes: []
   - name: clock_gettime
     standard: 
       - POSIX
@@ -34,15 +30,11 @@ functions:
     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
@@ -50,8 +42,6 @@ functions:
     arguments:
       - type: time_t
       - type: time_t
-    guard: null
-    attributes: []
   - name: gettimeofday
     standard: 
       - POSIX
@@ -59,16 +49,12 @@ functions:
     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
@@ -76,16 +62,12 @@ functions:
     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
@@ -93,13 +75,9 @@ functions:
     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: []
diff --git a/libc/newhdrgen/yaml_to_classes.py b/libc/newhdrgen/yaml_to_classes.py
index 1ac448485294a..07f4e9757f319 100644
--- a/libc/newhdrgen/yaml_to_classes.py
+++ b/libc/newhdrgen/yaml_to_classes.py
@@ -47,22 +47,26 @@ def yaml_to_classes(yaml_data):
             Enumeration(enum_data["name"], enum_data.get("value", None))
         )
 
-    for object_data in yaml_data.get("objects", []):
-        header.add_object(
-            Object(object_data["object_name"], object_data["object_type"])
-        )
-
     for function_data in yaml_data.get("functions", []):
         arguments = [arg["type"] for arg in function_data["arguments"]]
+        guard = function_data.get("guard", None)
+        attributes = function_data.get("attributes", None)
+        standards = function_data.get("standards", None),
         header.add_function(
             Function(
+                standards,
                 function_data["return_type"],
                 function_data["name"],
                 arguments,
-                function_data.get("guard"),
-                function_data.get("attributes", []),
+                guard,
+                attributes,
             )
         )
+    
+    for object_data in yaml_data.get("objects", []):
+        header.add_object(
+            Object(object_data["object_name"], object_data["object_type"])
+        )
 
     for include_data in yaml_data.get("includes", []):
         header.add_include(Include(include_data))



More information about the libc-commits mailing list