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
130 lines
2.9 KiB
ReStructuredText
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|
|
|
============= ========= ============
|