llvm-project/libc/include/complex.yaml
Roland McGrath 6ad0dcf67f
[libc] Revamp hdrgen command line and build integration (#121522)
This adds a new main command-line entry point for hdrgen, in the
new main.py.  This new interface is used for generating a header.
The old ways of invoking yaml_to_classes.py for other purposes
are left there for now, but `--e` is renamed to `--entry-point`
for consistency with the new CLI.

The YAML schema is expanded with the `header_template` key where
the corresponding `.h.def` file's path is given relative to where
the YAML file is found.  The build integration no longer gives
the `.h.def` path on the command line.  Instead, the script now
emits a depfile that's used by the cmake rules to track that.
The output file is always explicit in the script command line
rather than sometimes being derived from a directory path.
2025-01-07 15:56:12 -08:00

139 lines
2.7 KiB
YAML

header: complex.h
header_template: complex.h.def
macros: []
types:
- type_name: cfloat16
- type_name: cfloat128
- type_name: float128
enums: []
objects: []
functions:
- name: cimag
standards:
- stdc
return_type: double
arguments:
- type: _Complex double
- name: cimagf
standards:
- stdc
return_type: float
arguments:
- type: _Complex float
- name: cimagl
standards:
- stdc
return_type: long double
arguments:
- type: _Complex long double
- name: cimagf16
standards:
- stdc
return_type: _Float16
arguments:
- type: cfloat16
guard: LIBC_TYPES_HAS_CFLOAT16
- name: cimagf128
standards:
- stdc
return_type: float128
arguments:
- type: cfloat128
guard: LIBC_TYPES_HAS_CFLOAT128
- name: creal
standards:
- stdc
return_type: double
arguments:
- type: _Complex double
- name: crealf
standards:
- stdc
return_type: float
arguments:
- type: _Complex float
- name: creall
standards:
- stdc
return_type: long double
arguments:
- type: _Complex long double
- name: crealf16
standards:
- stdc
return_type: _Float16
arguments:
- type: cfloat16
guard: LIBC_TYPES_HAS_CFLOAT16
- name: crealf128
standards:
- stdc
return_type: float128
arguments:
- type: cfloat128
guard: LIBC_TYPES_HAS_CFLOAT128
- name: conj
standards:
- stdc
return_type: _Complex double
arguments:
- type: _Complex double
- name: conjf
standards:
- stdc
return_type: _Complex float
arguments:
- type: _Complex float
- name: conjl
standards:
- stdc
return_type: _Complex long double
arguments:
- type: _Complex long double
- name: conjf16
standards:
- stdc
return_type: cfloat16
arguments:
- type: cfloat16
guard: LIBC_TYPES_HAS_CFLOAT16
- name: conjf128
standards:
- stdc
return_type: cfloat128
arguments:
- type: cfloat128
guard: LIBC_TYPES_HAS_CFLOAT128
- name: cproj
standards:
- stdc
return_type: _Complex double
arguments:
- type: _Complex double
- name: cprojf
standards:
- stdc
return_type: _Complex float
arguments:
- type: _Complex float
- name: cprojl
standards:
- stdc
return_type: _Complex long double
arguments:
- type: _Complex long double
- name: cprojf16
standards:
- stdc
return_type: cfloat16
arguments:
- type: cfloat16
guard: LIBC_TYPES_HAS_CFLOAT16
- name: cprojf128
standards:
- stdc
return_type: cfloat128
arguments:
- type: cfloat128
guard: LIBC_TYPES_HAS_CFLOAT128