Files
clang-p2996/libc/include/stdlib.yaml
Mohamed Emad 4840895467 [libc] implement memalignment (#132493)
This patch adds the `memalignment` function to LLVM-libc, following its
description in [WG14 N3220,
§7.24.2.1](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf#page=387).

- [x] Add the implementation of `memalignment` in
[`/src/stdlib`](https://github.com/llvm/llvm-project/tree/main/libc/src/stdlib)
- [x] Add tests for `memalignment` in
[`/test/src/stdlib`](https://github.com/llvm/llvm-project/tree/main/libc/test/src/stdlib)
- [x] Add `memalignment` to
[`entrypoints.txt`](https://github.com/llvm/llvm-project/blob/main/libc/config/linux/x86_64/entrypoints.txt)
for at least x86_64 and whatever you're building on
- [x] Add `memalignment` to
[`include/stdlib.yaml`](https://github.com/llvm/llvm-project/blob/main/libc/include/stdlib.yaml)




Closes #132300

---------

Co-authored-by: Joseph Huber <huberjn@outlook.com>
2025-03-28 16:07:57 -07:00

333 lines
6.5 KiB
YAML

header: stdlib.h
header_template: stdlib.h.def
standards:
- stdc
merge_yaml_files:
- stdlib-malloc.yaml
macros: []
types:
- type_name: __atexithandler_t
- type_name: __qsortrcompare_t
- type_name: __qsortcompare_t
- type_name: __bsearchcompare_t
- type_name: div_t
- type_name: ldiv_t
- type_name: lldiv_t
- type_name: locale_t
- type_name: size_t
enums: []
objects: []
functions:
- name: _Exit
standards:
- stdc
return_type: _Noreturn void
arguments:
- type: int
- name: a64l
standards:
- posix
return_type: long
arguments:
- type: const char *
- name: abort
standards:
- stdc
return_type: _Noreturn void
arguments:
- type: void
- name: abs
standards:
- stdc
return_type: int
arguments:
- type: int
- name: at_quick_exit
standards:
- stdc
return_type: int
arguments:
- type: __atexithandler_t
- name: atexit
standards:
- stdc
return_type: int
arguments:
- type: __atexithandler_t
- name: atof
standards:
- stdc
return_type: double
arguments:
- type: const char *__restrict
- name: atoi
standards:
- stdc
return_type: int
arguments:
- type: const char *
- name: atol
standards:
- stdc
return_type: long
arguments:
- type: const char *
- name: atoll
standards:
- stdc
return_type: long long
arguments:
- type: const char *
- name: bsearch
standards:
- stdc
return_type: void *
arguments:
- type: const void *
- type: const void *
- type: size_t
- type: size_t
- type: __bsearchcompare_t
- name: div
standards:
- stdc
return_type: div_t
arguments:
- type: int
- type: int
- name: exit
standards:
- stdc
return_type: _Noreturn void
arguments:
- type: int
- name: getenv
standards:
- stdc
return_type: char *
arguments:
- type: const char *
- name: labs
standards:
- stdc
return_type: long
arguments:
- type: long
- name: ldiv
standards:
- stdc
return_type: ldiv_t
arguments:
- type: long
- type: long
- name: llabs
standards:
- stdc
return_type: long long
arguments:
- type: long long
- name: lldiv
standards:
- stdc
return_type: lldiv_t
arguments:
- type: long long
- type: long long
- name: memalignment
standards:
- stdc
return_type: size_t
arguments:
- type: const void *
- name: posix_memalign
standards:
- posix
return_type: int
arguments:
- type: void **
- type: size_t
- type: size_t
- name: qsort
standards:
- stdc
return_type: void
arguments:
- type: void *
- type: size_t
- type: size_t
- type: __qsortcompare_t
- name: qsort_r
standards:
- GNUExtensions
return_type: void
arguments:
- type: void *
- type: size_t
- type: size_t
- type: __qsortrcompare_t
- type: void *
- name: quick_exit
standards:
- stdc
return_type: _Noreturn void
arguments:
- type: int
- name: rand
standards:
- stdc
return_type: int
arguments:
- type: void
- name: srand
standards:
- stdc
return_type: void
arguments:
- type: unsigned int
- name: strfromd
standards:
- stdc
return_type: int
arguments:
- type: char *__restrict
- type: size_t
- type: const char *__restrict
- type: double
- name: strfromf
standards:
- stdc
return_type: int
arguments:
- type: char *__restrict
- type: size_t
- type: const char *__restrict
- type: float
- name: strfroml
standards:
- stdc
return_type: int
arguments:
- type: char *__restrict
- type: size_t
- type: const char *__restrict
- type: long double
- name: strtod
standards:
- stdc
return_type: double
arguments:
- type: const char *__restrict
- type: char **__restrict
- name: strtof
standards:
- stdc
return_type: float
arguments:
- type: const char *__restrict
- type: char **__restrict
- name: strtol
standards:
- stdc
return_type: long
arguments:
- type: const char *__restrict
- type: char **__restrict
- type: int
- name: strtold
standards:
- stdc
return_type: long double
arguments:
- type: const char *__restrict
- type: char **__restrict
- name: strtoll
standards:
- stdc
return_type: long long
arguments:
- type: const char *__restrict
- type: char **__restrict
- type: int
- name: strtoul
standards:
- stdc
return_type: unsigned long
arguments:
- type: const char *__restrict
- type: char **__restrict
- type: int
- name: strtoull
standards:
- stdc
return_type: unsigned long long
arguments:
- type: const char *__restrict
- type: char **__restrict
- type: int
- name: strtod_l
standards:
- stdc
return_type: double
arguments:
- type: const char *__restrict
- type: char **__restrict
- type: locale_t
- name: strtof_l
standards:
- stdc
return_type: float
arguments:
- type: const char *__restrict
- type: char **__restrict
- type: locale_t
- name: strtol_l
standards:
- stdc
return_type: long
arguments:
- type: const char *__restrict
- type: char **__restrict
- type: int
- type: locale_t
- name: strtold_l
standards:
- stdc
return_type: long double
arguments:
- type: const char *__restrict
- type: char **__restrict
- type: locale_t
- name: strtoll_l
standards:
- stdc
return_type: long long
arguments:
- type: const char *__restrict
- type: char **__restrict
- type: int
- type: locale_t
- name: strtoul_l
standards:
- stdc
return_type: unsigned long
arguments:
- type: const char *__restrict
- type: char **__restrict
- type: int
- type: locale_t
- name: strtoull_l
standards:
- stdc
return_type: unsigned long long
arguments:
- type: const char *__restrict
- type: char **__restrict
- type: int
- type: locale_t
- name: system
standards:
- stdc
return_type: int
arguments:
- type: const char *