[libc-commits] [libc] [libc] add complex.yaml in hdrgen (PR #119609)

Shourya Goel via libc-commits libc-commits at lists.llvm.org
Wed Dec 11 12:19:59 PST 2024


https://github.com/Sh0g0-1758 created https://github.com/llvm/llvm-project/pull/119609

None

>From 56dce96b55d7a304a100de5776aa15357eca9c14 Mon Sep 17 00:00:00 2001
From: Sh0g0-1758 <shouryagoel10000 at gmail.com>
Date: Thu, 12 Dec 2024 01:49:19 +0530
Subject: [PATCH] [libc] add complex.yaml in hdrgen

---
 libc/config/linux/aarch64/headers.txt |   1 +
 libc/config/linux/arm/headers.txt     |   1 +
 libc/config/linux/riscv/headers.txt   |   1 +
 libc/config/linux/x86_64/headers.txt  |   1 +
 libc/hdrgen/yaml/complex.yaml         | 105 ++++++++++++++++++++++++++
 5 files changed, 109 insertions(+)
 create mode 100644 libc/hdrgen/yaml/complex.yaml

diff --git a/libc/config/linux/aarch64/headers.txt b/libc/config/linux/aarch64/headers.txt
index f98af5744685fc..05f15a0e4e5cbb 100644
--- a/libc/config/linux/aarch64/headers.txt
+++ b/libc/config/linux/aarch64/headers.txt
@@ -1,5 +1,6 @@
 set(TARGET_PUBLIC_HEADERS
     libc.include.assert
+    libc.include.complex
     libc.include.ctype
     libc.include.dlfcn
     libc.include.elf
diff --git a/libc/config/linux/arm/headers.txt b/libc/config/linux/arm/headers.txt
index 6576db1f852691..9aabac5dea33cb 100644
--- a/libc/config/linux/arm/headers.txt
+++ b/libc/config/linux/arm/headers.txt
@@ -1,4 +1,5 @@
 set(TARGET_PUBLIC_HEADERS
+    libc.include.complex
     libc.include.ctype
     libc.include.errno
     libc.include.fenv
diff --git a/libc/config/linux/riscv/headers.txt b/libc/config/linux/riscv/headers.txt
index 41c343f71998b9..b38659e0b8daf7 100644
--- a/libc/config/linux/riscv/headers.txt
+++ b/libc/config/linux/riscv/headers.txt
@@ -1,5 +1,6 @@
 set(TARGET_PUBLIC_HEADERS
     libc.include.assert
+    libc.include.complex
     libc.include.ctype
     libc.include.dirent
     libc.include.dlfcn
diff --git a/libc/config/linux/x86_64/headers.txt b/libc/config/linux/x86_64/headers.txt
index e0c04b381492d0..8750100302ea7e 100644
--- a/libc/config/linux/x86_64/headers.txt
+++ b/libc/config/linux/x86_64/headers.txt
@@ -1,5 +1,6 @@
 set(TARGET_PUBLIC_HEADERS
     libc.include.assert
+    libc.include.complex
     libc.include.ctype
     libc.include.dirent
     libc.include.dlfcn
diff --git a/libc/hdrgen/yaml/complex.yaml b/libc/hdrgen/yaml/complex.yaml
new file mode 100644
index 00000000000000..be0d3c9ae59b47
--- /dev/null
+++ b/libc/hdrgen/yaml/complex.yaml
@@ -0,0 +1,105 @@
+header: complex.h
+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



More information about the libc-commits mailing list