[libc-commits] [PATCH] D154850: [libc] Remove GPU string functions incompatible with C++
Joseph Huber via Phabricator via libc-commits
libc-commits at lists.llvm.org
Mon Jul 10 08:40:35 PDT 2023
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rGb454e7aa7ceb: [libc] Remove GPU string functions incompatible with C++ (authored by jhuber6).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D154850/new/
https://reviews.llvm.org/D154850
Files:
clang/lib/Headers/llvm_libc_wrappers/string.h
libc/config/gpu/entrypoints.txt
libc/docs/gpu/support.rst
Index: libc/docs/gpu/support.rst
===================================================================
--- libc/docs/gpu/support.rst
+++ libc/docs/gpu/support.rst
@@ -47,7 +47,7 @@
bcmp |check|
bzero |check|
memccpy |check|
-memchr |check|
+memchr
memcmp |check|
memcpy |check|
memmove |check|
@@ -57,7 +57,7 @@
stpcpy |check|
stpncpy |check|
strcat |check|
-strchr |check|
+strchr
strcmp |check|
strcpy |check|
strcspn |check|
@@ -68,10 +68,10 @@
strncmp |check|
strncpy |check|
strnlen |check|
-strpbrk |check|
-strrchr |check|
+strpbrk
+strrchr
strspn |check|
-strstr |check|
+strstr
strtok |check|
strtok_r |check|
strdup
Index: libc/config/gpu/entrypoints.txt
===================================================================
--- libc/config/gpu/entrypoints.txt
+++ libc/config/gpu/entrypoints.txt
@@ -21,7 +21,6 @@
libc.src.string.bcmp
libc.src.string.bzero
libc.src.string.memccpy
- libc.src.string.memchr
libc.src.string.memcmp
libc.src.string.memcpy
libc.src.string.memmem
@@ -32,10 +31,7 @@
libc.src.string.stpcpy
libc.src.string.stpncpy
libc.src.string.strcasecmp
- libc.src.string.strcasestr
libc.src.string.strcat
- libc.src.string.strchr
- libc.src.string.strchrnul
libc.src.string.strcmp
libc.src.string.strcpy
libc.src.string.strcspn
@@ -47,10 +43,7 @@
libc.src.string.strncmp
libc.src.string.strncpy
libc.src.string.strnlen
- libc.src.string.strpbrk
- libc.src.string.strrchr
libc.src.string.strspn
- libc.src.string.strstr
libc.src.string.strtok
libc.src.string.strtok_r
Index: clang/lib/Headers/llvm_libc_wrappers/string.h
===================================================================
--- clang/lib/Headers/llvm_libc_wrappers/string.h
+++ clang/lib/Headers/llvm_libc_wrappers/string.h
@@ -13,22 +13,11 @@
#error "This file is for GPU offloading compilation only"
#endif
-// The GNU headers provide non C-standard headers when in C++ mode. Manually
-// undefine it here so that the definitions agree with the C standard for our
-// purposes.
-#ifdef __cplusplus
-extern "C" {
-#pragma push_macro("__cplusplus")
-#undef __cplusplus
-#endif
-
+// FIXME: The GNU headers provide C++ standard compliant headers when in C++
+// mode and the LLVM libc does not. We cannot enable memchr, strchr, strchrnul,
+// strpbrk, strrchr, strstr, or strcasestr until this is addressed.
#include_next <string.h>
-#pragma pop_macro("__cplusplus")
-#ifdef __cplusplus
-}
-#endif
-
#if __has_include(<llvm-libc-decls/string.h>)
#if defined(__HIP__) || defined(__CUDA__)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D154850.538667.patch
Type: text/x-patch
Size: 2840 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20230710/5cfc5dc8/attachment-0001.bin>
More information about the libc-commits
mailing list