Files
clang-p2996/libc/docs/gpu/support.rst
Joseph Huber b454e7aa7c [libc] Remove GPU string functions incompatible with C++
These functions have definitions differing between C and C++. GNU
respects the C++ definitions while the LLVM libc does not. This causes
many bugs and the current hack creates other issues. Rather than hack
around this I'd rather temporarily disable these than regress with the
integration into other offloading languages. We lose test support for
them but we should be able to re-enable these once the `libc` headers
provide these correctly.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D154850
2023-07-10 10:40:10 -05:00

130 lines
2.9 KiB
ReStructuredText

.. _libc_gpu_support:
===================
Supported Functions
===================
.. include:: ../check.rst
.. contents:: Table of Contents
:depth: 4
:local:
The following functions and headers are supported at least partially on the
device. Some functions are implemented fully on the GPU, while others require a
`remote procedure call <libc_gpu_rpc>`_.
ctype.h
-------
============= ========= ============
Function Name Available RPC Required
============= ========= ============
isalnum |check|
isalpha |check|
isascii |check|
isblank |check|
iscntrl |check|
isdigit |check|
isgraph |check|
islower |check|
isprint |check|
ispunct |check|
isspace |check|
isupper |check|
isxdigit |check|
toascii |check|
tolower |check|
toupper |check|
============= ========= ============
string.h
--------
============= ========= ============
Function Name Available RPC Required
============= ========= ============
bcmp |check|
bzero |check|
memccpy |check|
memchr
memcmp |check|
memcpy |check|
memmove |check|
mempcpy |check|
memrchr |check|
memset |check|
stpcpy |check|
stpncpy |check|
strcat |check|
strchr
strcmp |check|
strcpy |check|
strcspn |check|
strlcat |check|
strlcpy |check|
strlen |check|
strncat |check|
strncmp |check|
strncpy |check|
strnlen |check|
strpbrk
strrchr
strspn |check|
strstr
strtok |check|
strtok_r |check|
strdup
strndup
============= ========= ============
stdlib.h
--------
============= ========= ============
Function Name Available RPC Required
============= ========= ============
abs |check|
atoi |check|
atof |check|
atol |check|
atoll |check|
exit |check| |check|
labs |check|
llabs |check|
div |check|
ldiv |check|
lldiv |check|
strtod |check|
strtof |check|
strtol |check|
strtold |check|
strtoll |check|
strtoul |check|
strtoull |check|
============= ========= ============
inttypes.h
--------
============= ========= ============
Function Name Available RPC Required
============= ========= ============
imaxabs |check|
imaxdiv |check|
strtoimax |check|
strtoumax |check|
============= ========= ============
stdio.h
--------
============= ========= ============
Function Name Available RPC Required
============= ========= ============
puts |check| |check|
fputs |check| |check|
fclose |check| |check|
fopen |check| |check|
============= ========= ============