summaryrefslogtreecommitdiff
path: root/libc/config
diff options
context:
space:
mode:
authorMichael Jones <michaelrj@google.com>2023-03-13 15:30:36 -0700
committerMichael Jones <michaelrj@google.com>2023-03-20 16:36:21 -0700
commit46b5087227246c9f89569af3a96126d85c87bbc4 (patch)
treec69b8cd2ef24092c8855da34c0953d8ce5df6a98 /libc/config
parentc600b99e5ee6e63a062342fe0b9c00e4b4d8ece4 (diff)
downloadllvm-46b5087227246c9f89569af3a96126d85c87bbc4.tar.gz
[libc] add basic wide char functions
This patch adds the wchar header, as well as the functions to convert to and from wide chars. The header also sets up the definitions for wint and wchar. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D145995
Diffstat (limited to 'libc/config')
-rw-r--r--libc/config/linux/api.td8
-rw-r--r--libc/config/linux/x86_64/entrypoints.txt3
-rw-r--r--libc/config/linux/x86_64/headers.txt1
3 files changed, 12 insertions, 0 deletions
diff --git a/libc/config/linux/api.td b/libc/config/linux/api.td
index 253546fe83e0..10b4abfee7a4 100644
--- a/libc/config/linux/api.td
+++ b/libc/config/linux/api.td
@@ -178,6 +178,14 @@ def UniStdAPI : PublicAPI<"unistd.h"> {
"ssize_t", "uid_t", "__getoptargv_t"];
}
+def WCharAPI : PublicAPI<"wchar.h"> {
+ let Types = [
+ "wchar_t",
+ "wint_t",
+ "size_t",
+ ];
+}
+
def SysRandomAPI : PublicAPI<"sys/random.h"> {
let Types = ["size_t", "ssize_t"];
}
diff --git a/libc/config/linux/x86_64/entrypoints.txt b/libc/config/linux/x86_64/entrypoints.txt
index 5899c1d00c86..39b7e8c84eff 100644
--- a/libc/config/linux/x86_64/entrypoints.txt
+++ b/libc/config/linux/x86_64/entrypoints.txt
@@ -193,6 +193,9 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.unistd.unlink
libc.src.unistd.unlinkat
libc.src.unistd.write
+
+ # wchar.h entrypoints
+ libc.src.wchar.wctob
)
set(TARGET_LIBM_ENTRYPOINTS
diff --git a/libc/config/linux/x86_64/headers.txt b/libc/config/linux/x86_64/headers.txt
index e285105b1224..aaa75a9dd08c 100644
--- a/libc/config/linux/x86_64/headers.txt
+++ b/libc/config/linux/x86_64/headers.txt
@@ -20,6 +20,7 @@ set(TARGET_PUBLIC_HEADERS
libc.include.threads
libc.include.time
libc.include.unistd
+ libc.include.wchar
libc.include.arpa_inet