[libc-commits] [libc] 7e88e26 - [libc] Add GPU support for the 'inttypes.h' functions
Joseph Huber via libc-commits
libc-commits at lists.llvm.org
Wed Jul 5 15:47:17 PDT 2023
Author: Joseph Huber
Date: 2023-07-05T17:47:10-05:00
New Revision: 7e88e26d3845a30c2831328f902fd3d597b3ef26
URL: https://github.com/llvm/llvm-project/commit/7e88e26d3845a30c2831328f902fd3d597b3ef26
DIFF: https://github.com/llvm/llvm-project/commit/7e88e26d3845a30c2831328f902fd3d597b3ef26.diff
LOG: [libc] Add GPU support for the 'inttypes.h' functions
Another low hanging fruit we can put on the GPU, this ports the tests
over to the hermetic framework so we can run them on the GPU.
Reviewed By: sivachandra
Differential Revision: https://reviews.llvm.org/D154540
Added:
Modified:
libc/config/gpu/api.td
libc/config/gpu/entrypoints.txt
libc/config/gpu/headers.txt
libc/docs/gpu/support.rst
libc/test/src/inttypes/CMakeLists.txt
Removed:
################################################################################
diff --git a/libc/config/gpu/api.td b/libc/config/gpu/api.td
index 5a6a576a85310e..3b55f7dc905729 100644
--- a/libc/config/gpu/api.td
+++ b/libc/config/gpu/api.td
@@ -30,3 +30,7 @@ def StdIOAPI : PublicAPI<"stdio.h"> {
];
let Types = ["size_t", "FILE"];
}
+
+def IntTypesAPI : PublicAPI<"inttypes.h"> {
+ let Types = ["imaxdiv_t"];
+}
diff --git a/libc/config/gpu/entrypoints.txt b/libc/config/gpu/entrypoints.txt
index c39de4d476f6b8..e3ac3d2db0a87d 100644
--- a/libc/config/gpu/entrypoints.txt
+++ b/libc/config/gpu/entrypoints.txt
@@ -94,6 +94,12 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.stdio.stdout
libc.src.stdio.stderr
+ # inttypes.h entrypoints
+ libc.src.inttypes.imaxabs
+ libc.src.inttypes.imaxdiv
+ libc.src.inttypes.strtoimax
+ libc.src.inttypes.strtoumax
+
# gpu/rpc.h entrypoints
libc.src.gpu.rpc_reset
)
diff --git a/libc/config/gpu/headers.txt b/libc/config/gpu/headers.txt
index cd7585afe3c39e..cd96d30cb4c008 100644
--- a/libc/config/gpu/headers.txt
+++ b/libc/config/gpu/headers.txt
@@ -1,6 +1,7 @@
set(TARGET_PUBLIC_HEADERS
libc.include.ctype
libc.include.string
+ libc.include.inttypes
libc.include.math
libc.include.fenv
libc.include.errno
diff --git a/libc/docs/gpu/support.rst b/libc/docs/gpu/support.rst
index cc3e632f7f8af7..40ab5d5bd83547 100644
--- a/libc/docs/gpu/support.rst
+++ b/libc/docs/gpu/support.rst
@@ -104,6 +104,18 @@ strtoul |check|
strtoull |check|
============= ========= ============
+inttypes.h
+--------
+
+============= ========= ============
+Function Name Available RPC Required
+============= ========= ============
+imaxabs |check|
+imaxdiv |check|
+strtoimax |check|
+strtoumax |check|
+============= ========= ============
+
stdio.h
--------
diff --git a/libc/test/src/inttypes/CMakeLists.txt b/libc/test/src/inttypes/CMakeLists.txt
index cbcd8463747e8c..c7088d3c13e2e8 100644
--- a/libc/test/src/inttypes/CMakeLists.txt
+++ b/libc/test/src/inttypes/CMakeLists.txt
@@ -1,9 +1,9 @@
-add_custom_target(libc_inttypes_unittests)
+add_custom_target(libc_inttypes_tests)
-add_libc_unittest(
+add_libc_test(
strtoimax_test
SUITE
- libc_inttypes_unittests
+ libc_inttypes_tests
SRCS
strtoimax_test.cpp
DEPENDS
@@ -11,10 +11,10 @@ add_libc_unittest(
libc.test.src.stdlib.strtol_test_support
)
-add_libc_unittest(
+add_libc_test(
strtoumax_test
SUITE
- libc_inttypes_unittests
+ libc_inttypes_tests
SRCS
strtoumax_test.cpp
DEPENDS
@@ -22,10 +22,10 @@ add_libc_unittest(
libc.test.src.stdlib.strtol_test_support
)
-add_libc_unittest(
+add_libc_test(
imaxdiv_test
SUITE
- libc_inttypes_unittests
+ libc_inttypes_tests
SRCS
imaxdiv_test.cpp
HDRS
@@ -35,10 +35,10 @@ add_libc_unittest(
libc.src.inttypes.imaxdiv
)
-add_libc_unittest(
+add_libc_test(
imaxabs_test
SUITE
- libc_inttypes_unittests
+ libc_inttypes_tests
SRCS
imaxabs_test.cpp
HDRS
More information about the libc-commits
mailing list