xref: /openbsd-src/gnu/llvm/clang/lib/Headers/openmp_wrappers/complex.h (revision 12c855180aad702bbcca06e0398d774beeafb155)
1ec727ea7Spatrick /*===-- complex --- OpenMP complex wrapper for target regions --------- c++ -===
2ec727ea7Spatrick  *
3ec727ea7Spatrick  * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4ec727ea7Spatrick  * See https://llvm.org/LICENSE.txt for license information.
5ec727ea7Spatrick  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6ec727ea7Spatrick  *
7ec727ea7Spatrick  *===-----------------------------------------------------------------------===
8ec727ea7Spatrick  */
9ec727ea7Spatrick 
10ec727ea7Spatrick #ifndef __CLANG_OPENMP_COMPLEX_H__
11ec727ea7Spatrick #define __CLANG_OPENMP_COMPLEX_H__
12ec727ea7Spatrick 
13ec727ea7Spatrick #ifndef _OPENMP
14ec727ea7Spatrick #error "This file is for OpenMP compilation only."
15ec727ea7Spatrick #endif
16ec727ea7Spatrick 
17ec727ea7Spatrick // We require math functions in the complex builtins below.
18ec727ea7Spatrick #include <math.h>
19ec727ea7Spatrick 
20*12c85518Srobert #ifdef __NVPTX__
21ec727ea7Spatrick #define __OPENMP_NVPTX__
22ec727ea7Spatrick #include <__clang_cuda_complex_builtins.h>
23ec727ea7Spatrick #undef __OPENMP_NVPTX__
24ec727ea7Spatrick #endif
25ec727ea7Spatrick 
26*12c85518Srobert #ifdef __AMDGCN__
27*12c85518Srobert #define __OPENMP_AMDGCN__
28*12c85518Srobert #include <__clang_cuda_complex_builtins.h>
29*12c85518Srobert #undef __OPENMP_AMDGCN__
30*12c85518Srobert #endif
31*12c85518Srobert 
32*12c85518Srobert #endif
33*12c85518Srobert 
34ec727ea7Spatrick // Grab the host header too.
35ec727ea7Spatrick #include_next <complex.h>
36