This patch enables us to use the existing `libc` support for string conversion functions on the GPU. This required setting the `fenv_t` and long double configuration. As far as I am aware, long doubles are converted to doubles on the GPU and the floating point environment is just an `uint32_t`. This code is still untested as we are still working out how to run the unit tests on the GPU. Reviewed By: michaelrj Differential Revision: https://reviews.llvm.org/D149306
19 lines
291 B
TableGen
19 lines
291 B
TableGen
include "config/public_api.td"
|
|
|
|
include "spec/stdc.td"
|
|
|
|
def StringAPI : PublicAPI<"string.h"> {
|
|
let Types = ["size_t"];
|
|
}
|
|
|
|
def StdlibAPI : PublicAPI<"stdlib.h"> {
|
|
let Types = [
|
|
"size_t",
|
|
"__atexithandler_t",
|
|
];
|
|
}
|
|
|
|
def FenvAPI: PublicAPI<"fenv.h"> {
|
|
let Types = ["fenv_t"];
|
|
}
|