[OpenMP] Initial support for std::complex in target regions
authorJohannes Doerfert <johannes@jdoerfert.de>
Sun, 12 Apr 2020 07:10:28 +0000 (02:10 -0500)
committerJohannes Doerfert <johannes@jdoerfert.de>
Wed, 8 Jul 2020 22:33:59 +0000 (17:33 -0500)
commitd999cbc98832154e15e786b98281211d5c1b9f5d
treea9019259971d2d89e81c85b10637c4925a1ba5be
parent9726dc4d072376f71c40024804e3bf1193ba5dd8
[OpenMP] Initial support for std::complex in target regions

This simply follows the scheme we have for other wrappers. It resolves
the current link problem, e.g., `__muldc3 not found`, when std::complex
operations are used on a device.

This will not allow complex make math function calls to work properly,
e.g., sin, but that is more complex (pan intended) anyway.

Reviewed By: tra, JonChesterfield

Differential Revision: https://reviews.llvm.org/D80897
clang/lib/Headers/CMakeLists.txt
clang/lib/Headers/__clang_cuda_complex_builtins.h
clang/lib/Headers/__clang_cuda_math.h
clang/lib/Headers/openmp_wrappers/complex [new file with mode: 0644]
clang/lib/Headers/openmp_wrappers/complex.h [new file with mode: 0644]
clang/test/Headers/Inputs/include/cmath
clang/test/Headers/Inputs/include/complex [new file with mode: 0644]
clang/test/Headers/Inputs/include/cstdlib
clang/test/Headers/nvptx_device_math_complex.c
clang/test/Headers/nvptx_device_math_complex.cpp [new file with mode: 0644]